Infrastructure: Get it building again, using pkg-config.
[tripe] / configure.in
index 522ed65..e36e07c 100644 (file)
@@ -15,103 +15,59 @@ dnl TrIPE is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
 dnl the Free Software Foundation; either version 2 of the License, or
 dnl (at your option) any later version.
-dnl 
+dnl
 dnl TrIPE is distributed in the hope that it will be useful,
 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl GNU General Public License for more details.
-dnl 
+dnl
 dnl You should have received a copy of the GNU General Public License
 dnl along with TrIPE; if not, write to the Free Software Foundation,
 dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-AC_INIT(tripe.c)
+AC_INIT(server/tripe.c)
 AM_INIT_AUTOMAKE(tripe, 1.0.0pre7)
-AM_CONFIG_HEADER(config.h)
+AM_CONFIG_HEADER(common/config.h)
 AC_CANONICAL_HOST
 
 AC_PROG_MAKE_SET
 AC_PROG_CC
 AM_PROG_LIBTOOL
-python=no
-mdw_PROG_PYTHON([2.3], 
-  [python=yes
-   pyscripts='${PYTHONSCRIPTS}' 
-   pymans='${PYTHONMANS}'])
+DIRS="" AC_SUBST([DIRS])
+
+AX_WITH_PYTHON([2.3], [missing])
+if test "$PYTHON" = "missing"; then
+  python=no
+else
+  python=yes
+   pyscripts='${PYTHONSCRIPTS}'
+   DIRS="$DIRS keys"
+   pymans='${PYTHONMANS}'
+fi
 AC_SUBST([pyscripts]) AC_SUBST([pymans])
 
 if test $python = yes; then
-  mdw_CHECK_PYTHON([2.3])
   AC_CACHE_CHECK([for pygtk], [mdw_cv_pygtk], [
     mdw_cv_pygtk=no
     python -c >&5 2>&5 '
 import pygtk
 pygtk.require("2.0")
-import gtk 
+import gtk
 ' && mdw_cv_pygtk=yes
   ])
   if test $mdw_cv_pygtk = yes; then
     pygtkscripts='${PYGTKSCRIPTS}'
+    DIRS="$DIRS mon"
     pygtkmans='${PYGTKMANS}'
   fi
 fi
 AC_SUBST([pygtkscripts]) AC_SUBST([pygtkmans])
 
-AC_CHECK_HEADERS([stdarg.h])
-mdw_GCC_FLAGS([-Wall])
-mdw_OPT_TRACE
-
-AC_ARG_WITH([linux-includes],
-[  --with-linux-includes=DIR
-                          search for Linux kernel includes in DIR],
-[CFLAGS="$CFLAGS -I$withval"],
-[:])
-
-AC_ARG_WITH([configdir],
-[  --with-configdir=DIR    look for keys and other configuration in DIR
-                          [default=/var/lib/tripe]],
-[configdir=$withval],
-[configdir=/var/lib/tripe])
-
-AC_ARG_WITH([socketdir],
-[  --with-socketdir=DIR    put admin socket in DIR [default=.]],
-[socketdir=$withval],
-[socketdir=.])
-
-AC_ARG_WITH([pidfile],
-[  --with-pidfile=FILE     make tripectl write its pid to FILE
-                          [default=./tripectl.pid]],
-[pidfile=$withval],
-[pidfile=tripectl.pid])
-
-AC_ARG_WITH([initconfig],
-[  --with-initconfig=FILE  read definitions from FILE in init script
-                          [default=/etc/tripe.conf]],
-[initconfig=$withval],
-[initconfig=/etc/tripe.conf])
-
-AC_ARG_WITH([logfile],
-[  --with-logfile=DIR       make tripectl write its log to FILE 
-                           [default=./tripe.log]],
-[logfile=$withval],
-[logfile=tripe.log])
-
-DIRS=""
-WIRESHARK_CFLAGS=""
-WIRESHARK_PLUGIN_DIR="unknown"
-AC_ARG_WITH([wireshark],
-[  --with-wireshark         build and install Wireshark plugin],
-[case "$withval" in
-   no) wireshark=false requirewireshark=false;;
-   yes) wireshark=true; requirewireshark=true;;
-   *) wireshark=true requirewireshark=true WIRESHARK_PLUGIN_DIR=$withval;;
-esac],
-[wireshark=true requirewireshark=false])
 
 tun=auto
 AC_ARG_WITH([tunnel],
-[  --with-tunnel=KIND      kinds of tunnel device to use
-                            (linux, unet, bsd, slip)],
+[  --with-tunnel=KIND     kinds of tunnel device to use
+                           (linux, unet, bsd, slip)],
 [tun=$withval])
 
 if test "$tun" = auto; then
