$Id: configure.ac,v 1.11 2007/05/29 20:00:44 bhockney Exp $ AC_PREREQ(2.57) AC_INIT(webfwlog,0.93,webfwlog@lists.sourceforge.net) AC_CONFIG_SRCDIR([syslog/compare.c]) AC_DEFINE(COPYRIGHT,["2003-2007 Bob Hockney"]) AC_CONFIG_HEADERS([config.h]) # Checks for header files. AC_HEADER_STDC # Checks for programs. AC_PROG_INSTALL AC_PROG_MAKE_SET dnl dnl Check for web server document root dnl dnl Adapted from AC_PROG_HTTPD dnl HTML_DOC_ROOT="" AC_ARG_WITH(html-doc-root, [ --with-html-doc-root=DIR document root of web server], [if test x$withval != x && test x$withval != xno && test x$withval != xyes then HTML_DOC_ROOT=["$withval"] else AC_PATH_PROG(HTTPD, httpd$EXEEXT) if test "x$HTTPD" != x then HTTPD_ROOT=`httpd -V | grep HTTPD_ROOT | sed 's/^.*HTTPD_ROOT[[[:blank:]]]*=[[[:blank:]]]*"\(.*\)"$/\1/'` HTTPD_SERVER_CONFIG_FILE=`httpd -V | grep SERVER_CONFIG_FILE | sed 's/^.*SERVER_CONFIG_FILE[[[:blank:]]]*=[[[:blank:]]]*"\(.*\)"$/\1/'` if echo $HTTPD_SERVER_CONFIG_FILE | grep ^[[^/]] > /dev/null; then HTTPD_SERVER_CONFIG_FILE=$HTTPD_ROOT/$HTTPD_SERVER_CONFIG_FILE fi if [[ -f "$HTTPD_SERVER_CONFIG_FILE" ]] then DOCUMENT_ROOT_PATTERN='^[[[:blank:]]]*DocumentRoot[[[:blank:]]][[[:blank:]]]*"\([[^"]]*\)"$' HTML_DOC_ROOT=[`grep $DOCUMENT_ROOT_PATTERN $HTTPD_SERVER_CONFIG_FILE | head -n 1 | sed "s/$DOCUMENT_ROOT_PATTERN/\1/" | sed s/[[/]]$//`] fi fi fi], [AC_PATH_PROG(HTTPD, httpd$EXEEXT) if test "x$HTTPD" != x then HTTPD_ROOT=`httpd -V | grep HTTPD_ROOT | sed 's/^.*HTTPD_ROOT[[[:blank:]]]*=[[[:blank:]]]*"\(.*\)"$/\1/'` HTTPD_SERVER_CONFIG_FILE=`httpd -V | grep SERVER_CONFIG_FILE | sed 's/^.*SERVER_CONFIG_FILE[[[:blank:]]]*=[[[:blank:]]]*"\(.*\)"$/\1/'` if echo $HTTPD_SERVER_CONFIG_FILE | grep ^[[^/]] > /dev/null; then HTTPD_SERVER_CONFIG_FILE=$HTTPD_ROOT/$HTTPD_SERVER_CONFIG_FILE fi if [[ -f "$HTTPD_SERVER_CONFIG_FILE" ]] then DOCUMENT_ROOT_PATTERN='^[[[:blank:]]]*DocumentRoot[[[:blank:]]][[[:blank:]]]*"\([[^"]]*\)"$' HTML_DOC_ROOT=[`grep $DOCUMENT_ROOT_PATTERN $HTTPD_SERVER_CONFIG_FILE | head -n 1 | sed "s/$DOCUMENT_ROOT_PATTERN/\1/" | sed s/[[/]]$//`] fi fi ] ) AC_MSG_CHECKING([for document root]) if test x$HTML_DOC_ROOT != x then AC_MSG_RESULT([using $HTML_DOC_ROOT]) AC_SUBST(HTML_DOC_ROOT) else AC_MSG_ERROR([Could not find Document Root $HTML_DOC_ROOT. Please specify a document root using --with-html-doc-root=DIR]) fi dnl dnl Build syslog parser? dnl AC_ARG_ENABLE(syslog, [ --enable-syslog build syslog parser],[ if test $enableval != no then AC_MSG_RESULT([building syslog parser]) SUBDIRS="${SUBDIRS} syslog" # Checks for programs. AC_PROG_YACC AC_PROG_CC AC_PROG_LEX # Checks for libraries. AC_CHECK_LIB([m], [main]) AC_CHECK_LIB([z], [main]) AC_CHECK_LIB([socket], [main]) # Checks for header files. AC_FUNC_ALLOCA AC_HEADER_SYS_WAIT AC_CHECK_HEADERS([sys/socket.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T AC_STRUCT_TM AC_STRUCT_TIMEZONE # Checks for library functions. AC_FUNC_MALLOC AC_FUNC_MKTIME AC_FUNC_STAT AC_FUNC_STRFTIME AC_CHECK_FUNCS([inet_aton isascii]) dnl dnl test for MySQL dnl AC_ARG_WITH(mysql, [ --with-mysql=DIR mysql library installed in directory],[ if test $withval != no then mysqldir="" AC_MSG_CHECKING(for MySQL files) for d in $withval /usr /usr/local /usr/pkg /opt /opt/packages do for l in lib64 lib do if test -f $d/$l/mysql/libmysqlclient.so -o -f $d/$l/mysql/libmysqlclient.a then AC_MSG_RESULT(found mysql in $d) mysqldir=$d mysqldir_lib=$l/mysql break 2 elif test -f $d/$l/libmysqlclient.so -o -f $d/$l/libmysqlclient.a then AC_MSG_RESULT(found mysql in $d) mysqldir=$d mysqldir_lib=$l break 2 fi done done if test x$mysqldir = x then AC_MSG_WARN(MySQL library not found, support disabled) else for i in include include/mysql do if test -f ${mysqldir}/$i/mysql.h then DB_INCLUDES="${DB_INCLUDES} -I${mysqldir}/$i" break fi done DB_LIBS="${DB_LIBS} -lmysqlclient" DB_LIB_DIRS="${DB_LIB_DIRS} -L${mysqldir}/${mysqldir_lib}" DB_DEFS="${DB_DEFS} -DHAVE_MYSQL" if test -f $MYSQLLIBS/libmystrings.so then DB_LIBS="${DB_LIBS} -lmystrings" fi fi fi ]) dnl dnl test for PostgreSQL dnl AC_ARG_WITH(pgsql, [ --with-pgsql=DIR postgresql library installed in directory],[ if test $withval != no then pgsqldir="" AC_MSG_CHECKING(for Postgresql files) for d in $withval /usr /usr/local /usr/pkg /opt /opt/packages do for l in lib64 lib do if test -f $d/$l/pgsql/libpq.so -o -f $d/$l/pgsql/libpq.a then AC_MSG_RESULT(found postgresql in $d) pgsqldir=$d pgsqldir_lib=$l/pgsql break 2 elif test -f $d/$l/postgresql/libpq.so -o -f $d/$l/postgresql/libpq.a then AC_MSG_RESULT(found postgresql in $d) pgsqldir=$d pgsqldir_lib=$l/postgresql break 2 elif test -f $d/$l/libpq.so -o -f $d/$l/libpq.a then AC_MSG_RESULT(found postgresql in $d) pgsqldir=$d pgsqldir_lib=$l break 2 fi done done if test x$pgsqldir = x then AC_MSG_WARN(Postgresql library not found, support disabled) else for i in include include/postgresql include/pgsql do if test -f ${pgsqldir}/$i/libpq-fe.h then DB_INCLUDES="${DB_INCLUDES} -I${pgsqldir}/$i" break fi done DB_LIBS="${DB_LIBS} -lpq" DB_LIB_DIRS="${DB_LIB_DIRS} -L${pgsqldir}/$pgsqldir_lib" DB_DEFS="${DB_DEFS} -DHAVE_PGSQL" fi fi ]) fi ]) AC_SUBST(SUBDIRS) AC_SUBST(DB_DEFS) AC_SUBST(DB_INCLUDES) AC_SUBST(DB_LIB_DIRS) AC_SUBST(DB_LIBS) AC_CONFIG_FILES([Makefile syslog/Makefile Rules.make]) AC_OUTPUT