# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. m4_define([UML7VERSION], 2.1.3) m4_define([UML7PATCHLV], 0) # For additional releasename (ex. m4_define([UML7RELSUFFIX], [rc1]) for rc1) m4_define([UML7RELSUFFIX], []) AC_PREREQ(2.59) AC_INIT([ultramonkey-l7], UML7VERSION[-]UML7PATCHLV[]UML7RELSUFFIX, [ultramonkey-l7-develop@lists.sourceforge.jp]) ## set default value #AC_PREFIX_DEFAULT(/usr) #test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc #test "$localstatedir" = '${prefix}/var' && localstatedir=/var #test "$libdir" = '${exec_prefix}/lib' && libdir='${exec_prefix}/lib64' AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADER([config.h]) # Checks for programs. AC_PROG_CXX AC_PROG_CC AC_PROG_LIBTOOL AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET #AC_PROG_RANLIB # Checks for libraries. AM_PATH_GLIB_2_0(2.0.0,, [AC_MSG_ERROR(Test for GLib failed.)], gobject) AC_CHECK_LIB(glib-2.0, g_list_append, :, [AC_MSG_ERROR( l7vsd require GLib2.0 or later )]) AC_CHECK_LIB(dl, dlopen) AC_LANG_PUSH([C++]) AC_CHECK_LIB([boost_regex], [main],, [AC_MSG_ERROR(l7vsd requires boost, The Boost C++ Libraries.)]) AC_CHECK_LIB([log4cxx], [main],, [AC_MSG_ERROR(l7vsd requires log4cxx library and header files.)]) AC_LANG_POP([C++]) # FIXME: Replace `main' with a function in `-lrt': AC_CHECK_LIB([rt], [main]) #AC_CHECK_LIB(netsnmp, snmp_pdu_create, :, # [AC_MSG_ERROR( l7vsd require net-snmp library. )] ) # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h stdint.h stdlib.h string.h sys/file.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h unistd.h]) AC_LANG_PUSH([C++]) AC_CHECK_HEADERS([boost/regex.hpp],, [AC_MSG_ERROR(l7vsd requires boost, The Boost C++ Libraries. Does your system have boost headers? In many linux distro, boost-devel or boost-dev package will provides you the boost headers.)]) AC_CHECK_HEADERS([log4cxx/logger.h],, [AC_MSG_ERROR(l7vsd requires log4cxx. Does your system have log4cxx headers?)]) AC_LANG_POP([C++]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL AC_C_CONST AC_C_INLINE AC_TYPE_MODE_T AC_TYPE_SIZE_T AC_HEADER_TIME AC_STRUCT_TM # Checks for library functions. AC_REPLACE_FNMATCH AC_PROG_GCC_TRADITIONAL AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_FUNC_MKTIME AC_FUNC_REALLOC AC_FUNC_STAT AC_FUNC_STRFTIME AC_FUNC_STRNLEN AC_CHECK_FUNCS([clock_gettime gethostname gettimeofday inet_ntoa localtime_r memset select socket strdup strerror strrchr]) AC_ARG_WITH( l7vs-moddir, [ --with-l7vs-moddir=DIR l7vs modules is to be installed in DIR. [default="${libdir}/l7vs"] ], [ l7vs_moddir="$withval" ], # XXX: Should be [ l7vs_moddir="${libdir}/${PACKAGE}" ] [ l7vs_moddir="${libdir}/l7vs" ] ) AC_ARG_WITH( l7vs-logdir, [ --with-l7vs-logdir=DIR l7vs and l7vsadm logs are to be installed in DIR. [default="${localstatedir}/log/l7vs"] ], [ l7vs_logdir="$withval" ], # XXX: Should be [ l7vs_logdir="${localstatedir}/log/${PACKAGE}" ] [ l7vs_logdir="${localstatedir}/log/l7vs" ] ) AC_ARG_WITH( l7vsadm-sockdir, [ --with-l7vsadm-sockdir=DIR l7vsadm sockfile path. [default="${localstatedir}/run/l7vs"] ], [ l7vsadm_sockdir="$withval" ], # XXX: Should be [ l7vsadm_sockdir="${localstatedir}/run/${PACKAGE}" ] [ l7vsadm_sockdir="${localstatedir}/run/l7vs" ] ) AC_ARG_WITH( l7vs-maxvs, [ --with-l7vs-maxvs=NUM l7vsd virtual service max size in NUM. [default=64] ], [ l7vs_maxvs="$withval" ], [ l7vs_maxvs="64" ] ) AC_SUBST(CC,g++) AC_SUBST(uml7version, UML7VERSION) AC_SUBST(uml7patchlv, UML7PATCHLV) AC_SUBST(uml7relsuffix, UML7RELSUFFIX) AC_SUBST(l7vs_moddir) AC_SUBST(l7vs_logdir) AC_SUBST(l7vsadm_sockdir) AC_SUBST(l7vs_maxvs) AC_SUBST(snmpagent_libs) AC_CONFIG_FILES([Makefile conf/Makefile doc/Makefile doc/heartbeat-ra/Makefile init.d/Makefile l7directord/Makefile logger/Makefile man/Makefile module/Makefile module/protocol/Makefile module/schedule/Makefile parameter/Makefile snmpagent/Makefile src/Makefile ultramonkey-l7.spec]) AC_OUTPUT