# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. # $Id$ # This file is part of seppl. # # seppl is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # seppl is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with seppl; if not, write to the Free Software Foundation, # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. AC_PREREQ(2.59) AC_INIT([seppl],[0.4],[mzfrccy (at) 0pointer (dot) de]) AC_CONFIG_SRCDIR([kernel/seppl.c]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([foreign -Wall]) AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/seppl/]) if type -p stow > /dev/null && test -d /usr/local/stow ; then AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***]) ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}" fi # Checks for programs. AC_DISABLE_STATIC AC_PROG_LIBTOOL AC_PROG_CC AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET # If using GCC specifiy some additional parameters if test "x$GCC" = "xyes" ; then CFLAGS="$CFLAGS -pipe -Wall" fi AC_CHECK_FUNCS([memset]) AC_CHECK_HEADERS([fcntl.h]) AC_FUNC_MALLOC AC_TYPE_OFF_T AC_C_CONST # iptables version AC_PATH_PROG([IPTABLES], [iptables], [iptables], [$PATH:/usr/local/sbin:/usr/sbin:/sbin]) AC_MSG_CHECKING([iptables release]) if test "x$IPTABLES" = x ; then AC_MSG_ERROR([*** Please install iptables ***]) fi IPTABLES_VERSION=$("$IPTABLES" -V | cut -d' ' -f2 | sed 's/^v//') AC_DEFINE_UNQUOTED(IPTABLES_VERSION, ["$IPTABLES_VERSION"], "iptables release number") AC_MSG_RESULT([$IPTABLES_VERSION]) # Init script location AC_ARG_WITH(initdir, AS_HELP_STRING(--with-initdir=DIR,Install init script in DIR (system dependent default))) test "x$with_initdir" = xyes -o "x$with_initdir" = xno && with_initdir= if test "x$with_initdir" = x ; then if test -d /etc/init.d ; then SYSINITDIR=/etc/init.d else if test -d /etc/rc.d/init.d ; then SYSINITDIR=/etc/rc.d/init.d else AC_MSG_ERROR([missing --with-initdir=DIR]) fi fi else SYSINITDIR="$with_initdir" fi AC_MSG_NOTICE([Init sript will be installed in $SYSINITDIR]) AC_SUBST(SYSINITDIR) # Check for directory with kernel source... AC_MSG_CHECKING(for directory with kernel source) AC_ARG_WITH(kernel, [ --with-kernel=dir give the directory with kernel sources] [ [/usr/src/linux]], KERNELDIR="$withval", if test -d "/lib/modules/`uname -r`/build" -o -L "/lib/modules/`uname -r`/build"; then KERNELDIR="/lib/modules/`uname -r`/build" else KERNELDIR="/usr/src/linux" fi ) AC_SUBST(KERNELDIR) AC_MSG_RESULT([$KERNELDIR]) AC_MSG_CHECKING([kernel configuration file]) if ! test -r "$KERNELDIR/.config" ; then cat << EOF You need to configure your kernel sources before building SEPPL. Try "make menuconfig" or "make xconfig" in the kernel source directory. EOF exit 1 fi AC_MSG_RESULT([found]) # Check for crypto.h AC_MSG_CHECKING(for crypto.h) if ! test -r $KERNELDIR/include/linux/crypto.h; then cat << EOF The file $KERNELDIR/include/linux/crypto.h does not exist. Please, install the package with full kernel sources for 2.4.22 for your distribution or use --with-kernel=dir option to specify another directory with kernel sources (default is /usr/src/linux). EOF exit 1 fi AC_MSG_RESULT([found]) # Check for directory for kernel modules... AC_MSG_CHECKING(for directory for kernel modules) AC_ARG_WITH(moddir, AS_HELP_STRING(--with-moddir=dir,Give the directory to install kernel modules to), KERNELMODDIR="$withval", if test -d "/lib/modules/`uname -r`/" -o -L "/lib/modules/`uname -r`/"; then KERNELMODDIR="/lib/modules/`uname -r`/" else AC_MSG_ERROR([[*** Sorry, failed to find kernel module directory ***]]) fi ) AC_SUBST(KERNELMODDIR) AC_MSG_RESULT([$KERNELMODDIR]) # iptables checks AC_CHECK_HEADER(iptables.h,, [AC_MSG_ERROR([*** Sorry, failed to find iptables.h, you should install iptables-dev ***])]) # Set libiptdir AC_MSG_CHECKING(for /lib/iptables) if ! test -d /lib/iptables ; then AC_MSG_ERROR([*** Sorry, failed to find iptables plugin directory ***]) fi LIB_IPTABLES_DIR=/lib/iptables AC_SUBST(LIB_IPTABLES_DIR) AC_MSG_RESULT([$LIB_IPTABLES_DIR]) AM_PATH_PYTHON([2.1]) # LYNX documentation generation AC_ARG_ENABLE(lynx, AS_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation), [case "${enableval}" in yes) lynx=yes ;; no) lynx=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;; esac],[lynx=yes]) if test x$lynx = xyes ; then AC_CHECK_PROG(have_lynx, lynx, yes, no) if test x$have_lynx = xno ; then AC_MSG_ERROR([*** Sorry, you have to install lynx or use --disable-lynx ***]) fi fi AM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes]) # XMLTOMAN manpage generation AC_ARG_ENABLE(xmltoman, AS_HELP_STRING(--disable-xmltoman,Disable rebuilding of man pages with xmltoman), [case "${enableval}" in yes) xmltoman=yes ;; no) xmltoman=no ;; *) AC_MSG_ERROR([bad value ${enableval} for --disable-xmltoman]) ;; esac],[xmltoman=yes]) if test x$xmltoman = xyes ; then AC_CHECK_PROG(have_xmltoman, xmltoman, yes, no) if test x$have_xmltoman = xno ; then AC_MSG_WARN([*** Not rebuilding man pages as xmltoman is not found ***]) xmltoman=no fi fi AM_CONDITIONAL([USE_XMLTOMAN], [test "x$xmltoman" = xyes]) AC_CONFIG_FILES([kernel/Makefile libs/Makefile Makefile utils-python/Makefile utils/Makefile conf/Makefile doc/Makefile doc/README.html]) AC_OUTPUT