@@ -120,9 +76,7 @@ if test "$tun" = auto; then
     case $host_os in
       linux*)
        case `uname -r` in
-changequote(,)dnl
-         2.[4-9].* | 2.[1-9][0-9]*.* | [3-9].* | [1-9][0-9]*.*)
-changequote([,])dnl
+         [2.[4-9].*] | [2.[1-9][0-9]*.*] | [[3-9].*] | [[1-9][0-9]*.*])
            mdw_cv_tunnel=linux
            ;;
          *)
@@ -147,23 +101,82 @@ for i in $tun; do
     bsd) AC_DEFINE([TUN_BSD], [1],
                   [Install the BSD tunnel driver.]) ;;
     unet) AC_DEFINE([TUN_UNET], [1],
-                    [Install the obsolete Linux Usernet driver.]) ;;
+                   [Install the obsolete Linux Usernet driver.]) ;;
     slip) ;;
     *) AC_MSG_ERROR([Unknown tunnel type]) ;;
   esac
   tunnels="$tunnels&tun_$i, "
 done
 AC_SUBST(tun)
-AC_DEFINE_UNQUOTED([TUN_LIST], [$tunnels 0], 
+AC_DEFINE_UNQUOTED([TUN_LIST], [$tunnels 0],
   [List of tunnel drivers to install.])
 
-mdw_MLIB(2.0.0)
-mdw_CATACOMB(2.1.0, [CFLAGS="$CFLAGS $CATACOMB_CFLAGS"])
+
+
+
+
+AC_CHECK_HEADERS([stdarg.h])
+AX_CFLAGS_WARN_ALL
+
+AC_ARG_WITH([tracing],
+[  --without-tracing      compile out tracing support (not recommended)],
+[test "$withval" = no && AC_DEFINE([NTRACE], [1], [Disable all tracing.])],
+[:])
+
+AC_ARG_WITH([linux-includes],
+[  --with-linux-includes=DIR
+                         search for Linux kernel includes in DIR],
+[CFLAGS="$CFLAGS -I$withval"],
+[:])
+
+AC_ARG_WITH([configdir],
+[  --with-configdir=DIR           look for keys and other configuration in DIR
+                         [default=/var/lib/tripe]],
+[configdir=$withval],
+[configdir=/var/lib/tripe])
+
+AC_ARG_WITH([socketdir],
+[  --with-socketdir=DIR           put admin socket in DIR [default=.]],
+[socketdir=$withval],
+[socketdir=.])
+
+AC_ARG_WITH([pidfile],
+[  --with-pidfile=FILE    make tripectl write its pid to FILE
+                         [default=./tripectl.pid]],
+[pidfile=$withval],
+[pidfile=tripectl.pid])
+
+AC_ARG_WITH([initconfig],
+[  --with-initconfig=FILE  read definitions from FILE in init script
+                         [default=/etc/tripe.conf]],
+[initconfig=$withval],
+[initconfig=/etc/tripe.conf])
+
+AC_ARG_WITH([logfile],
+[  --with-logfile=DIR     make tripectl write its log to FILE
+                         [default=./tripe.log]],
+[logfile=$withval],
+[logfile=tripe.log])
+
+WIRESHARK_CFLAGS=""
+WIRESHARK_PLUGIN_DIR="unknown"
+AC_ARG_WITH([wireshark],
+[  --with-wireshark       build and install Wireshark plugin],
+[case "$withval" in
+   no) wireshark=false requirewireshark=false;;
+   yes) wireshark=true; requirewireshark=true;;
+   *) wireshark=true requirewireshark=true WIRESHARK_PLUGIN_DIR=$withval;;
+esac],
+[wireshark=true requirewireshark=false])
+
+PKG_CHECK_MODULES(mLib, mLib >= 2.0.4)
+PKG_CHECK_MODULES(catacomb, catacomb >= 2.1.1)
+CFLAGS="$CFLAGS $mLib_CFLAGS $catacomb_CFLAGS"
+LIBS="$LIBS $mLib_LIBS"
 
 if test "$wireshark" = true -a "$WIRESHARK_PLUGIN_DIR" = unknown; then
