From 9f8965bca676427bcc173931695e57ceb6a05dda Mon Sep 17 00:00:00 2001 From: gram Date: Wed, 22 Nov 2000 04:03:22 +0000 Subject: Enable the building of any combination of ethereal, tethereal, and editcap. If GTK+ is not detected, then ethereal is not built. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@2695 f5534014-38df-0310-8fa8-9805f1628bb7 --- INSTALL | 5 +++ Makefile.am | 11 +++--- aclocal-flags | 11 ++++-- autogen.sh | 4 +-- configure.in | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 5 files changed, 120 insertions(+), 17 deletions(-) diff --git a/INSTALL b/INSTALL index c971fda081..7bdaa8ab26 100644 --- a/INSTALL +++ b/INSTALL @@ -49,6 +49,11 @@ Installation Checklist You won't be able to capture packets, but you can read traces that have already been captured to disk by other programs. + You can build or not build ethereal, tethereal, and editcap + with the appropriate --enable-XXX or --disable-XXX flags. + The default is to build everything. If GTK+ is not detected + on the system, then ethereal won't be built. + [ ] 4. Run 'make'. Hopefully, you won't run into any problems. [ ] 5. Run './ethereal', and make sure things are working. You must diff --git a/Makefile.am b/Makefile.am index c6383e4a42..98a78dcdfd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ # Makefile.am # Automake file for Ethereal # -# $Id: Makefile.am,v 1.251 2000/11/21 23:54:07 guy Exp $ +# $Id: Makefile.am,v 1.252 2000/11/22 04:03:22 gram Exp $ # # Ethereal - Network traffic analyzer # By Gerald Combs @@ -24,10 +24,11 @@ ACLOCAL_AMFLAGS = `./aclocal-flags` -EXTRA_PROGRAMS = ethereal_static -bin_PROGRAMS = ethereal editcap tethereal +bin_PROGRAMS = @ethereal_bin@ @editcap_bin@ @tethereal_bin@ +man_MANS = @ethereal_man@ @editcap_man@ @tethereal_man@ -man_MANS = ethereal.1 editcap.1 tethereal.1 +EXTRA_PROGRAMS = ethereal ethereal_static tethereal editcap +EXTRA_MANS = ethereal.1 tethereal.1 editcap.1 sysconf_DATA = manuf @@ -546,7 +547,7 @@ endif #dist-hook: # @rm -f $(distdir)/register.c -SUBDIRS = wiretap epan gtk plugins packaging @ethereal_SUBDIRS@ +SUBDIRS = wiretap epan plugins packaging @ethereal_SUBDIRS@ ethereal.1: ethereal doc/ethereal.pod.template (cd doc ; \ diff --git a/aclocal-flags b/aclocal-flags index 85ed1410f2..c58d2e1ac2 100755 --- a/aclocal-flags +++ b/aclocal-flags @@ -21,7 +21,7 @@ # "aclocal" will look in that directory twice, and get well and truly # confused, reporting a ton of duplicate macro definitions.) # -# $Id: aclocal-flags,v 1.1 2000/07/26 08:03:40 guy Exp $ +# $Id: aclocal-flags,v 1.2 2000/11/22 04:03:22 gram Exp $ # # @@ -32,7 +32,14 @@ aclocal_dir=`aclocal --print-ac-dir` # # And where do we want to make sure it looks? # -gtk_aclocal_dir=`gtk-config --prefix`/share/aclocal +gtk_prefix=`gtk-config --prefix` + +if [ -z "$gtk_prefix" ] +then + gtk_aclocal_dir="" +else + gtk_aclocal_dir=$gtk_prefix/share/aclocal +fi # # If there's no "aclocal", the former will be empty; if there's no diff --git a/autogen.sh b/autogen.sh index 7a5c179473..ea3b1c64fe 100755 --- a/autogen.sh +++ b/autogen.sh @@ -2,7 +2,7 @@ # # Run this to generate all the initial makefiles. # -# $Id: autogen.sh,v 1.12 2000/10/16 23:18:03 guy Exp $ +# $Id: autogen.sh,v 1.13 2000/11/22 04:03:22 gram Exp $ DIE=true PROJECT="Ethereal" @@ -13,7 +13,7 @@ python -c "print 'Checking for python.'" if [ $? != 0 ] ; then cat >&2 <<_EOF_ - You must have Python in order to compiler $PROJECT. + You must have Python in order to compile $PROJECT. Download the appropriate package for your distribution/OS, or get the source tarball at http://www.python.org/ _EOF_ diff --git a/configure.in b/configure.in index b09d75d1fd..99cbd7eac5 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -# $Id: configure.in,v 1.109 2000/11/20 17:10:24 gram Exp $ +# $Id: configure.in,v 1.110 2000/11/22 04:03:22 gram Exp $ dnl dnl Process this file with autoconf 2.13 or later to produce a dnl configure script; 2.12 doesn't generate a "configure" script that @@ -158,6 +158,22 @@ case "$host_os" in ;; esac + +# Enable/disable tethereal + +GTK_OK=yes + +AC_ARG_ENABLE(ethereal, +[ --enable-ethereal build GTK+-based ethereal. [default=yes]],,enable_ethereal=yes) + +# GTK checks +# We don't add $GLIB_LIBS to LIBS, because we don't want to force all +# programs to be built with GTK+. +# +if test "x$enable_ethereal" = "xyes" ; then + AM_PATH_GTK(1.2.0, CFLAGS="$CFLAGS $GTK_CFLAGS", GTK_OK=no ) +fi + # GLib checks # This doesn't add GLIB_CFLAGS to CFLAGS, because AM_PATH_GTK will add # GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a superset of CFLAGS. @@ -168,14 +184,59 @@ esac # We don't add $GLIB_LIBS to LIBS, because we don't want to force all # programs to be built with GLib. # -AM_PATH_GLIB(1.2.0, , AC_MSG_ERROR(GLib distribution not found.), gmodule) +if test "$GTK_OK" = "yes" -a "x$enable_ethereal" = "xyes" ; then + ethereal_bin="ethereal" + ethereal_man="ethereal.1" + ethereal_SUBDIRS="gtk" + + # Ignore GLIB_CFLAGS + AM_PATH_GLIB(1.2.0, , AC_MSG_ERROR(GLib distribution not found.), gmodule) +else + enable_ethereal="no" + ethereal_bin="" + ethereal_man="" + # Honor GLIB_CFLAGS + AM_PATH_GLIB(1.2.0, CFLAGS="$CFLAGS $GLIB_CFLAGS", AC_MSG_ERROR(GLib distribution not found.), gmodule) +fi + +AC_SUBST(ethereal_bin) +AC_SUBST(ethereal_man) + + + +# Enable/disable tethereal + +AC_ARG_ENABLE(tethereal, +[ --enable-tethereal build tethereal. [default=yes]],,enable_tethereal=yes) + +if test "x$enable_tethereal" = "xyes" ; then + tethereal_bin="tethereal" + tethereal_man="tethereal.1" +else + tethereal_bin="" + tethereal_man="" +fi +AC_SUBST(tethereal_bin) +AC_SUBST(tethereal_man) + + + +# Enable/disable editcap + +AC_ARG_ENABLE(editcap, +[ --enable-editcap build editcap. [default=yes]],,enable_editcap=yes) + +if test "x$enable_editcap" = "xyes" ; then + editcap_bin="editcap" + editcap_man="editcap.1" +else + editcap_bin="" + editcap_man="" +fi +AC_SUBST(editcap_bin) +AC_SUBST(editcap_man) + -# GTK checks -# We don't add $GLIB_LIBS to LIBS, because we don't want to force all -# programs to be built with GTK+. -# -AM_PATH_GTK(1.2.0, CFLAGS="$CFLAGS $GTK_CFLAGS", - AC_MSG_ERROR(GTK+ distribution not found.)) dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get dnl "gethostbyname()". @@ -417,3 +478,32 @@ AC_OUTPUT( plugins/gryphon/Makefile plugins/mgcp/Makefile) + +# Pretty messages + +if test "x$enable_setuid_install" = "xyes" ; then + setuid_message="yes (DANGEROUS!!!)" +else + setuid_message="no" +fi + +if test "x$SNMP_LIBS" = "x" ; then + snmp_libs_message="no" +else + snmp_libs_message="yes" +fi + + + +echo "" +echo "The Ethereal package has been configured with the following options." +echo " Build ethereal : $enable_ethereal" +echo " Build tethereal : $enable_tethereal" +echo " Build editcap : $enable_editcap" +echo " Install setuid : $setuid_message" +echo " Use pcap library : $enable_pcap" +echo " Use zlib library : $enable_zlib" +echo " Use IPv6 name resolution : $enable_ipv6" +echo " Use SNMP library : $snmp_libs_message" + + -- cgit v1.2.3