head bootstrap improvement

Eric Blake <[email protected]>
Newsgroups gmane.comp.gnu.m4.patches
Message-ID <[email protected]>
This patch relaxes things so you can once again bootstrap CVS head using M4 
1.4.3 as the installed version.

2006-11-16  Eric Blake  <[email protected]>

	* bootstrap: Relax m4 requirement, thanks to...
	* configure.ac (Gettext support): ...this workaround to the 1.4.4
	bug.  Undoes restriction added on 2006-11-09.

Index: bootstrap
===================================================================
RCS file: /sources/m4/m4/bootstrap,v
retrieving revision 1.43
diff -u -r1.43 bootstrap
--- bootstrap	9 Nov 2006 16:39:15 -0000	1.43
+++ bootstrap	16 Nov 2006 18:58:59 -0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# bootstrap (GNU M4) version 2006-11-09
+# bootstrap (GNU M4) version 2006-11-16
 # Written by Gary V. Vaughan  <[email protected]>
 
 # Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -39,7 +39,7 @@
 
 # This script bootstraps a CVS checkout of GNU M4 by correctly calling
 # out to parts of the GNU Build Platform.  Currently this requires GNU
-# Gettext 0.16 or better, Autoconf 2.60 or better, GNU M4 1.4.5 or
+# Gettext 0.16 or better, Autoconf 2.60 or better, GNU M4 1.4.x or
 # better, a CVS snapshot of Automake 1.10a or better, a CVS snapshot
 # of Libtool 2.1a or better, and the latest CVS checkout of Gnulib.
 # Libtool must be installed; either with the same --prefix as
@@ -246,14 +246,6 @@
   fi
 }
 
-## ---------------------------------------------- ##
-## Test that the installed M4 is powerful enough. ##
-## M4 1.4.4 and earlier are insufficient.         ##
-## ---------------------------------------------- ##
-if test -n "`echo 'ifdef(mac,bug)dnl' | $M4 --trace=mac`" ; then
-  func_fatal_error "Bootstrapping requires installed GNU M4 1.4.5 or greater."
-fi
-
 ## ------------------------------ ##
 ## Fetch translations.            ##
 ## (taken from GNU tar bootstrap) ##
Index: configure.ac
===================================================================
RCS file: /sources/m4/m4/configure.ac,v
retrieving revision 1.61
diff -u -r1.61 configure.ac
--- configure.ac	31 Oct 2006 02:05:37 -0000	1.61
+++ configure.ac	16 Nov 2006 18:58:59 -0000
@@ -144,6 +144,18 @@
 ## ---------------- ##
 ## Gettext support. ##
 ## ---------------- ##
+dnl M4 1.4.4 and earlier had a bug that tracing a macro made it falsely
+dnl appear as defined with an empty definition, even though `invoking'
+dnl the macro resulted in the macro name.  Gettext relies on whether
+dnl AM_GNU_GETTEXT_INTL_SUBDIR is defined, and automake traces this
+dnl macro, but we don't want to use an intl subdir, hence this workaround
+dnl to allow bootstrapping even on systems with old M4.
+dnl http://lists.gnu.org/archive/html/bug-gnu-utils/2006-11/msg00096.html
+m4_ifdef([AM_GNU_GETTEXT_INTL_SUBDIR],
+  [m4_if(m4_defn([AM_GNU_GETTEXT_INTL_SUBDIR]),[],
+    [m4_ifval(AM_GNU_GETTEXT_INTL_SUBDIR,
+      [m4_popdef([AM_GNU_GETTEXT_INTL_SUBDIR])])])])
+
 AM_GNU_GETTEXT([external], [need-formatstring-macros])
 AM_GNU_GETTEXT_VERSION([0.16])
 M4_GNU_GETTEXT
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.