X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/tripe/blobdiff_plain/410c8acf139e945dce28bbc0c8b17dcfd0815643..fd68efa965e43c44523c4bc1e940a9461df60290:/configure.in diff --git a/configure.in b/configure.in index 8e2254ea..972fcf60 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ -dnl -*-fundamental-*- +dnl -*-autoconf-*- dnl -dnl $Id: configure.in,v 1.1 2001/02/03 20:26:37 mdw Exp $ +dnl $Id$ dnl dnl Configuration script for TrIPE dnl @@ -25,38 +25,241 @@ 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. -dnl ----- Revision history -------------------------------------------------- -dnl -dnl $Log: configure.in,v $ -dnl Revision 1.1 2001/02/03 20:26:37 mdw -dnl Initial checkin. -dnl - -AC_INIT(tripe.c) -AM_INIT_AUTOMAKE(tripe, 1.0.0) +AC_INIT(server/tripe.c) +AM_INIT_AUTOMAKE(tripe, 1.0.0pre7) +AM_CONFIG_HEADER(common/config.h) AC_CANONICAL_HOST +AC_PROG_MAKE_SET AC_PROG_CC -mdw_GCC_FLAGS - -case $host_os in - linux*) - tun=unet - AC_DEFINE([TUN_TYPE], [TUN_UNET]) - ;; - *bsd*) - tun=bsd - AC_DEFINE([TUN_TYPE], [TUN_BSD]) - ;; - *) - AC_MSG_ERROR([Unsupported OS: no tunnel interface available]) - ;; -esac +AM_PROG_LIBTOOL +DIRS="" AC_SUBST([DIRS]) + +python=no +mdw_PROG_PYTHON([2.3], + [python=yes + pyscripts='${PYTHONSCRIPTS}' + DIRS="$DIRS keys" + pymans='${PYTHONMANS}']) +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 +' && 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]) + +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)], +[tun=$withval]) + +if test "$tun" = auto; then + AC_CACHE_CHECK([tunnel drivers to use], [mdw_cv_tunnel], [ + mdw_cv_tunnel="" + 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 + mdw_cv_tunnel=linux + ;; + *) + mdw_cv_tunnel=unet + ;; + esac + ;; + *bsd*) + mdw_cv_tunnel=bsd + ;; + esac + mdw_cv_tunnel=$mdw_cv_tunnel${mdw_cv_tunnel:+ }slip + ]) + tun=$mdw_cv_tunnel +fi + +tunnels="" +for i in $tun; do + case $i in + linux) AC_DEFINE([TUN_LINUX], [1], + [Install the Linux TUN/TAP driver.]) ;; + bsd) AC_DEFINE([TUN_BSD], [1], + [Install the BSD tunnel driver.]) ;; + unet) AC_DEFINE([TUN_UNET], [1], + [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], + [List of tunnel drivers to install.]) + +mdw_MLIB(2.0.0) +mdw_CATACOMB(2.1.0, [CFLAGS="$CFLAGS $CATACOMB_CFLAGS"]) + +if test "$wireshark" = true -a "$WIRESHARK_PLUGIN_DIR" = unknown; then + 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 + if test -x "$i/bin/tshark"; then + wsprefix=$i + break + fi + 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 + if test -d "$dir"; then + mdw_cv_wireshark_plugin_dir=$dir + fi + fi + changequote([, ]) + ]) + case $mdw_cv_wireshark_plugin_dir in + failed) wireshark=false;; + *) WIRESHARK_PLUGIN_DIR=$mdw_cv_wireshark_plugin_dir;; + esac +fi + +if test "$wireshark" = true; then + AM_PATH_GLIB([1.2.0], [], wireshark=false, [gmodule]) +fi +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], + [mdw_cv_wireshark_includes], [ + mdw_cv_wireshark_includes=failed + for i in \ + "" \ + "-I${wsprefix}/include/wireshark" \ + "-I${wsprefix}/include" \ + "-I${prefix}/include/wireshark" \ + "-I${prefix}/include" \ + "-I/usr/include/wireshark" \ + "-I/usr/local/include/wireshark" \ + "-I/usr/local/include"; do + CFLAGS="$GLIB_CFLAGS $i" + AC_TRY_COMPILE([ +#include +#include +#include +#include +], [ + dissector_handle_t dh; + dh = create_dissector_handle(0, 0); + ], [bad=false; break]) + done + if test $bad = false; then + mdw_cv_wireshark_includes=$i + fi + CFLAGS=$mdw_CFLAGS + ]) + case $mdw_cv_wireshark_includes in + failed) wireshark=false;; + esac +fi + +if test "$wireshark" = true; then + WIRESHARK_CFLAGS="$CFLAGS $GLIB_CFLAGS $mdw_cv_wireshark_includes" + AC_SUBST(WIRESHARK_CFLAGS) + AC_SUBST(WIRESHARK_PLUGIN_DIR) + DIRS="$DIRS wireshark" +fi -mdw_MLIB(2.0.0pre4) -mdw_CATACOMB(2.0.0pre8) +if test "$wireshark" = false -a "$requirewireshark" = true; then + AC_MSG_ERROR([failed to configure Wireshark plugin]) +fi -AC_OUTPUT(Makefile) +AH_TEMPLATE([CONFIGDIR], + [Tripe should look here for keys and other configuration.]) +AH_TEMPLATE([SOCKETDIR], + [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_OUTPUT( \ + Makefile \ + common/Makefile client/Makefile server/Makefile \ + proxy/Makefile pkstream/Makefile \ + doc/Makefile \ + wireshark/Makefile \ + init/Makefile init/tripe-init \ + keys/Makefile keys/tripe-keys \ + mon/Makefile mon/tripemon) dnl ----- That's all, folks -------------------------------------------------