]> granicus.if.org Git - strace/blob - configure.in
Fix typo, add (unimplemented in kernel) stream syscalls
[strace] / configure.in
1 AC_INIT(strace.c)
2 AC_CANONICAL_SYSTEM()
3 AC_MSG_CHECKING(for supported operating system)
4 changequote(,)dnl
5
6 case "$host_os" in
7 linux*)
8         opsys=linux
9         ;;
10 sunos4*)
11         opsys=sunos4
12         ;;
13 solaris2*)
14         opsys=svr4
15         ;;
16 sysv4*)
17         opsys=svr4
18         ;;
19 sysv5*)
20         opsys=svr4
21         ;;
22 irix[56]*)
23         opsys=svr4
24         ;;
25 freebsd*)
26         opsys=freebsd
27         ;;
28 *)
29         AC_MSG_ERROR(this operating system is not yet supported by strace)
30         ;;
31 esac
32 AC_MSG_RESULT($opsys)
33
34 # Autoheader trick.  Heh, heh.
35 opsys_list='
36 @@@syms="$syms LINUX SUNOS4 SVR4 FREEBSD"@@@
37 '
38
39 AC_MSG_CHECKING(for supported architecture)
40 case "$target_cpu" in
41 i[3456]86|pentium)
42         arch=i386
43         ;;
44 ia64)
45         arch=ia64
46         ;;
47 m68k)
48         arch=m68k
49         ;;
50 sparc*)
51         arch=sparc
52         ;;
53 mips*)
54         arch=mips
55         ;;
56 alpha*)
57         arch=alpha
58         ;;
59 ppc|powerpc)
60         arch=powerpc
61         ;;
62 arm)
63         arch=arm
64         ;;
65 s390)
66         arch=s390
67         ;;
68 hppa*|parisc*)
69         arch=hppa
70         ;;
71 *)
72         AC_MSG_ERROR(this architecture is not yet supported by strace)
73         ;;
74 esac
75 AC_MSG_RESULT($arch)
76
77 # Autoheader trick.  Heh, heh.
78 arch_list='
79 @@@syms="$syms I386 IA64 M68K SPARC MIPS ALPHA ARM POWERPC S390 HPPA"@@@
80 '
81
82 osarch="$opsys"
83 if [ -d "$srcdir/$opsys/$arch" ]; then
84         osarch="$opsys/$arch"
85 fi
86
87 OPSYS=`echo $opsys | tr '[a-z]' '[A-Z]'`
88 ARCH=`echo $arch | tr '[a-z]' '[A-Z]'`
89
90 changequote([,])dnl
91 CFLAGS="-D_GNU_SOURCE $CFLAGS"
92 AC_CONFIG_HEADER(config.h)
93 AC_SUBST(opsys)
94 AC_DEFINE_UNQUOTED($OPSYS)
95 case "$host_os" in
96 sysv4.2uw*)
97         AC_DEFINE(UNIXWARE, 2)
98         ;;
99 sysv5*)
100         AC_DEFINE(UNIXWARE, 7)
101         ;;
102 esac
103 AC_SUBST(arch)
104 AC_DEFINE_UNQUOTED($ARCH)
105 AC_SUBST(osarch)
106 AC_PROG_CC
107 AC_PROG_HOSTCC($host_alias $host)
108 AC_MP_PROCFS
109 AC_POLLABLE_PROCFS
110 AC_STRUCT_PR_SYSCALL
111 AC_STRUCT_MSG_CONTROL
112 AC_INCLUDEDIR
113 if test "x$OPSYS" = "xSUNOS4" && test "x$ARCH" = "xSPARC"
114 then
115         AC_MSG_CHECKING(for valid machine include directory)
116         if test -d "$includedir/sun4"
117         then
118                 rm -f machine
119                 ln -s $includedir/sun4 machine
120                 AC_MSG_RESULT(yes)
121                 AC_DEFINE(SUNOS4_KERNEL_ARCH_KLUDGE)
122         else
123                 AC_MSG_RESULT(no)
124         fi
125 fi
126 AC_WARNFLAGS
127 if test "x$OPSYS" = "xSUNOS4"
128 then
129         if test -n "$GCC"
130         then
131                 # SunOS 4.x header files don't declare int functions.
132                 WARNFLAGS="$WARNFLAGS -Wno-implicit"
133         fi
134 fi
135 AC_PROG_CPP
136 AC_PROG_GCC_TRADITIONAL
137 AC_PROG_INSTALL
138 AC_C_CONST
139 AC_HEADER_STDC
140 AC_HEADER_DIRENT
141 AC_TYPE_SIGNAL
142 AC_STRUCT_ST_BLKSIZE
143 AC_STRUCT_ST_BLOCKS
144 AC_STRUCT_ST_RDEV
145 AC_HEADER_STAT
146 AC_TYPE_UID_T
147 AC_TYPE_MODE_T
148 AC_TYPE_GETGROUPS
149 AC_HEADER_MAJOR
150 AC_SIG_ATOMIC_T
151 AC_SIGINFO_T
152 AC_STAT64
153 AC_SIN6_SCOPE_ID
154 AC_LONG_LONG
155 AC_LITTLE_ENDIAN_LONG_LONG
156 AC_OFF_T_IS_LONG_LONG
157 AC_RLIM_T_IS_LONG_LONG
158 AC_ST_FLAGS
159 AC_ST_ACLCNT
160 AC_ST_LEVEL
161 AC_ST_FSTYPE
162 AC_ST_GEN
163 if test x$OPSYS != xLINUX; then
164 AC_CHECK_LIB(nsl, main)
165 fi
166 AC_CHECK_FUNCS(sigaction strerror strsignal pread sys_siglist _sys_siglist getdents mctl putpmsg prctl sendmsg inet_ntop if_indextoname)
167 AC_CHECK_HEADERS(sys/reg.h sys/filio.h sys/acl.h sys/asynch.h sys/door.h stropts.h sys/conf.h sys/stream.h sys/tihdr.h sys/tiuser.h sys/sysconfig.h asm/sigcontext.h ioctls.h sys/ioctl.h sys/ptrace.h termio.h linux/ptrace.h asm/reg.h linux/icmp.h linux/in6.h sys/uio.h sys/aio.h linux/netlink.h linux/if_packet.h poll.h sys/poll.h sys/vfs.h netinet/tcp.h netinet/udp.h asm/sysmips.h linux/utsname.h sys/nscsys.h)
168 AC_DECL_SYS_ERRLIST
169 AC_DECL_SYS_SIGLIST
170 AC_DECL__SYS_SIGLIST
171 if test ! -d $osarch; then
172         mkdir -p $osarch
173 fi
174 AC_OUTPUT(Makefile $osarch/Makefile)