Add a script, "aclocal-flags", which figures out where
1) aclocal expects autoconf/automake macros to be hidden; 2) GTK+ hid its autoconf/automake macros; and, if both places exist but aren't the same directory, returns a "-I" flag to tell aclocal to look in GTK+'s directory. Then have "autogen.sh", and Makefiles in directories with "acinclude.m4" files, use that script and pass what flag it supplies, if any, to aclocal. This should, I hope, avoid problems such as those FreeBSD systems where GTK+ was installed from a port or package (and thus stuck its macros in "/usr/X11R6/share/aclocal") but aclocal doesn't look there. (It doesn't solve the problem of somebody downloading and installing, say, libtool from source - which means it probably shows up under "/usr/local", with its macros in "/usr/local/share/aclocal" - on a system that comes with aclocal (meaning it probably just looks in "/usr/share/aclocal", but that may be best fixed by, whenever you download a source tarball for something that's part of your OS, configuring it to install in the standard system directories and *overwriting* your OS's version.) svn path=/trunk/; revision=2165
This commit is contained in:
parent
7de3b988bd
commit
ec9f9cb687
@ -1,7 +1,7 @@
|
||||
# Makefile.am
|
||||
# Automake file for Ethereal
|
||||
#
|
||||
# $Id: Makefile.am,v 1.213 2000/07/26 03:38:26 gerald Exp $
|
||||
# $Id: Makefile.am,v 1.214 2000/07/26 08:03:38 guy Exp $
|
||||
#
|
||||
# Ethereal - Network traffic analyzer
|
||||
# By Gerald Combs <gerald@zing.org>
|
||||
@ -22,6 +22,8 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
ACLOCAL_AMFLAGS = `./aclocal-flags`
|
||||
|
||||
EXTRA_PROGRAMS = ethereal_static
|
||||
bin_PROGRAMS = ethereal editcap tethereal
|
||||
|
||||
@ -464,6 +466,7 @@ DISTCLEANFILES = \
|
||||
*~
|
||||
|
||||
EXTRA_DIST = \
|
||||
aclocal-flags \
|
||||
config.h.win32 \
|
||||
config.nmake \
|
||||
debian/README.debian \
|
||||
|
49
aclocal-flags
Executable file
49
aclocal-flags
Executable file
@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This script returns the flags to be fed to "aclocal" to ensure that
|
||||
# it finds GTK+'s aclocal macros.
|
||||
#
|
||||
# aclocal will search, by default, only in a directory in the same
|
||||
# tree where it was installed - e.g., if installed in "/usr/bin", it'll
|
||||
# search only in "/usr/share/aclocal", and if installed in "/usr/local/bin",
|
||||
# it'll search only in "/usr/local/share/aclocal".
|
||||
#
|
||||
# However, there is no guarantee that GTK+ has been installed there; if
|
||||
# it's not, it won't find the GTK+ autoconf macros, and will complain
|
||||
# bitterly.
|
||||
#
|
||||
# So, if the "share/local" directory under the directory reported by
|
||||
# "gtk-config --prefix" isn't the same directory as the directory
|
||||
# reported by "aclocal --print-ac-dir", we return a "-I" flag with
|
||||
# the first of those directories as the argument.
|
||||
#
|
||||
# (If they *are* the same directory, and we supply that "-I" flag,
|
||||
# "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 $
|
||||
#
|
||||
|
||||
#
|
||||
# OK, where will aclocal look by default?
|
||||
#
|
||||
aclocal_dir=`aclocal --print-ac-dir`
|
||||
|
||||
#
|
||||
# And where do we want to make sure it looks?
|
||||
#
|
||||
gtk_aclocal_dir=`gtk-config --prefix`/share/aclocal
|
||||
|
||||
#
|
||||
# If there's no "aclocal", the former will be empty; if there's no
|
||||
# "gtk-config", the latter will be empty.
|
||||
#
|
||||
# Add the "-I" flag only if neither of those strings are empty, and
|
||||
# they're different.
|
||||
#
|
||||
if [ ! -z "$aclocal_dir" -a ! -z "$gtk_aclocal_dir" \
|
||||
-a "$aclocal_dir" != "$gtk_aclocal_dir" ]
|
||||
then
|
||||
echo "-I $gtk_aclocal_dir"
|
||||
fi
|
||||
exit 0
|
@ -2,7 +2,7 @@
|
||||
#
|
||||
# Run this to generate all the initial makefiles.
|
||||
#
|
||||
# $Id: autogen.sh,v 1.9 2000/07/22 20:00:21 guy Exp $
|
||||
# $Id: autogen.sh,v 1.10 2000/07/26 08:03:39 guy Exp $
|
||||
|
||||
DIE=true
|
||||
PROJECT="Ethereal"
|
||||
@ -62,11 +62,12 @@ if test -z "$*"; then
|
||||
echo "please specify them on the $0 command line."
|
||||
fi
|
||||
|
||||
aclocal_flags="`./aclocal-flags`"
|
||||
for dir in . wiretap ; do
|
||||
echo processing $dir
|
||||
(
|
||||
cd $dir
|
||||
aclocalinclude="$ACLOCAL_FLAGS"; \
|
||||
aclocalinclude="$ACLOCAL_FLAGS $aclocal_flags"; \
|
||||
echo aclocal $aclocalinclude
|
||||
aclocal $aclocalinclude || exit 1
|
||||
echo autoheader
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Makefile.am
|
||||
# Automake file for Wiretap
|
||||
#
|
||||
# $Id: Makefile.am,v 1.28 2000/06/06 16:21:26 gram Exp $
|
||||
# $Id: Makefile.am,v 1.29 2000/07/26 08:03:57 guy Exp $
|
||||
#
|
||||
# Ethereal - Network traffic analyzer
|
||||
# By Gerald Combs <gerald@zing.org>
|
||||
@ -22,6 +22,8 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
ACLOCAL_AMFLAGS = `../aclocal-flags`
|
||||
|
||||
noinst_LIBRARIES = libwiretap.a
|
||||
|
||||
#EXTRA_LIBRARIES = libwiretap.a
|
||||
|
Loading…
x
Reference in New Issue
Block a user