-  AC_CACHE_CHECK([where to put Wireshark plugins], 
+  AC_CACHE_CHECK([where to put Wireshark plugins],
     [mdw_cv_wireshark_plugin_dir], [
-    changequote(,)
     mdw_cv_wireshark_plugin_dir="failed"
     wsprefix=none
     for i in "${prefix}" /usr/local /usr `echo $PATH | tr : " "`; do
@@ -174,13 +187,13 @@ if test "$wireshark" = true -a "$WIRESHARK_PLUGIN_DIR" = unknown; then
     done
     if test "$wsprefix" != none; then
       wsbin=$wsprefix/bin/tshark
-      wsver=`$wsbin -v | sed 's/^[^ ]* \([0-9A-Za-z.]*\).*$/\1/;q'`
-      dir=$wsprefix/lib/wireshark/plugins/$wsver
+      wsver=`$wsbin -v | sed ['s/^[^ ]* \([0-9A-Za-z.]*\).*$/\1/;q']`
+      dir=$wsprefix/lib/wireshark/plugins
+      test -d "$dir/$wsver" && dir="$dir/$wsver"
       if test -d "$dir"; then
-        mdw_cv_wireshark_plugin_dir=$dir
+       mdw_cv_wireshark_plugin_dir=$dir
       fi
     fi
-    changequote([, ])
   ])
   case $mdw_cv_wireshark_plugin_dir in
     failed) wireshark=false;;
@@ -195,7 +208,7 @@ if test "$wireshark" = true; then
   bad=true
   mdw_CFLAGS=$CFLAGS
   wsprefix=`echo $WIRESHARK_PLUGIN_DIR | sed 's:/lib/.*$::'`
-  AC_CACHE_CHECK([how to find the Wireshark headers], 
+  AC_CACHE_CHECK([how to find the Wireshark headers],
     [mdw_cv_wireshark_includes], [
     mdw_cv_wireshark_includes=failed
     for i in \
@@ -225,7 +238,7 @@ if test "$wireshark" = true; then
   ])
   case $mdw_cv_wireshark_includes in
     failed) wireshark=false;;
-  esac  
+  esac
 fi
 
 if test "$wireshark" = true; then
@@ -240,18 +253,24 @@ if test "$wireshark" = false -a "$requirewireshark" = true; then
 fi
 
 AH_TEMPLATE([CONFIGDIR],
-            [Tripe should look here for keys and other configuration.])
+           [Tripe should look here for keys and other configuration.])
 AH_TEMPLATE([SOCKETDIR],
-            [Tripe should make its administration socket here.])
+           [Tripe should make its administration socket here.])
 mdw_DEFINE_PATHS([
   mdw_DEFINE_PATH([CONFIGDIR], [$configdir])
   mdw_DEFINE_PATH([SOCKETDIR], [$socketdir])
   AC_SUBST(socketdir) AC_SUBST(configdir) AC_SUBST(logfile) AC_SUBST(pidfile)
   AC_SUBST(initconfig)
 ])
-AC_SUBST(DIRS)
 AC_OUTPUT( \
-       Makefile doc/Makefile wireshark/Makefile \
-       tripe-init tripe-keys tripemon)
+       Makefile \
+       common/Makefile client/Makefile server/Makefile \
+       proxy/Makefile pkstream/Makefile \
+       doc/Makefile \
+         doc/tripe.8 doc/tripectl.1 doc/tripemon.1 \
+       wireshark/Makefile \
+       init/Makefile init/tripe-init \
+       keys/Makefile keys/tripe-keys \
+       mon/Makefile mon/tripemon)
 
 dnl ----- That's all, folks -------------------------------------------------