AC_INIT(strace.c) AC_CANONICAL_SYSTEM() AC_MSG_CHECKING(for supported operating system) case "$host_os" in linux*) opsys=linux ;; sunos4*) opsys=sunos4 ;; solaris2*) opsys=svr4 ;; sysv4*) opsys=svr4 ;; sysv5*) opsys=svr4 ;; irix[[56]]*) opsys=svr4 ;; freebsd*) opsys=freebsd ;; *) AC_MSG_ERROR(this operating system is not yet supported by strace) ;; esac AC_MSG_RESULT($opsys) # Autoheader trick. Heh, heh. opsys_list=' @@@syms="$syms LINUX SUNOS4 SVR4 FREEBSD"@@@ ' AC_MSG_CHECKING(for supported architecture) case "$target_cpu" in i[[3456]]86|pentium) arch=i386 ;; ia64) arch=ia64 ;; m68k) arch=m68k ;; sparc*) arch=sparc ;; mips*) arch=mips ;; alpha*) arch=alpha ;; ppc|powerpc) arch=powerpc ;; arm) arch=arm ;; s390) arch=s390 ;; s390x) arch=s390x ;; hppa*|parisc*) arch=hppa ;; sh) arch=sh ;; x86?64*) arch=x86_64 ;; *) AC_MSG_ERROR(this architecture is not yet supported by strace) ;; esac AC_MSG_RESULT($arch) # Autoheader trick. Heh, heh. arch_list=' @@@syms="$syms I386 IA64 M68K SPARC MIPS ALPHA ARM POWERPC S390 S390X HPPA SH X86_64"@@@ ' osarch="$opsys" if test -d "$srcdir/$opsys/$arch"; then osarch="$opsys/$arch" fi OPSYS=`echo $opsys | tr '[[a-z]]' '[[A-Z]]'` ARCH=`echo $arch | tr '[[a-z]]' '[[A-Z]]'` CFLAGS="-D_GNU_SOURCE $CFLAGS" AC_CONFIG_HEADER(config.h) AC_SUBST(opsys) AC_DEFINE_UNQUOTED($OPSYS) case "$host_os" in sysv4.2uw*) AC_DEFINE(UNIXWARE, 2) ;; sysv5*) AC_DEFINE(UNIXWARE, 7) ;; esac AC_SUBST(arch) AC_DEFINE_UNQUOTED($ARCH) AC_SUBST(osarch) AC_PROG_CC AC_PROG_HOSTCC($host_alias $host) AC_MP_PROCFS AC_POLLABLE_PROCFS AC_STRUCT_PR_SYSCALL AC_STRUCT_MSG_CONTROL AC_INCLUDEDIR if test "x$OPSYS" = "xSUNOS4" && test "x$ARCH" = "xSPARC" then AC_MSG_CHECKING(for valid machine include directory) if test -d "$includedir/sun4" then rm -f machine ln -s $includedir/sun4 machine AC_MSG_RESULT(yes) AC_DEFINE(SUNOS4_KERNEL_ARCH_KLUDGE) else AC_MSG_RESULT(no) fi fi AC_WARNFLAGS if test "x$OPSYS" = "xSUNOS4" then if test -n "$GCC" then # SunOS 4.x header files don't declare int functions. WARNFLAGS="$WARNFLAGS -Wno-implicit" fi fi AC_PROG_CPP AC_PROG_GCC_TRADITIONAL AC_PROG_INSTALL AC_C_CONST AC_HEADER_STDC AC_HEADER_DIRENT AC_TYPE_SIGNAL AC_STRUCT_ST_BLKSIZE AC_STRUCT_ST_BLOCKS AC_STRUCT_ST_RDEV AC_HEADER_STAT AC_TYPE_UID_T AC_TYPE_MODE_T AC_TYPE_GETGROUPS AC_HEADER_MAJOR AC_SIG_ATOMIC_T AC_SIGINFO_T AC_STAT64 AC_SIN6_SCOPE_ID AC_LONG_LONG AC_LITTLE_ENDIAN_LONG_LONG AC_OFF_T_IS_LONG_LONG AC_RLIM_T_IS_LONG_LONG AC_ST_FLAGS AC_ST_ACLCNT AC_ST_LEVEL AC_ST_FSTYPE AC_ST_GEN AC_STRUCT_OPTHDR AC_STRUCT_T_OPTHDR if test x$OPSYS != xLINUX; then AC_CHECK_LIB(nsl, main) fi AC_CHECK_FUNCS(sigaction strerror strsignal pread sys_siglist _sys_siglist getdents mctl putpmsg prctl sendmsg inet_ntop if_indextoname) 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) AC_DECL_SYS_ERRLIST AC_DECL_SYS_SIGLIST AC_DECL__SYS_SIGLIST if test ! -d $osarch; then mkdir -p $osarch fi AC_OUTPUT(Makefile $osarch/Makefile)