Fix allocation of option bocks in pcapng_read().
[metze/wireshark/wip.git] / autogen.sh
index 7bf6a93fa1735f9e15c9011b23123b69a50ec3b0..19b4e8516d6e9e438589341bcb3834b6d5a61121 100755 (executable)
@@ -2,15 +2,52 @@
 #
 # Run this to generate all the initial makefiles.
 #
-# $Id: autogen.sh,v 1.22 2003/01/22 00:19:00 jmayer Exp $
+# Copyright 2014 The Wireshark Authors
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program 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.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 DIE=true
-PROJECT="Ethereal"
-
-
-# Check for python. There's no "--version" option!
-python -c "print 'Checking for python.'"
-if [ $? != 0 ] ; then
+PROJECT="Wireshark"
+
+# If you are going to use the non-default name for automake becase your OS
+# installaion has multiple versions, you need to call both aclocal and automake
+# with that version number, as they come from the same package.
+#AM_VERSION='-1.8'
+
+ACLOCAL=aclocal$AM_VERSION
+AUTOHEADER=autoheader
+AUTOMAKE=automake$AM_VERSION
+AUTOCONF=autoconf
+PKG_CONFIG=pkg-config
+
+# Check for python. Python did not support --version before version 2.5.
+# Until we require a version > 2.5, we should use -V.
+PYVER=`exec python -V 2>&1 | sed 's/Python *//'`
+# If "python" isn't found, try "python3"
+if test "$PYVER" = "exec: python: not found"
+then
+    PYVER=`exec python3 -V 2>&1 | sed 's/Python *//'`
+fi
+case "$PYVER" in
+2*|3*)
+  ;;
+*)
   cat >&2 <<_EOF_
 
        You must have Python in order to compile $PROJECT.
@@ -18,16 +55,14 @@ if [ $? != 0 ] ; then
        or get the source tarball at http://www.python.org/
 _EOF_
   DIE="exit 1"
-fi
-
+esac
 
-ACVER=`autoconf --version | grep '^autoconf' | sed 's/.*)//'`
+ACVER=`$AUTOCONF --version | grep '^autoconf' | sed 's/.*) *//'`
 case "$ACVER" in
-0* | 1\.* | 2\.[0-9] | 2\.[0-9][a-z]* | \
-2\.1[0-2] | 2\.1[0-2][a-z]* )
+'' | 0.* | 1.* | 2.[0-5]* | 2.6[0123]* )
   cat >&2 <<_EOF_
 
-       You must have autoconf 2.13 or later installed to compile $PROJECT.
+       You must have autoconf 2.64 or later installed to compile $PROJECT.
        Download the appropriate package for your distribution/OS,
        or get the source tarball at ftp://ftp.gnu.org/pub/gnu/autoconf/
 _EOF_
@@ -36,13 +71,16 @@ _EOF_
 esac
 
 
-AMVER=`automake --version | grep '^automake' | sed 's/.*)//'`
+AMVER=`$AUTOMAKE --version | grep '^automake' | sed 's/.*) *//'`
 case "$AMVER" in
-0* | 1\.[0-3] | 1\.[0-3][a-z]* )
+1.9* | 1.[1][0-9]*)
+  ;;
+
+*)
 
   cat >&2 <<_EOF_
 
-       You must have automake 1.4 or later installed to compile $PROJECT.
+       You must have automake 1.9 or later installed to compile $PROJECT.
        Download the appropriate package for your distribution/OS,
        or get the source tarball at ftp://ftp.gnu.org/pub/gnu/automake/
 _EOF_
@@ -51,15 +89,29 @@ _EOF_
 esac
 
 
-LTVER=`libtool --version | grep ' libtool)' | \
-sed 's/.*) \([0-9][0-9.]*\) .*/\1/' `
+#
+# Apple's Developer Tools have a "libtool" that has nothing to do with
+# the GNU libtool; they call the latter "glibtool".  They also call
+# libtoolize "glibtoolize".
+#
+# Check for "glibtool" first.
+#
+LTVER=`glibtool --version 2>/dev/null | grep ' libtool)' | \
+    sed 's/.*libtool) \([0-9][0-9.]*\)[^ ]* .*/\1/'`
+if test -z "$LTVER"
+then
+       LTVER=`libtool --version | grep ' libtool)' | \
+           sed 's/.*) \([0-9][0-9.]*\)[^ ]* .*/\1/' `
+       LIBTOOLIZE=libtoolize
+else
+       LIBTOOLIZE=glibtoolize
+fi
 case "$LTVER" in
