configure.ac
来自「Ubuntu packages of security software。 相」· AC 代码 · 共 340 行
AC
340 行
# Require autoconf 2.13 -*- mode: fundamental; -*-# Because nsock is usually distributed with Nmap, the necessary files# config.guess, config.guess, and install-sh are not distributed with# nbase. Rather they are gotten from Nmap.AC_PREREQ(2.13)dnl Process this file with autoconf to produce a configure script.AC_INIT(nsock_core.c)dnl use nsock_config.h instad of -D macrosAC_CONFIG_HEADER(nsock_config.h)dnl Host specific hacksAC_CANONICAL_HOSTlinux=nomacosx=noneeds_cpp_precomp=nocase "$host" in *alpha-dec-osf*) AC_DEFINE(DEC) ;; *-netbsd* | *-knetbsd*-gnu) AC_DEFINE(NETBSD) ;; *-openbsd*) AC_DEFINE(OPENBSD) ;; *-sgi-irix5*) AC_DEFINE(IRIX) ;; *-sgi-irix6*) AC_DEFINE(IRIX) ;; *-hpux*) AC_DEFINE(HPUX) ;; *-solaris2.0*) AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) AC_DEFINE(SOLARIS) ;; *-solaris2.[[1-9]][[0-9]]*) AC_DEFINE(SOLARIS) ;; *-solaris2.1*) AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) AC_DEFINE(SOLARIS) ;; *-solaris2.2*) AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) AC_DEFINE(SOLARIS) ;; *-solaris2.3*) AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) AC_DEFINE(SOLARIS) ;; *-solaris2.4*) AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) AC_DEFINE(SOLARIS) ;; *-solaris2.5.1) AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) AC_DEFINE(SOLARIS) ;; *-solaris*) AC_DEFINE(SOLARIS) ;; *-sunos4*) AC_DEFINE(SUNOS) AC_DEFINE(SPRINTF_RETURNS_STRING) ;; *-linux*) linux=yes AC_DEFINE(LINUX) AC_DEFINE(PCAP_TIMEOUT_IGNORED) # libpcap doesn't even LOOK at # the timeout you give it under Linux ;; *-freebsd* | *-kfreebsd*-gnu | *-dragonfly*) AC_DEFINE(FREEBSD) ;; *-bsdi*) AC_DEFINE(BSDI) ;; *-apple-darwin*) macosx=yes AC_DEFINE(MACOSX) ;;esacAC_ARG_WITH(localdirs, [ --with-localdirs Explicitly ask compiler to use /usr/local/{include,libs} if they exist ], [ case "$with_localdirs" in yes) user_localdirs=1 ;; no) user_localdirs=0 ;; esac ], [ user_localdirs=0 ] )if test "$user_localdirs" = 1; then if test -d /usr/local/lib; then LDFLAGS="$LDFLAGS -L/usr/local/lib" fi if test -d /usr/local/include; then CFLAGS="$CFLAGS -I/usr/local/include" fifidnl Checks for programs.AC_PROG_CC if test -n "$GCC"; then CFLAGS="$CFLAGS -Wall " fiAC_PROG_RANLIBdnl AC_PROG_INSTALLdnl AC_PATH_PROG(MAKEDEPEND, makedepend)AC_SUBST(COMPAT_OBJS)AC_SUBST(COMPAT_SRCS)dnl Checks for libraries.dnl AC_CHECK_LIB(m, pow)dnl If any socket libraries neededAC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent))AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))dnl need posix4/nanosleep for solaris 2.4AC_CHECK_FUNC(nanosleep, , AC_CHECK_LIB(posix4, nanosleep))dnl Checks for header files.AC_HEADER_STDCdnl Checks for typedefs, structures, and compiler characteristics.AC_ARG_WITH(libnbase,[ --with-libnbase=DIR Look for nbase include/libs in DIR],[ case "$with_libnbase" in yes) ;; *) NBASEDIR="$with_libnbase" ;; esac],NBASEDIR="../../nbase")LDFLAGS="$LDFLAGS -L$NBASEDIR"CFLAGS="$CFLAGS -I$NBASEDIR"LIBNBASE_LIBS="$LIBS -lnbase"AC_SUBST(LIBNBASE_LIBS)AC_SUBST(NBASEDIR)# First we test whether they specified openssl desires explicitlyuse_openssl="yes"specialssldir=""AC_ARG_WITH(openssl,[ --with-openssl=DIR Use optional openssl libs and includes from [DIR]/lib/ and [DIR]/include/openssl/)],[ case "$with_openssl" in yes) ;; no) use_openssl="no" ;; *) specialssldir="$with_openssl" CFLAGS="-I$with_openssl/include $CFLAGS" ;; esac])# If they didn't specify it, we try to find itif test "$use_openssl" = "yes" -a -z "$specialssldir"; then AC_CHECK_HEADER(openssl/ssl.h,, [ use_openssl="no" AC_MSG_WARN([Failed to find openssl/ssl.h so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument]) ]) if test "$use_openssl" = "yes"; then AC_CHECK_HEADER(openssl/err.h,, [ use_openssl="no" AC_MSG_WARN([Failed to find openssl/err.h so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument]) ]) fi if test "$use_openssl" = "yes"; then AC_CHECK_HEADER(openssl/rand.h,, [ use_openssl="no" AC_MSG_WARN([Failed to find openssl/rand.h so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument]) ]) fi if test "$use_openssl" = "yes"; then AC_CHECK_LIB(crypto, BIO_int_ctrl, [], [ use_openssl="no" AC_MSG_WARN([Failed to find libcrypto so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument]) ]) fi if test "$use_openssl" = "yes"; then AC_CHECK_LIB(ssl, SSL_new, [], [ use_openssl="no" AC_MSG_WARN([Failed to find libssl so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument]) ]) fifiif test "$use_openssl" = "yes"; then AC_DEFINE(HAVE_OPENSSL)fiAC_MSG_CHECKING([struct ip])AC_TRY_COMPILE([#include <sys/types.h>#include <netinet/in.h>#include <netinet/in_systm.h>#include <netinet/ip.h>], [struct ip ip;], [AC_MSG_RESULT(yes); bsd_networking=yes], [AC_MSG_RESULT(no); bsd_networking=no]);if test $bsd_networking = yes; then AC_DEFINE(BSD_NETWORKING) AC_MSG_CHECKING([ip_v in struct ip]) AC_TRY_COMPILE([#include <sys/types.h>#include <netinet/in.h>#include <netinet/in_systm.h>#include <netinet/ip.h>], [struct ip ip; ip.ip_v;], [AC_MSG_RESULT(yes); has_bitfields=yes], [AC_MSG_RESULT(no); has_bitfields=no]) if test $has_bitfields = no; then SAVE_CFLAGS="$CFLAGS" CFLAGS="-D__STDC__=2" AC_MSG_CHECKING([if setting __STDC__=2 gives ip_v]) AC_TRY_COMPILE([#include <sys/types.h>#include <netinet/in.h>#include <netinet/in_systm.h>#include <netinet/ip.h>], [struct ip ip; ip.ip_v;], [AC_MSG_RESULT(yes); setting_stdc_helps=yes], [AC_MSG_RESULT(no); setting_stdc_helps=no]) CFLAGS="$SAVE_CFLAGS" if test $setting_stdc_helps = yes; then CFLAGS="$CFLAGS -D__STDC__=2" else AC_MSG_RESULT(Can't figure out how to get bitfields - configure failed) exit 1 fi fifiAC_SUBST(CFLAGS)dnl This test is from the configure.in of Unix Network Programming seconddnl edition example code by W. Richard Stevensdnl ##################################################################dnl Check if sockaddr{} has sa_len member.dnlAC_CACHE_CHECK(if sockaddr{} has sa_len member, ac_cv_sockaddr_has_sa_len, AC_TRY_COMPILE([# include <sys/types.h># include <sys/socket.h>], [unsigned int i = sizeof(((struct sockaddr *)0)->sa_len)], ac_cv_sockaddr_has_sa_len=yes, ac_cv_sockaddr_has_sa_len=no))if test $ac_cv_sockaddr_has_sa_len = yes ; then AC_DEFINE(HAVE_SOCKADDR_SA_LEN)fiAC_CACHE_CHECK(if struct icmp exists, ac_cv_struct_icmp_exists, AC_TRY_COMPILE([# include <sys/types.h># include <sys/param.h># include <netinet/in_systm.h># include <netinet/in.h> # define __USE_BSD# define __FAVOR_BSD# define _BSD_SOURCE# include <netinet/ip.h># include <netinet/ip_icmp.h>], [unsigned int i = sizeof(struct icmp)], ac_cv_struct_icmp_exists=yes, ac_cv_struct_icmp_exists=no))if test $ac_cv_struct_icmp_exists = yes ; then AC_DEFINE(HAVE_STRUCT_ICMP)fiAC_CACHE_CHECK(if struct ip exists, ac_cv_struct_ip_exists, AC_TRY_COMPILE([# include <sys/types.h># include <sys/param.h># include <netinet/in_systm.h># include <netinet/in.h> # define __USE_BSD# define __FAVOR_BSD# define _BSD_SOURCE# include <netinet/ip.h>], [unsigned int i = sizeof(struct ip)], ac_cv_struct_ip_exists=yes, ac_cv_struct_ip_exists=no))if test $ac_cv_struct_ip_exists = yes ; then AC_DEFINE(HAVE_STRUCT_IP)fiAC_CACHE_CHECK(if struct ip has ip_sum member, ac_cv_ip_has_ip_sum, AC_TRY_COMPILE([# include <sys/types.h># include <sys/param.h># include <netinet/in_systm.h># include <netinet/in.h># define __USE_BSD# define __FAVOR_BSD# define _BSD_SOURCE# include <netinet/ip.h># include <netinet/ip_icmp.h>], [unsigned int i = sizeof(((struct ip *)0)->ip_sum)], ac_cv_ip_has_ip_sum=yes, ac_cv_ip_has_ip_sum=no))if test $ac_cv_ip_has_ip_sum = yes ; then AC_DEFINE(HAVE_IP_IP_SUM)fiAC_OUTPUT(Makefile)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?