HTTPS is now needed to download the pkg-config source.
[metze/wireshark/wip.git] / autogen.sh
index 529aa10a2ba3fc3365ae9b354696855fa9a534de..19b4e8516d6e9e438589341bcb3834b6d5a61121 100755 (executable)
@@ -2,19 +2,52 @@
 #
 # Run this to generate all the initial makefiles.
 #
-# $Id$
+# 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"
+PROJECT="Wireshark"
 
-ACLOCAL=aclocal
+# 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
+AUTOMAKE=automake$AM_VERSION
 AUTOCONF=autoconf
+PKG_CONFIG=pkg-config
 
-# Check for python. There's no "--version" option!
-python -c "print 'Checking for python.'"
-if [ $? != 0 ] ; then
+# 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.
@@ -22,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/.*) *//'`
 case "$ACVER" in
-'' | 0.* | 1.* | 2.[0-4]* | \
-2.5[0-1] | 2.5[0-1][a-z]* )
+'' | 0.* | 1.* | 2.[0-5]* | 2.6[0123]* )
   cat >&2 <<_EOF_
 
-       You must have autoconf 2.52 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_
@@ -42,11 +73,14 @@ esac
 
 AMVER=`$AUTOMAKE --version | grep '^automake' | sed 's/.*) *//'`
 case "$AMVER" in
-'' | 0.* | 1.[0-5]* )
+1.9* | 1.[1][0-9]*)
+  ;;
+
+*)
 
   cat >&2 <<_EOF_
 
-       You must have automake 1.6 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_
@@ -85,47 +119,53 @@ _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
 
-for dir in . 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
-    if [ "$dir" = "." ] ; then
-        #
-        # 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.
-        #
-        mv config.guess config.guess.save-libtool
-        mv config.sub config.sub.save-libtool
-        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
-    fi
-    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
+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.
+# We don't omit "--force", as we want libtoolize to install other files
+# without whining.
+#
+mv config.guess config.guess.save-libtool
+mv config.sub config.sub.save-libtool
+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
+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
 
 echo
 echo "Now type \"./configure [options]\" and \"make\" to compile $PROJECT."