#
# Run this to generate all the initial makefiles.
#
-# $Id: autogen.sh,v 1.15 2001/12/09 21:05:54 guy Exp $
+# Copyright 2014 The Wireshark Authors
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
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
+# installation 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.
or get the source tarball at http://www.python.org/
_EOF_
DIE="exit 1"
-fi
-
+esac
-VER=`autoconf --version | grep '^autoconf' | sed 's/.*)//'`
-case "$VER" in
-0* | 1\.* | 2\.[0-9] | 2\.[0-9][a-z]* | \
-2\.1[0-2] | 2\.1[0-2][a-z]* )
+ACVER=`$AUTOCONF --version | grep '^autoconf' | sed 's/.*) *//'`
+case "$ACVER" in
+'' | 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_
esac
-VER=`automake --version | grep '^automake' | sed 's/.*)//'`
-case "$VER" in
-0* | 1\.[0-3] | 1\.[0-3][a-z]* )
+AMVER=`$AUTOMAKE --version | grep '^automake' | sed 's/.*) *//'`
+case "$AMVER" in
+1.11* | 1.1[2-9]*)
+ ;;
+
+*)
cat >&2 <<_EOF_
- You must have automake 1.4 or later installed to compile $PROJECT.
+ You must have automake 1.11 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_
esac
-VER=`libtool --version | grep ' libtool)' | \
-sed 's/.*) \([0-9][0-9.]*\) .*/\1/' `
-case "$VER" in
-0* | 1\.[0-2] | 1\.[0-2][a-z]* | \
-1\.3\.[0-2] | 1\.3\.[0-2][a-z]* )
+#
+# 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.* | 2.2 )
cat >&2 <<_EOF_
- You must have libtool 1.3.3 or later installed to compile $PROJECT.
+ You must have libtool 2.2.2 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_
;;
esac
-$DIE
-
#
-# We do NOT want libtoolize overwriting our versions of config.guess and
-# config.sub, so move them away and then move them back.
-# We don't omit "--force", as we want libtoolize to install other files
-# without whining.
+# XXX - is there some minimum version for which we should be checking?
#
-mv config.guess config.guess.save-libtool
-mv config.sub config.sub.save-libtool
-libtoolize --copy --force || 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."
+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
-aclocal_flags="`./aclocal-flags`"
-for dir in . epan wiretap ; do
- echo processing $dir
- (
- cd $dir
- 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 'make' to compile $PROJECT."
+$DIE
+
+LTARGS=" --copy --force"
+echo $LIBTOOLIZE $LTARGS
+$LIBTOOLIZE $LTARGS || exit 1
+aclocal_flags="-I m4"
+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
+
+echo "Now type \"./configure [options]\" and \"make\" to compile $PROJECT."