-0* | 1\.[0-2] | 1\.[0-2][a-z]* | \
-1\.3\.[0-2] | 1\.3\.[0-2][a-z]* )
+'' | 0.* | 1.[0-3]* )
 
   cat >&2 <<_EOF_
 
-       You must have libtool 1.3.3 or later installed to compile $PROJECT.
+       You must have libtool 1.4 or later installed to compile $PROJECT.
        Download the appropriate package for your distribution/OS,
        or get the source tarball at ftp://ftp.gnu.org/pub/gnu/libtool/
 _EOF_
@@ -67,8 +119,26 @@ _EOF_
   ;;
 esac
 
+#
+# XXX - is there some minimum version for which we should be checking?
+#
+PCVER=`pkg-config --version`
+if test -z "$PCVER"; then
+  cat >&2 <<_EOF_
+
+       You must have pkg-config installed to compile $PROJECT.
+       Download the appropriate package for your distribution/OS,
+       or get the source tarball at http://pkgconfig.freedesktop.org/releases/
+_EOF_
+  DIE="exit 1"
+fi
+
 $DIE
 
+aclocal_flags=`./aclocal-flags`
+aclocalinclude="$ACLOCAL_FLAGS $aclocal_flags";
+echo $ACLOCAL $aclocalinclude
+$ACLOCAL $aclocalinclude || exit 1
 #
 # We do NOT want libtoolize overwriting our versions of config.guess and
 # config.sub, so move them away and then move them back.
@@ -77,60 +147,25 @@ $DIE
 #
 mv config.guess config.guess.save-libtool
 mv config.sub config.sub.save-libtool
-libtoolize --copy --force || exit 1
+LTARGS=" --copy --force"
+echo $LIBTOOLIZE $LTARGS
+$LIBTOOLIZE $LTARGS || exit 1
 rm -f config.guess config.sub
 mv config.guess.save-libtool config.guess
 mv config.sub.save-libtool config.sub
-
-if test -z "$*"; then
-       echo "Running ./configure with no arguments. If you wish to pass any,"
-       echo "please specify them on the $0 command line."
+echo $AUTOHEADER
+$AUTOHEADER || exit 1
+echo $AUTOMAKE --add-missing --gnu $am_opt
+$AUTOMAKE --add-missing --gnu $am_opt || exit 1
+echo $AUTOCONF
+$AUTOCONF || exit 1
+
+if [ `uname -s` = Darwin ] ; then
+    echo
+    echo "To configure Wireshark on OS X, you will need to type:"
+    echo "export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/X11/lib/pkgconfig"
+    echo "before you can run configure."
 fi
 
-if glib-config --version >/dev/null 2>&1 ; then
-       rm -f aclocal-missing/glib.m4
-else
-       cp aclocal-fallback/glib.m4 aclocal-missing/
-fi
-if gtk-config --version >/dev/null 2>&1 ; then
-       rm -f aclocal-missing/gtk.m4
-else
-       cp aclocal-fallback/gtk.m4 aclocal-missing/
-fi
-if pkg-config glib-2.0 >/dev/null 2>&1 ; then
-       rm -f aclocal-missing/glib-2.0.m4
-else
-       cp aclocal-fallback/glib-2.0.m4 aclocal-missing/
-fi
-if pkg-config gtk+-2.0 >/dev/null 2>&1 ; then
-       rm -f aclocal-missing/gtk-2.0.m4
-else
-       cp aclocal-fallback/gtk-2.0.m4 aclocal-missing/
-fi
-
-for dir in . epan wiretap ;  do
-  echo processing $dir
-  (
-    cd $dir
-    if [ "$dir" = "." ] ; then
-        topdir=.
-    else
-        topdir=..
-    fi
-    aclocal_flags=`$topdir/aclocal-flags`
-    aclocalinclude="$ACLOCAL_FLAGS $aclocal_flags";
-    echo aclocal $aclocalinclude
-    aclocal $aclocalinclude || exit 1
-    echo autoheader
-    autoheader || exit 1
-    echo automake --add-missing --gnu $am_opt
-    automake --add-missing --gnu $am_opt || exit 1
-    echo autoconf
-    autoconf || exit 1
-  ) || exit 1
-done
-
-#./configure "$@" || exit 1
-
 echo
 echo "Now type \"./configure [options]\" and \"make\" to compile $PROJECT."