diff options
author | Guy Harris <guy@alum.mit.edu> | 2000-07-26 08:03:57 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2000-07-26 08:03:57 +0000 |
commit | ec9f9cb687475f16b4c67e7f33a455909e45b8a2 (patch) | |
tree | d41bec83539106676f39a43b43d39756172d79f7 | |
parent | 7de3b988bd496445c2cb4437114a88c1777fce06 (diff) |
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
-rw-r--r-- | Makefile.am | 5 | ||||
-rwxr-xr-x | aclocal-flags | 49 | ||||
-rwxr-xr-x | autogen.sh | 5 | ||||
-rw-r--r-- | wiretap/Makefile.am | 4 |
4 files changed, 59 insertions, 4 deletions
diff --git a/Makefile.am b/Makefile.am index d5bd9ee0f8..8e9ad06aba 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 \ diff --git a/aclocal-flags b/aclocal-flags new file mode 100755 index 0000000000..85ed1410f2 --- /dev/null +++ b/aclocal-flags @@ -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 diff --git a/autogen.sh b/autogen.sh index 5642f71cd6..cb1ad9a373 100755 --- a/autogen.sh +++ b/autogen.sh @@ -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 diff --git a/wiretap/Makefile.am b/wiretap/Makefile.am index 02c3c0c928..3881206dc1 100644 --- a/wiretap/Makefile.am +++ b/wiretap/Makefile.am @@ -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 |