changeset 17562:55235a8a0e6f

bootstrap: warn about BSD toolchain snafu With my help on IRC, Roman Bogorodskiy identified a bug where the BSD autoconf wrapper script eats stdin[1], which in turn causes autopoint from gettext 0.18.3 to fail to find AM_GNU_GETTEXT_VERSION out of configure.ac[2], with this error: ./bootstrap: autopoint --force autopoint: *** Missing version: please specify in configure.ac through a line 'AM_GNU_GETTEXT_VERSION(x.yy.zz)' the gettext version the package is using [1] http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/184479 [2] http://git.sv.gnu.org/cgit/gettext.git/commit/gettext-tools/misc/autopoint.in?id=eea2dddde The workaround would be painful to automate (because gettext hardcodes the use of autom4te rather than honoring ${AUTOM4TE}, we'd have to create a temporary wrapper earlier in $PATH that forwards to the real autom4te-x.yz - basically, repeating the logic of what a wrapper script was supposed to do). Further, while the broken autom4te definitely hurts gettext 0.18.3, it tends to have no issues with gettext 0.18.2; and since the problem has been identified, it will not be long before fixed autom4te and/or improved gettext that is not so stubborn about using exactly 'autom4te' will be available. Therefore, for now we just warn about the situation. * build-aux/bootstrap: Alert users to a broken autom4te. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Tue, 03 Dec 2013 17:42:38 -0700
parents eaaa7c775b60
children cba8e5c4cc66
files build-aux/bootstrap
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/build-aux/bootstrap	Thu Dec 05 09:22:20 2013 -0800
+++ b/build-aux/bootstrap	Tue Dec 03 17:42:38 2013 -0700
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Print a version string.
-scriptversion=2013-08-15.22; # UTC
+scriptversion=2013-12-05.23; # UTC
 
 # Bootstrap this package from checked-out sources.
 
@@ -551,6 +551,14 @@
   fi
 fi
 
+# Warn the user if autom4te appears to be broken; this causes known
+# issues with at least gettext 0.18.3.
+probe=$(echo 'm4_quote([hi])' | autom4te -l M4sugar -t 'm4_quote:$%' -)
+if test "x$probe" != xhi; then
+  warn_ "WARNING: your autom4te wrapper eats stdin;"
+  warn_ "if bootstrap fails, consider upgrading your autotools"
+fi
+
 echo "$0: Bootstrapping from checked-out $package sources..."
 
 # See if we can use gnulib's git-merge-changelog merge driver.