Initial revision
[kopensolaris-gnu/glibc.git] / sysdeps / unix / configure.in
1 # configure fragment for Unix-based systems.
2 # This file is sourced by the top-level configure script.  Note that we use
3 # the prefix `unix_' on all shell variables here, to avoid conflicting with
4 # any variables the top-level script might be using.
5
6 sysincludedir=/usr/include # XXX
7
8 # Find the <syscall.h> file we will be using, or something like it.
9 unix_syscall_h=
10 for unix_dir in $sysnames; do
11   if [ -r $sysdep_dir/$unix_dir/syscall.h ]; then
12     unix_syscall_h=$sysdep_dir/$unix_dir/syscall.h
13     break
14   fi
15 done
16 # XXX This list of possibilities duplicates the list in Makefile.
17 test -z "$unix_syscall_h" && for try in syscall.h sys/syscall.h \
18                                         sys.s sys/sys.s sys.S sys/sys.S; do
19   if [ -r $sysincludedir/$try ]; then
20     unix_syscall_h=$sysincludedir/$try
21     break
22   fi
23 done
24
25 test -n "$unix_syscall_h" && {
26
27 # These several functions are system calls on Unix systems which have them.
28 # The details of these calls are universal enough that if a system's
29 # <syscall.h> defines the system call number, we know that the simple
30 # system call implementations in unix/common will be sufficient.
31
32 for unix_function in dup2 lstat mkdir rmdir readlink getpgrp access; do
33
34   unix_implementor=none
35   for unix_dir in $sysnames; do
36     if [ -r $sysdep_dir/$unix_dir/__${unix_function}.c -o \
37          -r $sysdep_dir/$unix_dir/__${unix_function}.S ]; then
38       unix_implementor=$unix_dir
39       break
40     fi
41   done
42
43   case $unix_implementor in
44   none|stub|generic|posix)
45     # The chosen implementation of ${unix_function} is a boring one.
46     # We want to use the unix/common implementation instead iff
47     # ${unix_function} appears in <syscall.h>.
48     echo checking for ${unix_function} system call
49     if grep "[  _]${unix_function}[     ]" $unix_syscall_h >/dev/null; then
50       # It does seem to be present in <syscall.h>.
51       echo "#include <sysdeps/unix/common/__${unix_function}.S>" \
52       > __${unix_function}.S
53       test -n "$verbose" && echo "      found ${unix_function}"
54     fi
55   ;;
56   *) ;;
57   esac
58
59 done
60
61 }