summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Lirzin <mthl@gnu.org>2017-08-29 21:15:14 +0200
committerMathieu Lirzin <mthl@gnu.org>2017-08-31 00:33:59 +0200
commitab2d33e635f85f8f215b7e8f14571ec6360d2243 (patch)
tree737e084b831e67f10d68a207628fbe267b2f0a2d
parentdd0b8142683d35bdb7e04cc15ece43039ede2a41 (diff)
downloadautomake-ab2d33e635f85f8f215b7e8f14571ec6360d2243.tar.gz
aclocal: Support ACLOCAL_AUTOMAKE_DIR environment variable
* bin/aclocal.in: Reset '@automake_includes' and '@system_includes' in for build environment. Allow setting '@automake_includes' with ACLOCAL_AUTOMAKE_DIR environment variable. (parse_arguments): Ignore 'dirlist' when '@system_includes' is empty. * doc/automake.texi (aclocal Options): Document ACLOCAL_AUTOMAKE_DIR. * bin/wrap-aclocal.in: Remove extra command line options. * pre-inst-env.in: Set ACLOCAL_AUTOMAKE_DIR and ACLOCAL_PATH environment variables. * t/ax/test-defs.in: Adapt. * t/ansi2knr-no-more.sh (warn_rx): Likewise.
-rw-r--r--bin/aclocal.in12
-rw-r--r--bin/wrap-aclocal.in7
-rw-r--r--doc/automake.texi5
-rw-r--r--pre-inst-env.in6
-rw-r--r--t/ansi2knr-no-more.sh2
-rw-r--r--t/ax/test-defs.in4
6 files changed, 25 insertions, 11 deletions
diff --git a/bin/aclocal.in b/bin/aclocal.in
index abd352376..738996f39 100644
--- a/bin/aclocal.in
+++ b/bin/aclocal.in
@@ -1111,7 +1111,7 @@ sub parse_arguments ()
}
# Finally, adds any directory listed in the 'dirlist' file.
- if (open (DIRLIST, "$system_includes[0]/dirlist"))
+ if (@system_includes && open (DIRLIST, "$system_includes[0]/dirlist"))
{
while (<DIRLIST>)
{
@@ -1146,6 +1146,16 @@ sub parse_ACLOCAL_PATH ()
################################################################
+# Don't refer to installation directories from the build environment
+if (exists $ENV{"AUTOMAKE_UNINSTALLED"})
+ {
+ @automake_includes = ();
+ @system_includes = ();
+ }
+
+@automake_includes = ($ENV{"ACLOCAL_AUTOMAKE_DIR"})
+ if (exists $ENV{"ACLOCAL_AUTOMAKE_DIR"});
+
parse_WARNINGS; # Parse the WARNINGS environment variable.
parse_arguments;
parse_ACLOCAL_PATH;
diff --git a/bin/wrap-aclocal.in b/bin/wrap-aclocal.in
index 2fcccb4a2..e6e4782d2 100644
--- a/bin/wrap-aclocal.in
+++ b/bin/wrap-aclocal.in
@@ -16,11 +16,4 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-BEGIN
-{
- use strict;
- unshift @ARGV,
- '--automake-acdir=@abs_top_srcdir@/m4',
- '--system-acdir=@abs_top_srcdir@/m4/acdir';
-}
require '@abs_top_builddir@/bin/aclocal';
diff --git a/doc/automake.texi b/doc/automake.texi
index 1f0b7e581..dbe222d20 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -3221,6 +3221,11 @@ overridden using the @env{AUTOM4TE} environment variable.
Look for the automake-provided macro files in @var{dir} instead of
in the installation directory. This is typically used for debugging.
+@vindex ACLOCAL_AUTOMAKE_DIR
+The environment variable @env{ACLOCAL_AUTOMAKE_DIR} provides another
+way to set the directory containing automake-provided macro files.
+However @option{--automake-acdir} takes precedence over it.
+
@item --system-acdir=@var{dir}
@opindex --system-acdir
Look for the system-wide third-party macro files (and the special
diff --git a/pre-inst-env.in b/pre-inst-env.in
index 880012cce..f285ca62c 100644
--- a/pre-inst-env.in
+++ b/pre-inst-env.in
@@ -32,4 +32,10 @@ export AUTOMAKE_UNINSTALLED
AUTOMAKE_LIBDIR="$abs_top_srcdir/lib"
export AUTOMAKE_LIBDIR
+ACLOCAL_AUTOMAKE_DIR="$abs_top_srcdir/m4"
+export ACLOCAL_AUTOMAKE_DIR
+
+ACLOCAL_PATH="$abs_top_srcdir/m4/acdir"
+export ACLOCAL_PATH
+
exec "$@"
diff --git a/t/ansi2knr-no-more.sh b/t/ansi2knr-no-more.sh
index f9128022b..8c13cd0a3 100644
--- a/t/ansi2knr-no-more.sh
+++ b/t/ansi2knr-no-more.sh
@@ -32,7 +32,7 @@ $ACLOCAL -Wnone 2>stderr && { cat stderr >&2; exit 1; }
cat stderr >&2
grep "^configure\\.ac:5:.*$warn_rx" stderr
-cat aclocal.sav "$am_automake_acdir"/obsolete.m4 > aclocal.m4
+cat aclocal.sav "$am_top_srcdir"/m4/obsolete.m4 > aclocal.m4
$AUTOCONF -Wnone 2>stderr && { cat stderr >&2; exit 1; }
cat stderr >&2
grep "^configure\\.ac:5:.*$warn_rx" stderr
diff --git a/t/ax/test-defs.in b/t/ax/test-defs.in
index b4a690fc6..8cace053b 100644
--- a/t/ax/test-defs.in
+++ b/t/ax/test-defs.in
@@ -55,13 +55,13 @@ case ${am_running_installcheck:=no} in
;;
no)
am_amdir=$am_top_srcdir/lib/am
- am_automake_acdir=$am_top_srcdir/m4
+ am_automake_acdir=""
am_bindir=$am_top_builddir/bin
am_datadir=$am_top_srcdir
am_docdir=$am_top_srcdir/doc
am_pkgvdatadir=$am_top_srcdir/lib
am_scriptdir=$am_top_srcdir/lib
- am_system_acdir=$am_top_srcdir/m4/acdir
+ am_system_acdir=""
;;
*)
echo "$me: variable 'am_running_installcheck' has invalid"