summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Lirzin <mthl@gnu.org>2017-08-27 17:41:50 +0200
committerMathieu Lirzin <mthl@gnu.org>2017-08-29 17:18:18 +0200
commit64031f2aaf721043eff0aecec840bce71cec97ae (patch)
tree5fc85248ec1a43336ac54588a98792aed46b5093
parentbb64793a95ea0576c817a8e01f0a689d9547de4a (diff)
downloadautomake-64031f2aaf721043eff0aecec840bce71cec97ae.tar.gz
build: Add 'pre-inst-env' wrapper script
This script allows someone building Automake from source to easily run 'automake' and 'aclocal' without having to install it or knowing the existence of "wrapped" scripts in "bin" directory. * pre-inst-env.in: New script. * configure.ac: Generate 'pre-inst-env' at configure time. * Makefile.am (nodist_noinst_SCRIPTS, CLEANFILES): Add it.
-rw-r--r--Makefile.am4
-rw-r--r--configure.ac1
-rw-r--r--pre-inst-env.in32
3 files changed, 37 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 65787e030..bdcafd933 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -69,6 +69,10 @@ generated_file_finalize = $(AM_V_at) \
fi; \
chmod a-w $@-t && mv -f $@-t $@
+# Wrapper for the build environment.
+nodist_noinst_SCRIPTS += pre-inst-env
+CLEANFILES += $(noinst_SCRIPTS)
+
# For some tests or targets, we need to have the just-build automake and
# aclocal scripts avaiable on PATH.
extend_PATH = \
diff --git a/configure.ac b/configure.ac
index c9c257b37..e936e9e00 100644
--- a/configure.ac
+++ b/configure.ac
@@ -580,6 +580,7 @@ AC_SUBST([EXEEXT])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_LINKS([GNUmakefile:GNUmakefile])
+AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
AC_CONFIG_FILES([bin/aclocal-${APIVERSION}:bin/wrap-aclocal.in],
[chmod +x bin/aclocal-${APIVERSION}],
[APIVERSION=$APIVERSION])
diff --git a/pre-inst-env.in b/pre-inst-env.in
new file mode 100644
index 000000000..1599c7b5d
--- /dev/null
+++ b/pre-inst-env.in
@@ -0,0 +1,32 @@
+#! /bin/sh
+# Copyright © 2017 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+abs_top_srcdir="@abs_top_srcdir@"
+abs_top_builddir="@abs_top_builddir@"
+
+sep='@PATH_SEPARATOR@';
+
+PERL5LIB="$abs_top_builddir/lib/${sep}$abs_top_srcdir/lib/${PERL5LIB:+${sep}}$PERL5LIB"
+export PERL5LIB
+
+PATH="$abs_top_builddir/bin${sep}$PATH"
+export PATH
+
+# Trigger the use of local modules.
+AUTOMAKE_UNINSTALLED=1
+export AUTOMAKE_UNINSTALLED
+
+exec "$@"