autogen.sh 3.47 KB
Newer Older
1 2 3 4
#!/bin/sh
#
# Run this to generate all the initial makefiles.
#
5 6 7 8 9 10
# Copyright 2014 The Wireshark Authors
#
# Wireshark - Network traffic analyzer
# By Gerald Combs <gerald@wireshark.org>
# Copyright 1998 Gerald Combs
#
11
# SPDX-License-Identifier: GPL-2.0-or-later
12

13
DIE=true
Michael Tüxen's avatar
Michael Tüxen committed
14
PROJECT="Wireshark"
15

16
# If you are going to use the non-default name for automake becase your OS
Moshe Kaplan's avatar
Moshe Kaplan committed
17
# installation has multiple versions, you need to call both aclocal and automake
18 19 20 21
# with that version number, as they come from the same package.
#AM_VERSION='-1.8'

ACLOCAL=aclocal$AM_VERSION
Jörg Mayer's avatar
Jörg Mayer committed
22
AUTOHEADER=autoheader
23
AUTOMAKE=automake$AM_VERSION
Jörg Mayer's avatar
Jörg Mayer committed
24
AUTOCONF=autoconf
Guy Harris's avatar
Guy Harris committed
25
PKG_CONFIG=pkg-config
26

27 28
# Check for python. Python did not support --version before version 2.5.
# Until we require a version > 2.5, we should use -V.
29 30 31 32 33 34
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
35 36 37 38
case "$PYVER" in
2*|3*)
  ;;
*)
39 40
  cat >&2 <<_EOF_

41
  	You must have Python in order to compile $PROJECT.
42 43 44 45
	Download the appropriate package for your distribution/OS,
	or get the source tarball at http://www.python.org/
_EOF_
  DIE="exit 1"
46
esac
47

Jörg Mayer's avatar
Jörg Mayer committed
48
ACVER=`$AUTOCONF --version | grep '^autoconf' | sed 's/.*) *//'`
Jörg Mayer's avatar
Jörg Mayer committed
49
case "$ACVER" in
50
'' | 0.* | 1.* | 2.[0-5]* | 2.6[0123]* )
51 52
  cat >&2 <<_EOF_

53
	You must have autoconf 2.64 or later installed to compile $PROJECT.
54 55 56 57 58 59 60 61
	Download the appropriate package for your distribution/OS,
	or get the source tarball at ftp://ftp.gnu.org/pub/gnu/autoconf/
_EOF_
  DIE="exit 1"
  ;;
esac


Jörg Mayer's avatar
Jörg Mayer committed
62
AMVER=`$AUTOMAKE --version | grep '^automake' | sed 's/.*) *//'`
Jörg Mayer's avatar
Jörg Mayer committed
63
case "$AMVER" in
64
1.11* | 1.1[2-9]*)
65 66 67
  ;;

*)
68 69 70

  cat >&2 <<_EOF_

71
	You must have automake 1.11 or later installed to compile $PROJECT.
72 73 74 75 76 77 78 79
	Download the appropriate package for your distribution/OS,
	or get the source tarball at ftp://ftp.gnu.org/pub/gnu/automake/
_EOF_
  DIE="exit 1"
  ;;
esac


80 81 82 83 84 85 86
#
# 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.
#
87
LTVER=`glibtool --version 2>/dev/null | grep ' libtool)' | \
88
    sed 's/.*libtool) \([0-9][0-9.]*\)[^ ]* .*/\1/'`
89 90 91
if test -z "$LTVER"
then
	LTVER=`libtool --version | grep ' libtool)' | \
92
	    sed 's/.*) \([0-9][0-9.]*\)[^ ]* .*/\1/' `
93 94 95 96
	LIBTOOLIZE=libtoolize
else
	LIBTOOLIZE=glibtoolize
fi
Jörg Mayer's avatar
Jörg Mayer committed
97
case "$LTVER" in
98
'' | 0.* | 1.* | 2.2 )
99 100 101

  cat >&2 <<_EOF_

102
	You must have libtool 2.2.2 or later installed to compile $PROJECT.
103 104 105 106 107 108 109
	Download the appropriate package for your distribution/OS,
	or get the source tarball at ftp://ftp.gnu.org/pub/gnu/libtool/
_EOF_
  DIE="exit 1"
  ;;
esac

Guy Harris's avatar
Guy Harris committed
110 111 112 113 114 115 116 117 118 119 120 121 122 123
#
# 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

124
$DIE
125

126 127 128
LTARGS=" --copy --force"
echo $LIBTOOLIZE $LTARGS
$LIBTOOLIZE $LTARGS || exit 1
129
aclocal_flags="-I m4"
130 131 132 133 134 135 136 137 138
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
139

Jörg Mayer's avatar
Jörg Mayer committed
140
echo "Now type \"./configure [options]\" and \"make\" to compile $PROJECT."