emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117050: Make it easier on maintainers who use their


From: Paul Eggert
Subject: [Emacs-diffs] trunk r117050: Make it easier on maintainers who use their own Automake.
Date: Sat, 03 May 2014 07:09:23 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117050
revision-id: address@hidden
parent: address@hidden
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Sat 2014-05-03 00:09:16 -0700
message:
  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.
modified:
  ChangeLog                      changelog-20091113204419-o5vbwnq5f7feedwu-1538
  autogen.sh                     autogen.sh-20091113204419-o5vbwnq5f7feedwu-2495
  etc/PROBLEMS                   problems-20091113204419-o5vbwnq5f7feedwu-1498
=== modified file 'ChangeLog'
--- a/ChangeLog 2014-05-02 23:31:41 +0000
+++ b/ChangeLog 2014-05-03 07:09:16 +0000
@@ -1,3 +1,11 @@
+2014-05-03  Paul Eggert  <address@hidden>
+
+       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  <address@hidden>
 
        * configure.ac (PKG_CONFIG_PATH): Declare with AC_ARG_VAR.

=== modified file 'autogen.sh'
--- a/autogen.sh        2014-05-02 23:18:11 +0000
+++ b/autogen.sh        2014-05-03 07:09:16 +0000
@@ -195,7 +195,7 @@
 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 @@
     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'.

=== modified file 'etc/PROBLEMS'
--- a/etc/PROBLEMS      2014-05-02 23:18:11 +0000
+++ b/etc/PROBLEMS      2014-05-03 07:09:16 +0000
@@ -1234,7 +1234,7 @@
 
 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 @@
 
 * 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
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]