📄 configure.in
字号:
# $Id: configure.in,v 1.31 2001/01/30 20:53:58 jpickel Exp $ AC_INIT(snort.c)AM_CONFIG_HEADER(config.h)AM_INIT_AUTOMAKE(snort,1.7)AM_PROG_CC_STDCAC_PROG_CC if test -n "$GCC"; then CFLAGS="$CFLAGS -Wall " fiAC_CANONICAL_HOSTlinux=nosunos4=noAC_C_BIGENDIANcase "$host" in *-openbsd*) AC_DEFINE(OPENBSD) ;; *-sgi-irix5*) AC_DEFINE(IRIX) no_libsocket=yes no_libnsl=yes if test -z "$GCC"; then sgi_cc=yes fi LDFLAGS=${LDFLAGS} -L/usr/local/lib extra_incl=-I/usr/local/include ;; *-sgi-irix6*) AC_DEFINE(IRIX) no_libsocket=yes no_libnsl=yes if test -z "$GCC"; then sgi_cc=yes fi LDFLAGS=${LDFLAGS} -L/usr/local/lib extra_incl=-I/usr/local/include ;; *-solaris*) AC_DEFINE(SOLARIS) CPPFLAGS="${CPPFLAGS} -DBSD_COMP" ;; *-sunos*) AC_DEFINE(SUNOS) sunos4=yes ;; *-linux*) linux=yes AC_DEFINE(LINUX) AC_DEFINE(PCAP_TIMEOUT_IGNORED) # libpcap doesn't even LOOK at # the timeout you give it under Linux AC_SUBST(extra_incl) extra_incl=-I/usr/include/pcap ;; *-hpux10*) AC_DEFINE(HPUX) AC_DEFINE(WORDS_BIGENDIAN) AC_SUBST(extra_incl) extra_incl=-I/usr/local/include ;; *-freebsd*) AC_DEFINE(FREEBSD) ;; *-bsdi*) AC_DEFINE(BSDI) ;; *-aix*) AC_DEFINE(AIX) broken_types=yes ;; *-osf4*) AC_DEFINE(OSF1) tru64_types=yes ;; *-osf5.1*) AC_DEFINE(OSF1) ;; *-tru64*) AC_DEFINE(OSF1) tru64_types=yes ;;esac# any sparc platform has to have this one defined. if test "$host_cpu" = "sparc"; then AC_DEFINE(WORDS_MUSTALIGN)fidnl checking headersAC_CHECK_HEADERS(strings.h)AC_CHECK_HEADERS(string.h)AC_CHECK_HEADERS(stdlib.h)AC_CHECK_HEADERS(unistd.h)AC_CHECK_HEADERS(sys/sockio.h)AC_CHECK_HEADERS(paths.h)dnl make sure we've got all our librariesif test -z "$no_libnsl"; thenAC_CHECK_LIB(nsl, inet_ntoa)fiif test -z "$no_libsocket"; thenAC_CHECK_LIB(socket, socket)fi# SunOS4 has several things `broken'if test "$sunos4" != "no"; thenAC_CHECK_FUNCS(vsnprintf,, LIBS=" $LIBS -ldb")AC_CHECK_FUNCS(strtoul,, LIBS=" $LIBS -l44bsd")fi# some funky macro to be backwards compatible with earlier autoconfs# in current they have AC_CHECK_DECLSAC_DEFUN(SN_CHECK_DECL,[AC_MSG_CHECKING([whether $1 must be declared])AC_CACHE_VAL(sn_cv_decl_needed_$1,[AC_TRY_COMPILE([#include <stdio.h>#ifdef HAVE_STRING_H#include <string.h>#endif#ifdef HAVE_STRINGS_H#include <strings.h>#endif#ifdef HAVE_STDLIB_H#include <stdlib.h>#endif#ifdef HAVE_UNISTD_H#include <unistd.h>#endif#include <sys/types.h>#include <sys/socket.h>#include <syslog.h>],[char *(*pfn) = (char *(*)) $1], eval "sn_cv_decl_needed_$1=no",eval "sn_cv_decl_needed_$1=yes") ])if eval "test \"`echo '$sn_cv_decl_needed_'$1`\" != no"; then AC_MSG_RESULT(yes) ifelse([$2], , :, [$2])else AC_MSG_RESULT(no) ifelse([$3], , ,[$3])fi])dnlAC_DEFUN(SN_CHECK_DECLS,[for sn_decl in $1dosn_def_decl=`echo $sn_decl | tr [a-z] [A-Z]`SN_CHECK_DECL($sn_decl,[AC_DEFINE_UNQUOTED(NEED_DECL_$sn_def_decl, 1, [you have this cuz autoheader is dumb])$2], $3)dnldone])# some stuff for declarations which were missed on sunos4 platform too.## add `#undef NEED_DECL_FUNCTIONAME to acconfig.h` because autoheader# fails to work properly with custom macroses.# you will see also #undef for each SN_CHECK_DECLS macros invocation# because autoheader doesn't execute shell script commands.# it is possible to make loops using m4 but the code would look even# more confusing.. SN_CHECK_DECLS(printf fprintf syslog puts fputs fputc fopen \ fclose fwrite fflush getopt bzero bcopy memset strtol \ strcasecmp strncasecmp strerror perror socket sendto \ vsnprintf strtoul)AC_CHECK_FUNCS(snprintf)AC_CHECK_FUNCS(strerror)AC_TRY_COMPILE([#include <stdio.h>],[char *foo; foo = sys_errlist[0];], AC_DEFINE(ERRLIST_PREDEFINED))AC_ARG_WITH(libpcap_includes, [ --with-libpcap-includes=DIR libcap include directory], [with_libpcap_includes="$withval"],[with_libpcap_includes=no])AC_ARG_WITH(libpcap_libraries, [ --with-libpcap-libraries=DIR libcap library directory], [with_libpcap_libraries="$withval"],[with_libpcap_libraries=no])if test "$with_libpcap_includes" != "no"; then CPPFLAGS="${CPPFLAGS} -I${with_libpcap_includes}"fiif test "$with_libpcap_libraries" != "no"; then LDFLAGS="${LDFLAGS} -L${with_libpcap_libraries}"fiAC_CHECK_LIB(m, floor,,)LPCAP=""AC_CHECK_LIB(pcap, pcap_datalink,, LPCAP="no")if test "$LPCAP" = "no"; then echo echo " ERROR! Libpcap library/headers not found, go get it from" echo " ftp://ftp.ee.lbl.gov/libpcap.tar.Z" echo " or use the --with-libpcap-* options, if you have it installed" echo " in unusual place" exitfidefault_directory="/usr /usr/local"AC_DEFUN(FAIL_MESSAGE,[ echo echo echo "**********************************************" echo " ERROR: unable to find" $1 echo " checked in the following places" for i in `echo $2`; do echo " $i" done echo "**********************************************" echo exit])AC_ARG_WITH(mysql, [ --with-mysql=DIR support for mysql])if test "$with_mysql" != "no"; then if test "$with_mysql" = "yes"; then mysql_directory="$default_directory"; mysql_fail="yes" elif test "$with_mysql" = ""; then mysql_directory="$default_directory"; mysql_fail="no" else mysql_directory="$with_mysql"; mysql_fail="yes" fi AC_MSG_CHECKING("for mysql") for i in $mysql_directory; do if test -r $i/include/mysql/mysql.h; then MYSQL_DIR=$i MYSQL_INC_DIR=$i/include/mysql elif test -r $i/include/mysql.h; then MYSQL_DIR=$i MYSQL_INC_DIR=$i/include fi done if test -z "$MYSQL_DIR"; then if test "$mysql_fail" != "no"; then tmp="" for i in $mysql_directory; do tmp="$tmp $i/include $i/include/mysql" done FAIL_MESSAGE("mysql headers (mysql.h)", $tmp) else AC_MSG_RESULT(no) fi else for i in lib lib/mysql; do str="$MYSQL_DIR/$i/libmysqlclient.*" for j in `echo $str`; do if test -r $j; then MYSQL_LIB_DIR="$MYSQL_DIR/$i" break 2 fi done done if test -z "$MYSQL_LIB_DIR"; then if test "$mysql_fail" != "no"; then FAIL_MESSAGE("mysqlclient library", "$MYSQL_DIR/lib $MYSQL_DIR/lib/mysql") else AC_MSG_RESULT(no) fi else AC_MSG_RESULT(yes) LDFLAGS="${LDFLAGS} -L${MYSQL_LIB_DIR}" CPPFLAGS="${CPPFLAGS} -I${MYSQL_INC_DIR} -DENABLE_MYSQL" AC_CHECK_LIB(z, compress) LIBS="${LIBS} -lmysqlclient" fi fifiAC_ARG_WITH(odbc, [ --with-odbc=DIR support for odbc])if test "$with_odbc" != "no"; then if test "$with_odbc" = "yes"; then odbc_directory="$default_directory"; odbc_fail="yes" elif test "$with_odbc" = ""; then odbc_directory="$default_directory"; odbc_fail="no" else odbc_directory="$with_odbc"; odbc_fail="yes" fi AC_MSG_CHECKING("for odbc") for i in $odbc_directory; do if test -r $i/include/sql.h; then if test -r $i/include/sqlext.h; then if test -r $i/include/sqltypes.h; then ODBC_DIR=$i ODBC_INC_DIR=$i/include fi fi fi done if test -z "$ODBC_DIR"; then if test "$odbc_fail" != "no"; then tmp="" for i in $odbc_directory; do tmp="$tmp $i/include" done FAIL_MESSAGE("odbc headers (sql.h sqlext.h sqltypes.h)", $tmp) else AC_MSG_RESULT(no) fi else str="$ODBC_DIR/lib/libodbc.*" for j in `echo $str`; do if test -r $j; then ODBC_LIB_DIR="$ODBC_DIR/lib" ODBC_LIB="odbc" fi donednl if test -z "$ODBC_LIB_DIR"; thendnl str="$ODBC_DIR/lib/libiodbc.*"dnl for j in `echo $str`; dodnl if test -r $j; then dnl ODBC_LIB_DIR="$ODBC_DIR/lib"dnl ODBC_LIB="iodbc"dnl fidnl donednl fi if test -z "$ODBC_LIB_DIR"; then if test "$odbc_fail" != "no"; then FAIL_MESSAGE("odbc library (libodbc)", "$ODBC_DIR/lib") else AC_MSG_RESULT(no) fi else AC_MSG_RESULT(yes) LDFLAGS="${LDFLAGS} -L${ODBC_LIB_DIR}" CPPFLAGS="${CPPFLAGS} -I${ODBC_INC_DIR} -DENABLE_ODBC" LIBS="${LIBS} -l$ODBC_LIB" fi fifiAC_ARG_WITH(postgresql, [ --with-postgresql=DIR support for postgresql])if test "$with_postgresql" != "no"; then if test "$with_postgresql" = "yes"; then postgresql_directory="$default_directory /usr/local/pgsql /usr/pgsql" postgresql_fail="yes" elif test "$with_postgresql" = ""; then postgresql_directory="$default_directory /usr/local/pgsql /usr/pgsql" postgresql_fail="no" else postgresql_directory="$with_postgresql"; postgresql_fail="yes" fi AC_MSG_CHECKING("for postgresql") for i in $postgresql_directory; do if test -r $i/include/pgsql/libpq-fe.h; then POSTGRESQL_DIR=$i POSTGRESQL_INC_DIR=$i/include/pgsql elif test -r $i/include/libpq-fe.h; then POSTGRESQL_DIR=$i POSTGRESQL_INC_DIR=$i/include fi done if test -z "$POSTGRESQL_DIR"; then if test "$postgresql_fail" != "no"; then tmp="" for i in $postgesql_directory; do tmp="$tmp $i/include $i/include/pgsql" done FAIL_MESSAGE("postgresql header file (libpq-fe.h)", $tmp) else AC_MSG_RESULT(no) fi else for i in lib lib/pgsql; do str="$POSTGRESQL_DIR/$i/libpq.*" for j in `echo $str`; do if test -r $j; then POSTGRESQL_LIB_DIR="$POSTGRESQL_DIR/$i" break 2 fi done done if test -z "$POSTGRESQL_LIB_DIR"; then if test "$postgresql_fail" != "no"; then FAIL_MESSAGE("postgresql library libpq", "$POSTGRESQL_DIR/lib $POSTGRESQL_DIR/lib/pgsql") else AC_MSG_RESULT(no); fi else AC_MSG_RESULT(yes) LDFLAGS="${LDFLAGS} -L${POSTGRESQL_LIB_DIR}" CPPFLAGS="${CPPFLAGS} -I${POSTGRESQL_INC_DIR} -DENABLE_POSTGRESQL" LIBS="${LIBS} -lpq" fi fifiAC_ARG_WITH(oracle, [ --with-oracle=DIR support for oracle])if test "$with_oracle" != "no"; then if test "$with_oracle" = "yes"; then oracle_directory="$default_directory ${ORACLE_HOME}" oracle_fail="yes" elif test "$with_oracle" = ""; then oracle_directory="$default_directory ${ORACLE_HOME}" oracle_fail="no" else oracle_directory="$with_oracle"; oracle_fail="yes" fi AC_MSG_CHECKING("for oracle") for i in $oracle_directory; do if test -r $i/rdbms/demo/oci.h; then ORACLE_DIR=$i fi done if test -z "$ORACLE_DIR"; then if test "$oracle_fail" != "no"; then tmp="" for i in $oracle_directory; do tmp="$tmp $i/rdbms/demo" done FAIL_MESSAGE("OCI header file (oci.h)", $tmp) else AC_MSG_RESULT(no) fi else for i in rdbms/demo rdbms/public network/public; do ORACLE_CPP_FLAGS="$ORACLE_CPP_FLAGS -I$ORACLE_DIR/$i" done ORACLE_LIB_DIR="$ORACLE_DIR/lib" AC_MSG_RESULT(yes) LDFLAGS="${LDFLAGS} -L${ORACLE_LIB_DIR}" CPPFLAGS="${CPPFLAGS} ${ORACLE_CPP_FLAGS} -DENABLE_ORACLE" LIBS="${LIBS} -lclntsh -lwtc8" fifiAC_ARG_WITH(openssl, [ --with-openssl=DIR support for openssl])if test "$with_openssl" != "no"; then if test "$with_openssl" = "yes"; then openssl_directory="$default_directory /usr/local/ssl /usr/ssl" openssl_fail="yes" elif test "$with_openssl" = ""; then openssl_directory="$default_directory /usr/local/ssl /usr/ssl" openssl_fail="no" else openssl_directory="$with_openssl" openssl_fail="yes" fi AC_MSG_CHECKING("for openssl") for i in $openssl_directory; do if test -r $i/include/openssl/crypto.h; then if test -r $i/include/openssl/x509.h; then if test -r $i/include/openssl/x509_vfy.h; then if test -r $i/include/openssl/pem.h; then if test -r $i/include/openssl/ssl.h; then if test -r $i/include/openssl/err.h; then OPENSSL_DIR=$i OPENSSL_INC_DIR=$i/include fi fi fi fi fi fi done if test -z "$OPENSSL_DIR"; then if test "$openssl_fail" != "no"; then tmp="" for i in $openssl_directory; do tmp="$tmp $i/include $i/include/openssl" done FAIL_MESSAGE("openssl headers (crypto.h x509.h x509vrfy.h pem.h ssl.h err.h)", $tmp) else AC_MSG_RESULT(no) fi else for i in lib lib/openssl; do str="$OPENSSL_DIR/$i/libcrypto.* $OPENSSL_DIR/$i/libssl.*" for j in `echo $str`; do if test -r $j; then OPENSSL_LIB_DIR="$OPENSSL_DIR/$i" break 2 fi done done if test -z "$OPENSSL_LIB_DIR"; then if test "$openssl_fail" != "no"; then FAIL_MESSAGE("openssl library (libcrypto)", "$OPENSSL_DIR/lib $OPENSSL_DIR/lib/openssl") else AC_MSG_RESULT(no); fi else AC_MSG_RESULT(yes) LDFLAGS="${LDFLAGS} -L${OPENSSL_LIB_DIR}" CPPFLAGS="${CPPFLAGS} -I${OPENSSL_INC_DIR} -DENABLE_SSL" LIBS="${LIBS} -lssl -lcrypto" fi fifiAC_ARG_ENABLE(smbalerts,[ --enable-smbalerts SMB alerting capaility via Samba], CFLAGS="$CFLAGS -DENABLE_SMB_ALERTS",)AC_ARG_ENABLE(flexresp,[ --enable-flexresp Flexible Responses on hostile connection attempts], [ CFLAGS="$CFLAGS -DENABLE_RESPONSE `libnet-config --defines` `libnet-config --cflags`" LIBS="$LIBS `libnet-config --libs`"],)if test "$enable_flexresp" != "no"; then if test "$enable_flexresp" = "yes"; then LIBNET_INC_DIR="" AC_MSG_CHECKING("for libnet.h") libnet_dir="/usr/include /usr/local/include" for i in $libnet_dir; do if test -r $i/libnet.h; then LIBNET_INC_DIR=$i fi done if test "$LIBNET_INC_DIR" != ""; then CPPFLAGS="${CPPFLAGS} -I${LIBNET_INC_DIR}" AC_MSG_RESULT($i) else AC_MSG_RESULT(no) fi fifi########################################################## -- uncomment if want to play with pthreads support -- ###########################################################AC_ARG_ENABLE(pthreads,#[ --enable-pthreads Multiple interfaces support using pthreads ],# [ CFLAGS="$CFLAGS -pthread -DUSE_PTHREADS"# ],)if test "$tru64_types" = "yes"; then AC_CHECK_TYPE(u_int8_t, unsigned char) AC_CHECK_TYPE(u_int16_t, unsigned short) AC_CHECK_TYPE(u_int32_t, unsigned int)else if test "$broken_types" = "yes" ; then AC_CHECK_TYPE(u_int8_t, unsigned char) AC_CHECK_TYPE(u_int16_t, unsigned short) AC_CHECK_TYPE(u_int32_t, unsigned long int) else AC_CHECK_TYPE(u_int8_t, uint8_t) AC_CHECK_TYPE(u_int16_t, uint16_t) AC_CHECK_TYPE(u_int32_t, uint32_t) fifi# let's make some fixes..CFLAGS=`echo $CFLAGS | sed -e 's/-I\/usr\/include //g'`CPPFLAGS=`echo $CPPFLAGS | sed -e 's/-I\/usr\/include //g'`AC_PROG_INSTALLAC_OUTPUT(Makefile)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -