bug-m4
[Top][All Lists]
Advanced

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

Re: [Nicolas Joly <address@hidden>] Re: CVS automake testsuite failures


From: Akim Demaille
Subject: Re: [Nicolas Joly <address@hidden>] Re: CVS automake testsuite failures under Tru64 unix
Date: 07 Jun 2002 13:16:31 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Honest Recruiter)

| Am Fre, 2002-06-07 um 11.43 schrieb Akim Demaille:
| > 
| > Well, I think it is high time to disable include and sinclude from
| > Autoconf.  That's too dangerous.  Paul, do we agree?  m4_include and
| > m4_sinclude are available since 2.50, and people are not supposed to
| > use include and sinclude.  Do your greps reveal some people still use
| > it?
| Yes, the whole sources.redhat.com and gcc.gnu.org source trees are
| scattered with it:
| 
| # find sourceware/src gcc/subversions/gcc-3.1-branch newlib \( -name
| 'acin*' -o -name 'configu*' \) -exec grep -H sinclude {} \;
| 
| sourceware/src/ld/acinclude.m4:sinclude(../bfd/acinclude.m4)
| sourceware/src/ld/acinclude.m4:dnl sinclude(../libtool.m4) already
| included in bfd/acinclude.m4
| sourceware/src/ld/acinclude.m4:dnl sinclude(../gettext.m4) already
| included in bfd/acinclude.m4
| sourceware/src/bfd/acinclude.m4:sinclude(../libtool.m4)
| sourceware/src/bfd/acinclude.m4:sinclude(../gettext.m4)
| sourceware/src/gas/acinclude.m4:sinclude(../libtool.m4)
| sourceware/src/gas/acinclude.m4:sinclude(../gettext.m4)
| sourceware/src/gdb/acinclude.m4:sinclude(../bfd/acinclude.m4)
| sourceware/src/gdb/acinclude.m4:sinclude(../config/acinclude.m4)
| sourceware/src/gdb/acinclude.m4:dnl sinclude(../gettext.m4) already
| included by bfd/acinclude.m4
| sourceware/src/sim/sh/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/arm/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/ppc/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/w65/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/z8k/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/d10v/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/d30v/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/i960/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/fr30/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/m32r/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/igen/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/mips/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/v850/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/h8300/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/h8500/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/erc32/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/mcore/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/tic80/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/mn10200/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/mn10300/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/m68hc11/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/sim/sh64/configure.in:sinclude(../common/aclocal.m4)
| sourceware/src/binutils/acinclude.m4:sinclude(../bfd/acinclude.m4)
| sourceware/src/binutils/acinclude.m4:dnl sinclude(../libtool.m4) already
| included in bfd/acinclude.m4
| sourceware/src/binutils/acinclude.m4:dnl sinclude(../gettext.m4) already
| included in bfd/acinclude.m4
| sourceware/src/gprof/acinclude.m4:sinclude(../libtool.m4)
| sourceware/src/gprof/acinclude.m4:sinclude(../gettext.m4)
| sourceware/src/mmalloc/acinclude.m4:sinclude(../bfd/acinclude.m4)
| sourceware/src/expect/testsuite/configure.in:sinclude(../aclocal.m4)
| sourceware/src/libgui/acinclude.m4:"sinclude(../config/acinclude.m4)"
| sourceware/src/opcodes/acinclude.m4:sinclude(../bfd/acinclude.m4)
| sourceware/src/opcodes/acinclude.m4:dnl sinclude(../libtool.m4) already
| included in bfd/acinclude.m4
| sourceware/src/opcodes/acinclude.m4:dnl sinclude(../gettext.m4) already
| included in bfd/acinclude.m4
| gcc/subversions/gcc-3.1-branch/zlib/acinclude.m4:sinclude(../libtool.m4)
| gcc/subversions/gcc-3.1-branch/libjava/acinclude.m4:sinclude(../libtool.m4)
| 
gcc/subversions/gcc-3.1-branch/libstdc++-v3/acinclude.m4:sinclude(../libtool.m4)
| gcc/subversions/gcc-3.1-branch/libffi/acinclude.m4:sinclude(../libtool.m4)
| gcc/subversions/gcc-3.1-branch/boehm-gc/acinclude.m4:sinclude(../libtool.m4)

Thanks Raph.  I'm installing the following patch then:

Index: ChangeLog
from  Akim Demaille  <address@hidden>

        * lib/autoconf/autoconf.m4 (builtin, changequote, decr, define)
        (defn, divert, divnum, errprint, esyscmd, ifdef, ifelse, incr)
        (index, indir, len, patsubst, popdef, pushdef, regexp, sinclude)
        (syscmd, sysval, traceoff, traceon, translit, undefine, undivert):
        Instead of reinstalling them silently, use AU_ALIAS so that users
        be warn they are deprecated.

Index: NEWS
===================================================================
RCS file: /cvsroot/autoconf/autoconf/NEWS,v
retrieving revision 1.246
diff -u -u -r1.246 NEWS
--- NEWS 7 Jun 2002 09:30:24 -0000 1.246
+++ NEWS 7 Jun 2002 11:15:19 -0000
@@ -12,6 +12,7 @@
 ** Macros
 
 - AC_CONFIG_LINKS now makes copies if it can't make links.
+
 - AC_FUNC_FNMATCH now tests only for POSIX compatibility, reverting to
   Autoconf 2.13 behavior.  The new macro AC_FUNC_FNMATCH_GNU also
   tests for GNU extensions to fnmatch, and replaces fnmatch if needed.
@@ -28,6 +29,14 @@
 
 - AC_FUNC_GETLOADAVG
   looks for getloadavg.c in the CONFIG_LIBOBJ_DIR.
+
+- M4 Builtins
+  The use of M4 builtins is dangerous and has already created too much
+  troubles.  Since a couple of releases, they have been disabled in
+  Autoconf internals, but restored for backward compatibility.  They
+  are now still restored for backward compatibility, but they trigger
+  an ``obsolete'' message.  For instance, instead of `include', use
+  `m4_include'.
 
 ** Bug fixes
 
Index: lib/autoconf/autoconf.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/autoconf.m4,v
retrieving revision 1.41
diff -u -u -r1.41 autoconf.m4
--- lib/autoconf/autoconf.m4 10 Apr 2002 15:58:20 -0000 1.41
+++ lib/autoconf/autoconf.m4 7 Jun 2002 11:15:19 -0000
@@ -73,33 +73,33 @@
 # names too.  But users may still depend upon these, so reestablish
 # them.
 
-m4_copy_unm4([m4_builtin])
-m4_copy_unm4([m4_changequote])
-m4_copy_unm4([m4_decr])
-m4_copy_unm4([m4_define])
-m4_copy_unm4([m4_defn])
-m4_copy_unm4([m4_divert])
-m4_copy_unm4([m4_divnum])
-m4_copy_unm4([m4_errprint])
-m4_copy_unm4([m4_esyscmd])
-m4_copy_unm4([m4_ifdef])
-m4_copy([m4_if], [ifelse])
-m4_copy_unm4([m4_incr])
-m4_copy_unm4([m4_index])
-m4_copy_unm4([m4_indir])
-m4_copy_unm4([m4_len])
-m4_copy([m4_bpatsubst], [patsubst])
-m4_copy_unm4([m4_popdef])
-m4_copy_unm4([m4_pushdef])
-m4_copy([m4_bregexp], [regexp])
-m4_copy_unm4([m4_sinclude])
-m4_copy_unm4([m4_syscmd])
-m4_copy_unm4([m4_sysval])
-m4_copy_unm4([m4_traceoff])
-m4_copy_unm4([m4_traceon])
-m4_copy_unm4([m4_translit])
-m4_copy_unm4([m4_undefine])
-m4_copy_unm4([m4_undivert])
+AU_ALIAS([builtin],     [m4_builtin])
+AU_ALIAS([changequote], [m4_changequote])
+AU_ALIAS([decr],        [m4_decr])
+AU_ALIAS([define],      [m4_define])
+AU_ALIAS([defn],        [m4_defn])
+AU_ALIAS([divert],      [m4_divert])
+AU_ALIAS([divnum],      [m4_divnum])
+AU_ALIAS([errprint],    [m4_errprint])
+AU_ALIAS([esyscmd],     [m4_esyscmd])
+AU_ALIAS([ifdef],       [m4_ifdef])
+AU_ALIAS([ifelse],      [m4_if])
+AU_ALIAS([incr],        [m4_incr])
+AU_ALIAS([index],       [m4_index])
+AU_ALIAS([indir],       [m4_indir])
+AU_ALIAS([len],         [m4_len])
+AU_ALIAS([patsubst],    [m4_bpatsubst])
+AU_ALIAS([popdef],      [m4_popdef])
+AU_ALIAS([pushdef],     [m4_pushdef])
+AU_ALIAS([regexp],      [m4_bregexp])
+AU_ALIAS([sinclude],    [m4_sinclude])
+AU_ALIAS([syscmd],      [m4_syscmd])
+AU_ALIAS([sysval],      [m4_sysval])
+AU_ALIAS([traceoff],    [m4_traceoff])
+AU_ALIAS([traceon],     [m4_traceon])
+AU_ALIAS([translit],    [m4_translit])
+AU_ALIAS([undefine],    [m4_undefine])
+AU_ALIAS([undivert],    [m4_undivert])
 
 # Yet some people have started to use m4_patsubst and m4_regexp.
 m4_define([m4_patsubst],




reply via email to

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