Make it easier on maintainers who use their own Automake.
* autogen.sh (ACLOCAL_PATH, AUTORECONF_ENV): New vars. Set them to avoid problems when maintainers prepend their own Automake installations to their PATH. Report an error if pkg.m4 can't be found.
This commit is contained in:
parent
53a7da76db
commit
af3e4d067a
3 changed files with 60 additions and 13 deletions
|
@ -1,3 +1,11 @@
|
|||
2014-05-03 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Make it easier on maintainers who use their own Automake.
|
||||
* autogen.sh (ACLOCAL_PATH, AUTORECONF_ENV): New vars.
|
||||
Set them to avoid problems when maintainers prepend their own
|
||||
Automake installations to their PATH. Report an error if pkg.m4
|
||||
can't be found.
|
||||
|
||||
2014-05-02 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* configure.ac (PKG_CONFIG_PATH): Declare with AC_ARG_VAR.
|
||||
|
|
45
autogen.sh
45
autogen.sh
|
@ -195,7 +195,7 @@ this script.
|
|||
If you know that the required versions are in your PATH, but this
|
||||
script has made an error, then you can simply run
|
||||
|
||||
autoreconf -i -I m4
|
||||
autoreconf -fi -I m4
|
||||
|
||||
instead of this script.
|
||||
|
||||
|
@ -205,12 +205,51 @@ EOF
|
|||
exit 1
|
||||
fi
|
||||
|
||||
echo "Your system has the required tools, running autoreconf..."
|
||||
# If automake is installed in a nonstandard location, find the standard
|
||||
# location if possible and append it to ACLOCAL_PATH. That way, it will
|
||||
# find the pkg.m4 that is installed in the standard location.
|
||||
echo "Checking for pkg.m4..."
|
||||
AUTORECONF_ENV=
|
||||
ac_dir=`aclocal --print-ac-dir` && test -r "$ac_dir/pkg.m4" || {
|
||||
oIFS=$IFS
|
||||
IFS=:
|
||||
before_first_aclocal=true
|
||||
for dir in $PATH; do
|
||||
if test -x "$dir/aclocal"; then
|
||||
if $before_first_aclocal; then
|
||||
before_first_aclocal=false
|
||||
elif ac_dir=`"$dir/aclocal" --print-ac-dir` && test -r "$ac_dir/pkg.m4"
|
||||
then
|
||||
case $ACLOCAL_PATH in
|
||||
'') ACLOCAL_PATH=$ac_dir;;
|
||||
?*) ACLOCAL_PATH=$ACLOCAL_PATH:$ac_dir;;
|
||||
esac
|
||||
export ACLOCAL_PATH
|
||||
AUTORECONF_ENV="ACLOCAL_PATH='$ACLOCAL_PATH' "
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS=$oIFS
|
||||
|
||||
if test -z "$AUTORECONF_ENV"; then
|
||||
cat <<EOF
|
||||
The version of aclocal that you are using cannot find the pkg.m4 file that
|
||||
pkg-config provides. If it is installed in some unusual directory /FOO/BAR,
|
||||
set ACLOCAL_PATH='/FOO/BAR' in the environment and run this script again.
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
echo ok
|
||||
|
||||
echo 'Your system has the required tools.'
|
||||
echo "Running \"${AUTORECONF_ENV}autoreconf -fi -I m4\" ..."
|
||||
|
||||
|
||||
## Let autoreconf figure out what, if anything, needs doing.
|
||||
## Use autoreconf's -f option in case autoreconf itself has changed.
|
||||
autoreconf -f -i -I m4 || exit $?
|
||||
autoreconf -fi -I m4 || exit $?
|
||||
|
||||
## Create a timestamp, so that './autogen.sh; make' doesn't
|
||||
## cause 'make' to needlessly run 'autoheader'.
|
||||
|
|
20
etc/PROBLEMS
20
etc/PROBLEMS
|
@ -1234,7 +1234,7 @@ https://bugzilla.xfce.org/show_bug.cgi?id=7588 .
|
|||
|
||||
When you start Emacs you may see something like this:
|
||||
|
||||
(emacs:2286): LIBDBUSMENU-GTK-CRITICAL **: watch_submenu: assertion
|
||||
(emacs:2286): LIBDBUSMENU-GTK-CRITICAL **: watch_submenu: assertion
|
||||
`GTK_IS_MENU_SHELL(menu)' failed
|
||||
|
||||
This happens if the Emacs binary has been renamed. The cause is the Ubuntu
|
||||
|
@ -2223,16 +2223,16 @@ If you do, please send it to bug-gnu-emacs@gnu.org so we can list it here.
|
|||
|
||||
* Build-time problems
|
||||
|
||||
** Autogen.sh / Autoreconf
|
||||
** Autoreconf
|
||||
|
||||
*** Running `autogen.sh' or `autoreconf' fails with an error of the form
|
||||
"possibly undefined macro: PKG_CONFIG". This indicates that the version
|
||||
of aclocal that you are using cannot find the pkg.m4 file that
|
||||
pkg-config provides. If you installed your own version of automake in
|
||||
a non-standard location /prefix, then add a line to the
|
||||
/prefix/share/aclocal/dirlist file (create the file if necessary)
|
||||
that gives the location of the directory that contains pkg.m4
|
||||
(e.g. /usr/share/aclocal).
|
||||
*** autoreconf fails with "possibly undefined macro: PKG_CONFIG".
|
||||
This can happen if you installed your own automake in a non-standard
|
||||
location /prefix. The simplest workaround is to run ./autogen.sh
|
||||
instead. If you prefer to run autoreconf directly, then if pkg.m4 is
|
||||
in the directory /usr/share/aclocal you can append /usr/share/local to
|
||||
your ACLOCAL_PATH environment variable, or you can add a line
|
||||
"/usr/share/aclocal" to the file /prefix/share/aclocal/dirlist (create
|
||||
the file if necessary).
|
||||
|
||||
** Configuration
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue