[1/2] Bump to autoconf 2.69 and automake 1.15.1
Commit Message
From: Simon Marchi <simon.marchi@ericsson.com>
When trying to run the update-gnulib.sh script in gdb, I get this:
Error: Wrong automake version (Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^ =:+{}]+)}/ at /opt/automake/1.11.1/bin/automake line 4113.), we need 1.11.1.
Aborting.
Apparently, it's an issue with a regex in automake that triggers a
warning starting with Perl 5.22. It has been fixed in automake 1.15.1.
So I think it's a good excuse to bump the versions of autoconf and
automake used in the gnulib import. And to avoid requiring multiple
builds of autoconf/automake, it was suggested that we bump the required
version of those tools for all binutils-gdb.
For autoconf, the 2.69 version is universally available, so it's an easy
choice. For automake, different distros and distro versions have
different automake versions. But 1.15.1 seems to be the most readily
available as a package. In any case, it's easy to build it from source.
This patch only includes the manually edited file. The changes to
generated files are included in the following patch. I have included
the generated changes in the ChangeLog entries below, and would amend
them just before pushing.
To help with testing, I pushed the changes to the
users/simark/autotools-bump on sourceware's git.
I hit a few categories of problems that required some changes. They are
described below along with the chosen solutions.
Problem 1:
configure.ac:17: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see:
configure.ac:17: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
Solution 1:
Adjust the code based on the example at that URL.
Problem 2 (in zlib/):
Makefile.am: error: required file './INSTALL' not found
Makefile.am: 'automake --add-missing' can install 'INSTALL'
Makefile.am: error: required file './NEWS' not found
Makefile.am: error: required file './AUTHORS' not found
Makefile.am: error: required file './COPYING' not found
Makefile.am: 'automake --add-missing' can install 'COPYING'
Solution 2:
Add the foreign option to AUTOMAKE_OPTIONS.
Problem 3:
doc/Makefile.am:20: error: support for Cygnus-style trees has been removed
Solution 3:
Remove the cygnus options.
Problem 4:
Makefile.am:656: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
Solution 4:
Rename "INCLUDES = " to "AM_CPPFLAGS += " (because AM_CPPFLAGS is
already defined earlier).
Problem 5:
doc/Makefile.am:71: warning: suffix '.texinfo' for Texinfo files is discouraged; use '.texi' instead
doc/Makefile.am: warning: Oops!
doc/Makefile.am: It appears this file (or files included by it) are triggering
doc/Makefile.am: an undocumented, soon-to-be-removed automake hack.
doc/Makefile.am: Future automake versions will no longer place in the builddir
doc/Makefile.am: (rather than in the srcdir) the generated '.info' files that
doc/Makefile.am: appear to be cleaned, by e.g. being listed in CLEANFILES or
doc/Makefile.am: DISTCLEANFILES.
doc/Makefile.am: If you want your '.info' files to be placed in the builddir
doc/Makefile.am: rather than in the srcdir, you have to use the shiny new
doc/Makefile.am: 'info-in-builddir' automake option.
Solution 5:
Rename .texinfo files to .texi.
Problem 6:
doc/Makefile.am: warning: Oops!
doc/Makefile.am: It appears this file (or files included by it) are triggering
doc/Makefile.am: an undocumented, soon-to-be-removed automake hack.
doc/Makefile.am: Future automake versions will no longer place in the builddir
doc/Makefile.am: (rather than in the srcdir) the generated '.info' files that
doc/Makefile.am: appear to be cleaned, by e.g. being listed in CLEANFILES or
doc/Makefile.am: DISTCLEANFILES.
doc/Makefile.am: If you want your '.info' files to be placed in the builddir
doc/Makefile.am: rather than in the srcdir, you have to use the shiny new
doc/Makefile.am: 'info-in-builddir' automake option.
Solution 6:
Remove the hack at the bottom of doc/Makefile.am and use
the info-in-builddir automake option.
Problem 7:
doc/Makefile.am:35: error: required file '../texinfo.tex' not found
doc/Makefile.am:35: 'automake --add-missing' can install 'texinfo.tex'
Solution 7:
Use the no-texinfo.tex automake option. We also have one in
texinfo/texinfo.tex, not sure if we should point to that, or move it
(or a newer version of it added with automake --add-missing) to
top-level.
Problem 8:
Makefile.am:131: warning: source file 'config/tc-aarch64.c' is in a subdirectory,
Makefile.am:131: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the 'subdir-objects'
automake: automake option hasn't been enabled. For now, the corresponding output
automake: object file(s) will be placed in the top-level directory. However,
automake: this behaviour will change in future Automake versions: they will
automake: unconditionally cause object files to be placed in the same subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout your
automake: project, to avoid future incompatibilities.
Solution 8:
Use subdir-objects, that means adjusting references to some .o that will now
be in config/.
Problem 9:
configure.ac:375: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2601: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2617: AC_COMPILE_IFELSE is expanded from...
../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
../../lib/autoconf/general.m4:2042: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2063: AC_CACHE_CHECK is expanded from...
configure.ac:375: the top level
Solution 9:
Use AC_LANG_SOURCE, or use proper quoting.
ChangeLog:
* libtool.m4: Use AC_LANG_SOURCE.
* ar-lib: New file.
* configure: Re-generate.
* configure.ac: Re-generate.
* test-driver: New file.
bfd/ChangeLog:
* Makefile.am (INCLUDES): Rename to ...
(AM_CPPFLAGS): ... this.
* Makefile.in: Re-generate.
* aclocal.m4: Re-generate.
* config.in: Re-generate.
* configure: Re-generate.
* doc/Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus, add
info-in-builddir no-texinfo.tex.
(info_TEXINFOS): Rename bfd.texinfo to bfd.texi.
* doc/bfd.texinfo: Rename to ...
* doc/bfd.texi: ... this.
* doc/Makefile.in: Re-generate.
binutils/ChangeLog:
* doc/Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus, add
info-in-builddir no-texinfo.tex.
* Makefile.in: Re-generate.
* aclocal.m4: Re-generate.
* config.in: Re-generate.
* configure: Re-generate.
* doc/Makefile.in: Re-generate.
config/ChangeLog:
* override.m4 (_GCC_AUTOCONF_VERSION): Bump from 2.64 to 2.69.
etc/ChangeLog:
* configure: Re-generate.
gas/ChangeLog:
* Makefile.am (AUTOMAKE_OPTIONS): Add subdir-objects.
* configure.ac (TARG_CPU_O, OBJ_FORMAT_O, ATOF_TARG_O, emfiles,
extra_objects): Add config/ prefix.
* Makefile.in: Re-generate.
* aclocal.m4: Re-generate.
* config.in: Re-generate.
* configure: Re-generate.
* doc/as.texinfo: Rename to...
* doc/as.texi: ... this.
* doc/Makefile.am: Rename as.texinfo to as.texi throughout.
Remove DISTCLEANFILES hack.
(AUTOMAKE_OPTIONS): Remove cygnus, add no-texinfo.tex and
info-in-builddir.
* doc/Makefile.in: Re-generate.
gdb/ChangeLog:
* common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
* configure.ac: Add missing quoting.
* configure: Re-generate.
* gnulib/configure.ac: Modernize usage of
AC_INIT/AM_INIT_AUTOMAKE. Bump AC_PREREQ to 2.69.
* gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
(AUTOMAKE_VERSION): Bump to 1.15.1.
* gnulib/aclocal.m4: Re-generate.
* gnulib/config.in: Re-generate.
* gnulib/configure: Re-generate.
* gnulib/import/Makefile.in: Re-generate.
gdb/gdbserver/ChangeLog:
* configure: Re-generate.
gdb/testsuite/ChangeLog:
* configure: Re-generate.
gold/ChangeLog:
* configure.ac: Add missing quoting and usage of AC_LANG_SOURCE.
* Makefile.in: Re-generate.
* aclocal.m4: Re-generate.
* configure: Re-generate.
* testsuite/Makefile.in: Re-generate.
gprof/ChangeLog:
* Makefile.am: Remove DISTCLEANFILES hack.
(AUTOMAKE_OPTIONS): Add info-in-builddir.
* Makefile.in: Re-generate.
* aclocal.m4: Re-generate.
* configure: Re-generate.
* gconfig.in: Re-generate.
intl/ChangeLog:
* configure: Re-generate.
ld/ChangeLog:
* Makefile.am: Remove DISTCLEANFILES hack, rename ld.texinfo to
ld.texi, ldint.texinfo to ldint.texi throughout.
(AUTOMAKE_OPTIONS): Add info-in-builddir.
* README: Rename ld.texinfo to ld.texi, ldint.texinfo to
ldint.texi throughout.
* gen-doc.texi: Likewise.
* h8-doc.texi: Likewise.
* ld.texinfo: Rename to ...
* ld.texi: ... this.
* ldint.texinfo: Rename to ...
* ldint.texi: ... this.
* Makefile.in: Re-generate.
* aclocal.m4: Re-generate.
* config.in: Re-generate.
* configure: Re-generate.
libdecnumber/ChangeLog:
* configure: Re-generate.
libiberty/ChangeLog:
* configure: Re-generate.
opcodes/ChangeLog:
* Makefile.in: Re-generate.
* aclocal.m4: Re-generate.
* configure: Re-generate.
readline/ChangeLog.gdb:
* configure: Re-generate.
sim/ChangeLog:
* configure: Re-generate.
* aarch64/configure: Re-generate.
* arm/configure: Re-generate.
* avr/configure: Re-generate.
* bfin/configure: Re-generate.
* common/configure: Re-generate.
* cr16/configure: Re-generate.
* cris/configure: Re-generate.
* d10v/configure: Re-generate.
* erc32/configure: Re-generate.
* frv/configure: Re-generate.
* ft32/configure: Re-generate.
* h8300/configure: Re-generate.
* igen/configure: Re-generate.
* iq2000/configure: Re-generate.
* lm32/configure: Re-generate.
* m32c/configure: Re-generate.
* m32r/configure: Re-generate.
* m68hc11/configure: Re-generate.
* mcore/configure: Re-generate.
* microblaze/configure: Re-generate.
* mips/configure: Re-generate.
* mn10300/configure: Re-generate.
* moxie/configure: Re-generate.
* msp430/configure: Re-generate.
* or1k/configure: Re-generate.
* ppc/configure: Re-generate.
* rl78/configure: Re-generate.
* rx/configure: Re-generate.
* sh64/configure: Re-generate.
* sh/configure: Re-generate.
* testsuite/configure: Re-generate.
* testsuite/d10v-elf/configure: Re-generate.
* testsuite/frv-elf/configure: Re-generate.
* testsuite/m32r-elf/configure: Re-generate.
* testsuite/mips64el-elf/configure: Re-generate.
* v850/configure: Re-generate.
zlib/ChangeLog.bin-gdb:
* Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus, add foreign.
* Makefile.in: Re-generate.
* aclocal.m4: Re-generate.
* configure: Re-generate.
---
bfd/Makefile.am | 2 +-
bfd/doc/Makefile.am | 13 +++-------
bfd/doc/{bfd.texinfo => bfd.texi} | 0
binutils/doc/Makefile.am | 2 +-
config/override.m4 | 2 +-
gas/Makefile.am | 8 +++----
gas/configure.ac | 4 ++--
gas/doc/Makefile.am | 17 ++++---------
gas/doc/{as.texinfo => as.texi} | 0
gdb/common/common-defs.h | 11 +++++++++
gdb/configure.ac | 20 ++++++++--------
gdb/gdbserver/configure.ac | 2 +-
gdb/gnulib/configure.ac | 7 +++---
gdb/gnulib/update-gnulib.sh | 4 ++--
gold/configure.ac | 40 +++++++++++++++----------------
gprof/Makefile.am | 9 +------
ld/Makefile.am | 19 +++++----------
ld/README | 6 ++---
ld/gen-doc.texi | 2 +-
ld/h8-doc.texi | 2 +-
ld/{ld.texinfo => ld.texi} | 0
ld/{ldint.texinfo => ldint.texi} | 0
libtool.m4 | 4 ++--
zlib/Makefile.am | 2 +-
zlib/configure.ac | 6 ++---
25 files changed, 83 insertions(+), 99 deletions(-)
rename bfd/doc/{bfd.texinfo => bfd.texi} (100%)
rename gas/doc/{as.texinfo => as.texi} (100%)
rename ld/{ld.texinfo => ld.texi} (100%)
rename ld/{ldint.texinfo => ldint.texi} (100%)
Comments
Here is the generated files portion of the patch. It is 7.7M big, so
I am sending it compressed (see attached file). Again, the code is also
available on the users/simark/autotools-bump branch on sourceware's git.
Thanks,
Simon
On 2018-06-14 20:46, Simon Marchi wrote:
> Here is the generated files portion of the patch. It is 7.7M big, so
> I am sending it compressed (see attached file). Again, the code is
> also
> available on the users/simark/autotools-bump branch on sourceware's
> git.
>
> Thanks,
>
> Simon
Hmmm for some reason the zlib/configure file is incomplete in this
patch. I re-generated it and this time it looks fine. I have updated
the git branch.
Simon
Hi Simon,
> And to avoid requiring multiple
> builds of autoconf/automake, it was suggested that we bump the required
> version of those tools for all binutils-gdb.
Thanks very much for taking on this task.
You do not appear to have updated the AC_PREREQ macro statements in the
various */configure.ac files. Is this intentional ?
Also the config/override.m4 file still contains a hard coded requirement
for autoconf 2.64 exactly.
The patch did not include renamed *.texinfo files, although that was
simple enough to fix.
Otherwise so far, my testing has been showing no signs of any real problems.
Cheers
Nick
On 2018-06-15 10:22 AM, Nick Clifton wrote:
> Hi Simon,
>
>> And to avoid requiring multiple
>> builds of autoconf/automake, it was suggested that we bump the required
>> version of those tools for all binutils-gdb.
>
> Thanks very much for taking on this task.
Thanks for looking at it!
> You do not appear to have updated the AC_PREREQ macro statements in the
> various */configure.ac files. Is this intentional ?
No, it's an oversight. I have changed them locally.
> Also the config/override.m4 file still contains a hard coded requirement
> for autoconf 2.64 exactly.
Are you talking about this?
dnl Fix 2.64 cross compile detection for AVR and RTEMS
dnl by not trying to compile fopen.
m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.64],
[m4_foreach([_GCC_LANG], [C, C++, Fortran, Fortran 77],
[m4_define([_AC_LANG_IO_PROGRAM(]_GCC_LANG[)], m4_defn([AC_LANG_PROGRAM(]_GCC_LANG[)]))])])
If I understand correctly, this patched an Autoconf 2.64 issue? So you are
suggesting that we can remove it now?
> The patch did not include renamed *.texinfo files, although that was
> simple enough to fix.
I have included some (bfd, ld) but might have forgotten others. Can you
point me to the ones I have forgotten so I can fix it?
Thanks,
Simon
Hi Simon,
>> Also the config/override.m4 file still contains a hard coded requirement
>> for autoconf 2.64 exactly.
>
> Are you talking about this?
>
> dnl Fix 2.64 cross compile detection for AVR and RTEMS
> dnl by not trying to compile fopen.
> m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.64],
> [m4_foreach([_GCC_LANG], [C, C++, Fortran, Fortran 77],
> [m4_define([_AC_LANG_IO_PROGRAM(]_GCC_LANG[)], m4_defn([AC_LANG_PROGRAM(]_GCC_LANG[)]))])])
Nope - this:
dnl Ensure exactly this Autoconf version is used
m4_ifndef([_GCC_AUTOCONF_VERSION],
[m4_define([_GCC_AUTOCONF_VERSION], [2.64])])
Around line 30 in <binutils-src>/config/override.m4.
Cheers
Nick
Questions:
* Are all the shared files and directories fully in sync between the GCC
and binutils-gdb trees before this patch? Shared directories include
config, intl, parts of include, libdecnumber, libiberty, zlib, for
example.
* Where you are changing shared files and directories, do any changes to
*non-generated* files other than config/override.m4 depend on the autoconf
/ automake updates, or would such changes work equally well in the GCC
tree even in the absence of a version update there?
If proposing to change only one tree at a time I think it's important to
take care to minimise the extra costs introduced for people synchronizing
changes between the two trees while the versions are out of sync. To me,
that indicates that the shared files and directories should be fully in
sync before any changes making them deliberately out of sync are applied,
and that changes to non-generated files other than config/override.m4
should go in both places if they work in both places, so that the
differences immediately after the change is applied are only the required
ones (i.e. config/override.m4 and the generated files), so that anyone
then merging a subsequent change in future knows they expect to get back
to exactly that set of differences and no more.
(Shared files in the newlib-cygwin tree have been out of sync for a lot
longer. So, while I think that tree also ought to have shared files in
sync, with changes being applied to all three trees (I don't know if
newlib-cygwin has any changes not present in the other trees), I don't
think it's immediately relevant to changes in the binutils-gdb tree right
now.)
On Fri, Jun 15, 2018 at 03:22:10PM +0100, Nick Clifton wrote:
> Otherwise so far, my testing has been showing no signs of any real problems.
The patch looks good to me too. I did see some generated file
differences, most of which disappeared when I compiled my own
autoconf-2.69 rather than using the Ubuntu 18.04 version (which
apparently has some patches from autoconf-2.70 applied).
I applied both of your posted patches, ran autoconf in zlib since
you'd said the posted patch was broken, touched all the files in the
first patch, then built binutils-gdb with --enable-maintainer-mode.
Apart from .pot files, these were the files that differed:
bfd/doc/Makefile.in
binutils/doc/Makefile.in
gas/doc/Makefile.in
gdb/aclocal.m4
gdb/config.in
gdb/configure
gdb/gnulib/aclocal.m4
gdb/gnulib/configure
libdecnumber/aclocal.m4
zlib/configure
On 2018-06-15 01:29 PM, Joseph Myers wrote:
> Questions:
>
> * Are all the shared files and directories fully in sync between the GCC
> and binutils-gdb trees before this patch? Shared directories include
> config, intl, parts of include, libdecnumber, libiberty, zlib, for
> example.
- config: binutils-gdb is behind, needs syncing
- include: I'll need more precise guidance on how to sync
- intl: in sync
- libdecnumber: binutils-gdb is behind, needs syncing. Except one patchlet that
binutils-gdb has and gcc doesn't have which adds a TAGS target to the Makefile.
Could one of you see if you could import that change to gcc?
- libiberty: binutils-gdb is behind, needs syncing
- zlib: binutils-gdb is behind, needs syncing
I'm sending a series that syncs config, libdecnumber, libiberty and zlib in a
moment.
> * Where you are changing shared files and directories, do any changes to
> *non-generated* files other than config/override.m4 depend on the autoconf
> / automake updates, or would such changes work equally well in the GCC
> tree even in the absence of a version update there?
If we exclude the AC_PREREQ bumps from 2.64 to 2.69, only zlib has some
significant changes. If I exclude the AC_PREREQ change, I am able to
regenerate the files using automake 1.11.6 and autoconf 2.64. So it looks ok.
> If proposing to change only one tree at a time I think it's important to
> take care to minimise the extra costs introduced for people synchronizing
> changes between the two trees while the versions are out of sync. To me,
> that indicates that the shared files and directories should be fully in
> sync before any changes making them deliberately out of sync are applied,
> and that changes to non-generated files other than config/override.m4
> should go in both places if they work in both places, so that the
> differences immediately after the change is applied are only the required
> ones (i.e. config/override.m4 and the generated files), so that anyone
> then merging a subsequent change in future knows they expect to get back
> to exactly that set of differences and no more.
>
> (Shared files in the newlib-cygwin tree have been out of sync for a lot
> longer. So, while I think that tree also ought to have shared files in
> sync, with changes being applied to all three trees (I don't know if
> newlib-cygwin has any changes not present in the other trees), I don't
> think it's immediately relevant to changes in the binutils-gdb tree right
> now.)
Understood. Hopefully the series I send will do the job. I don't know if
GCC ever plans to switch to git, but using submodules would make it much
easier to share that code rather than do manual syncing.
Simon
On 2018-06-15 09:39 PM, Alan Modra wrote:
> On Fri, Jun 15, 2018 at 03:22:10PM +0100, Nick Clifton wrote:
>> Otherwise so far, my testing has been showing no signs of any real problems.
>
> The patch looks good to me too. I did see some generated file
> differences, most of which disappeared when I compiled my own
> autoconf-2.69 rather than using the Ubuntu 18.04 version (which
> apparently has some patches from autoconf-2.70 applied).
>
> I applied both of your posted patches, ran autoconf in zlib since
> you'd said the posted patch was broken, touched all the files in the
> first patch, then built binutils-gdb with --enable-maintainer-mode.
> Apart from .pot files, these were the files that differed:
>
> bfd/doc/Makefile.in
> binutils/doc/Makefile.in
> gas/doc/Makefile.in
> gdb/aclocal.m4
> gdb/config.in
> gdb/configure
> gdb/gnulib/aclocal.m4
> gdb/gnulib/configure
> libdecnumber/aclocal.m4
> zlib/configure
1. About aclocal.m4's, there are a bunch more generated from other versions of
automake than 1.15.1:
$ grep -rn "generated automatically by aclocal" | grep -v 1.15.1
gdb/aclocal.m4:1:# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
gdb/gdbserver/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
intl/aclocal.m4:1:# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
sim/arm/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/common/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/d10v/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/erc32/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/h8300/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/m32r/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/mcore/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/mips/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/mn10300/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/sh/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/v850/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/cr16/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/cris/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/frv/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/iq2000/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/m32c/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/m68hc11/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/sh64/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/aarch64/aclocal.m4:1:# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
sim/avr/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/bfin/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/ft32/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/lm32/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/microblaze/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/moxie/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/msp430/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/rl78/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/rx/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
sim/or1k/aclocal.m4:1:# generated automatically by aclocal 1.15 -*- Autoconf -*-
libdecnumber/aclocal.m4:1:# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
Should I make sure to re-generate all of them? I was running "autoconf" only, but
it seems like running "autoreconf" will also update aclocal.m4 and config.in if needed.
2. How do I update those */doc/Makefile.in? When I try to run automake in these
directories, I get:
automake: error: 'configure.ac' is required
and indeed, there is no configure.ac in the doc directories.
Simon
On Jun 15 2018, Simon Marchi <simon.marchi@polymtl.ca> wrote:
> 2. How do I update those */doc/Makefile.in? When I try to run automake in these
> directories, I get:
>
> automake: error: 'configure.ac' is required
>
> and indeed, there is no configure.ac in the doc directories.
You always need to run automake (and the other autotools) in the
directory containing the configure.ac file (top_srcdir in automake
speak). If you configure with --enable-maintainer-mode the needed rules
are run automatically.
Andreas.
Am Freitag, 15. Juni 2018, 02:43:09 CEST schrieb Simon Marchi:
> From: Simon Marchi <simon.marchi@ericsson.com>
>
> When trying to run the update-gnulib.sh script in gdb, I get this:
>
> Error: Wrong automake version (Unescaped left brace in regex is deprecated,
> passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^
> =:+{}]+)}/ at /opt/automake/1.11.1/bin/automake line 4113.), we need
> 1.11.1. Aborting.
>
> Apparently, it's an issue with a regex in automake that triggers a
> warning starting with Perl 5.22. It has been fixed in automake 1.15.1.
Just FYI, starting with Perl 5.26 (which was released a year ago) this is a
fatal error.
On Fri, Jun 15, 2018 at 11:55:40PM -0400, Simon Marchi wrote:
> On 2018-06-15 09:39 PM, Alan Modra wrote:
> > On Fri, Jun 15, 2018 at 03:22:10PM +0100, Nick Clifton wrote:
> >> Otherwise so far, my testing has been showing no signs of any real problems.
> >
> > The patch looks good to me too. I did see some generated file
> > differences, most of which disappeared when I compiled my own
> > autoconf-2.69 rather than using the Ubuntu 18.04 version (which
> > apparently has some patches from autoconf-2.70 applied).
> >
> > I applied both of your posted patches, ran autoconf in zlib since
> > you'd said the posted patch was broken, touched all the files in the
> > first patch, then built binutils-gdb with --enable-maintainer-mode.
> > Apart from .pot files, these were the files that differed:
> >
> > bfd/doc/Makefile.in
> > binutils/doc/Makefile.in
> > gas/doc/Makefile.in
> > gdb/aclocal.m4
> > gdb/config.in
> > gdb/configure
> > gdb/gnulib/aclocal.m4
> > gdb/gnulib/configure
> > libdecnumber/aclocal.m4
> > zlib/configure
>
>
> 1. About aclocal.m4's, there are a bunch more generated from other versions of
> automake than 1.15.1:
[snip]
> Should I make sure to re-generate all of them?
Yes, I think that should be done whenever updating the version of
autotools.
I also just noticed these 1.11 version specifiers that probably should
be updated to 1.15:
./bfd/Makefile.am:AUTOMAKE_OPTIONS = 1.11 no-dist foreign
./gas/Makefile.am:AUTOMAKE_OPTIONS = 1.11 dejagnu foreign no-dist subdir-objects
./gprof/Makefile.am:AUTOMAKE_OPTIONS = 1.11 foreign no-dist no-texinfo.tex info-in-builddir
./opcodes/Makefile.am:AUTOMAKE_OPTIONS = 1.11 foreign no-dist
> 2. How do I update those */doc/Makefile.in?
Andreas has already given the canonical answer, but something like the
following should work too.
cd ~/src/binutils-gdb/bfd && automake-1.15 --foreign doc/Makefile
cd ~/src/binutils-gdb/binutils && automake-1.15 --foreign doc/Makefile
cd ~/src/binutils-gdb/gas && automake-1.15 --foreign doc/Makefile
On 2018-06-17 10:46 PM, Alan Modra wrote:
>> 1. About aclocal.m4's, there are a bunch more generated from other versions of
>> automake than 1.15.1:
> [snip]
>
>> Should I make sure to re-generate all of them?
>
> Yes, I think that should be done whenever updating the version of
> autotools.
Noted.
> I also just noticed these 1.11 version specifiers that probably should
> be updated to 1.15:
> ./bfd/Makefile.am:AUTOMAKE_OPTIONS = 1.11 no-dist foreign
> ./gas/Makefile.am:AUTOMAKE_OPTIONS = 1.11 dejagnu foreign no-dist subdir-objects
> ./gprof/Makefile.am:AUTOMAKE_OPTIONS = 1.11 foreign no-dist no-texinfo.tex info-in-builddir
> ./opcodes/Makefile.am:AUTOMAKE_OPTIONS = 1.11 foreign no-dist
I simply removed them in my latest version of the patch. I think it is only useful
to put it if you let the user of you Makefile.am use the version of automake they want,
but want to put a lower bound on the version of automake that will work. In our case we
force people to use a specific version anyway...
>> 2. How do I update those */doc/Makefile.in?
>
> Andreas has already given the canonical answer, but something like the
> following should work too.
>
> cd ~/src/binutils-gdb/bfd && automake-1.15 --foreign doc/Makefile
> cd ~/src/binutils-gdb/binutils && automake-1.15 --foreign doc/Makefile
> cd ~/src/binutils-gdb/gas && automake-1.15 --foreign doc/Makefile
Ok, thanks. Maintainer mode does update them, but I was wondering how to
do it by hand.
I'll post a new version once the sync-with-gcc patches are merged.
Simon
Hi Simon,
> I'll post a new version once the sync-with-gcc patches are merged.
Great. Those patches should now be approved.
Cheers
Nick
PS. As you probably realised I had only applied patch 2/2 of your
original patch set, and forgot to apply patch 1/2. Doh! I will
try to do better next time.
On Fri, 15 Jun 2018, Simon Marchi wrote:
> - include: I'll need more precise guidance on how to sync
If a file in include/ is present in both trees (apart from ChangeLogs), it
should also have the same contents. However, each tree has some headers
of its own in include/ and there's no need to copy such headers from one
tree to the other.
On 2018-06-18 11:12 AM, Joseph Myers wrote:
> On Fri, 15 Jun 2018, Simon Marchi wrote:
>
>> - include: I'll need more precise guidance on how to sync
>
> If a file in include/ is present in both trees (apart from ChangeLogs), it
> should also have the same contents. However, each tree has some headers
> of its own in include/ and there's no need to copy such headers from one
> tree to the other.
>
Ok, thanks. I submitted a patch that does that:
https://sourceware.org/ml/binutils/2018-06/msg00223.html
Simon
@@ -657,7 +657,7 @@ BFD_MACHINES = @bfd_machines@
TDEFAULTS = @tdefaults@
HAVEVECS = @havevecs@
-INCLUDES = @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) \
+AM_CPPFLAGS += @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) \
$(HAVEVECS) @INCINTL@
# C source files that correspond to .o's.
@@ -17,7 +17,7 @@
# <http://www.gnu.org/licenses/>.
#
-AUTOMAKE_OPTIONS = 1.9 cygnus
+AUTOMAKE_OPTIONS = 1.9 info-in-builddir no-texinfo.tex
DOCFILES = aoutx.texi archive.texi archures.texi \
bfdt.texi cache.texi coffcode.texi \
@@ -68,7 +68,7 @@ SRCIPROT = $(srcdir)/../cache.c $(srcdir)/../libbfd.c \
TEXIDIR = $(srcdir)/../../texinfo/fsf
-info_TEXINFOS = bfd.texinfo
+info_TEXINFOS = bfd.texi
bfd_TEXINFOS = $(DOCFILES) bfdsumm.texi
MKDOC = chew$(EXEEXT_FOR_BUILD)
@@ -116,7 +116,7 @@ archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
touch $@
# We use bfdt.texi, rather than bfd.texi, to avoid conflicting with
-# bfd.texinfo on an 8.3 filesystem.
+# bfd.texi on an 8.3 filesystem.
bfdt.texi: bfdt.stamp ; @true
bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
@@ -368,10 +368,3 @@ MAINTAINERCLEANFILES = $(DOCFILES)
install: install-info
MAINTAINERCLEANFILES += bfd.info
-
-# Automake 1.9 will only build info files in the objdir if they are
-# mentioned in DISTCLEANFILES. It doesn't have to be unconditional,
-# though, so we use a bogus condition.
-if GENINSRC_NEVER
-DISTCLEANFILES += bfd.info
-endif
similarity index 100%
rename from bfd/doc/bfd.texinfo
rename to bfd/doc/bfd.texi
@@ -17,7 +17,7 @@
# <http://www.gnu.org/licenses/>.
#
-AUTOMAKE_OPTIONS = cygnus
+AUTOMAKE_OPTIONS = info-in-builddir no-texinfo.tex
# What version of the manual you want; "all" includes everything
CONFIG=all
@@ -29,7 +29,7 @@ m4_copy_force([_AC_PREREQ], [AC_PREREQ])
dnl Ensure exactly this Autoconf version is used
m4_ifndef([_GCC_AUTOCONF_VERSION],
- [m4_define([_GCC_AUTOCONF_VERSION], [2.64])])
+ [m4_define([_GCC_AUTOCONF_VERSION], [2.69])])
dnl Test for the exact version when AC_INIT is expanded.
dnl This allows to update the tree in steps (for testing)
@@ -17,7 +17,7 @@
# <http://www.gnu.org/licenses/>.
#
-AUTOMAKE_OPTIONS = 1.11 dejagnu foreign no-dist
+AUTOMAKE_OPTIONS = 1.11 dejagnu foreign no-dist subdir-objects
ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
SUBDIRS = doc po
@@ -43,14 +43,14 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ZLIBINC)
TARG_CPU = @target_cpu_type@
TARG_CPU_C = $(srcdir)/config/tc-@target_cpu_type@.c
-TARG_CPU_O = tc-@target_cpu_type@.@OBJEXT@
+TARG_CPU_O = config/tc-@target_cpu_type@.@OBJEXT@
TARG_CPU_H = $(srcdir)/config/tc-@target_cpu_type@.h
OBJ_FORMAT_C = $(srcdir)/config/obj-@obj_format@.c
-OBJ_FORMAT_O = obj-@obj_format@.@OBJEXT@
+OBJ_FORMAT_O = config/obj-@obj_format@.@OBJEXT@
OBJ_FORMAT_H = $(srcdir)/config/obj-@obj_format@.h
TARG_ENV_H = $(srcdir)/config/te-@te_file@.h
ATOF_TARG_C = $(srcdir)/config/atof-@atof@.c
-ATOF_TARG_O = atof-@atof@.@OBJEXT@
+ATOF_TARG_O = config/atof-@atof@.@OBJEXT@
# use @target_cpu_type@ for refering to configured target name
IT_HDRS=itbl-parse.h $(srcdir)/itbl-ops.h
@@ -731,7 +731,7 @@ for em in . $emulations ; do
fmt=elf file=$em ;;
esac
formats="$formats $fmt"
- emfiles="$emfiles e-$file.o"
+ emfiles="$emfiles config/e-$file.o"
EMULATIONS="$EMULATIONS &$em,"
done
GAS_UNIQ(formats)
@@ -746,7 +746,7 @@ if test `set . $formats ; shift ; echo $#` -gt 1 ; then
generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
esac
- extra_objects="$extra_objects obj-$fmt.o"
+ extra_objects="$extra_objects config/obj-$fmt.o"
done
obj_format=multi
fi
@@ -17,12 +17,12 @@
# <http://www.gnu.org/licenses/>.
#
-AUTOMAKE_OPTIONS = 1.8 cygnus
+AUTOMAKE_OPTIONS = 1.8 info-in-builddir no-texinfo.tex
# What version of the manual you want; "all" includes everything
CONFIG=all
-# Options to extract the man page from as.texinfo
+# Options to extract the man page from as.texi
MANCONF = -Dman
TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS)
@@ -32,7 +32,7 @@ POD2MAN = pod2man --center="GNU Development Tools" \
man_MANS = as.1
-info_TEXINFOS = as.texinfo
+info_TEXINFOS = as.texi
as_TEXINFOS = asconfig.texi $(CPU_DOCS)
AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" \
@@ -120,9 +120,9 @@ info-local: $(MANS)
# Build the man page from the texinfo file
# The sed command removes the no-adjust Nroff command so that
# the man output looks standard.
-as.1: $(srcdir)/as.texinfo asconfig.texi $(CPU_DOCS)
+as.1: $(srcdir)/as.texi asconfig.texi $(CPU_DOCS)
touch $@
- -$(TEXI2POD) $(MANCONF) < $(srcdir)/as.texinfo > as.pod
+ -$(TEXI2POD) $(MANCONF) < $(srcdir)/as.texi > as.pod
-($(POD2MAN) as.pod | \
sed -e '/^.if n .na/d' > $@.T$$$$ && \
mv -f $@.T$$$$ $@) || \
@@ -130,10 +130,3 @@ as.1: $(srcdir)/as.texinfo asconfig.texi $(CPU_DOCS)
rm -f as.pod
MAINTAINERCLEANFILES += as.info
-
-# Automake 1.9 will only build info files in the objdir if they are
-# mentioned in DISTCLEANFILES. It doesn't have to be unconditional,
-# though, so we use a bogus condition.
-if GENINSRC_NEVER
-DISTCLEANFILES = as.info
-endif
similarity index 100%
rename from gas/doc/as.texinfo
rename to gas/doc/as.texi
@@ -21,12 +21,23 @@
#define COMMON_DEFS_H
#include "config.h"
+
+#undef PACKAGE_NAME
+#undef PACKAGE_VERSION
+#undef PACKAGE_STRING
+#undef PACKAGE_TARNAME
+
#ifdef GDBSERVER
#include "build-gnulib-gdbserver/config.h"
#else
#include "build-gnulib/config.h"
#endif
+#undef PACKAGE_NAME
+#undef PACKAGE_VERSION
+#undef PACKAGE_STRING
+#undef PACKAGE_TARNAME
+
/* From:
https://www.gnu.org/software/gnulib/manual/html_node/stdint_002eh.html
@@ -734,8 +734,8 @@ AC_DEFUN([AC_TRY_LIBPYTHON],
CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
LIBS="$new_LIBS $LIBS"
found_usable_python=no
- AC_LINK_IFELSE(AC_LANG_PROGRAM([[#include "Python.h"]],
- [[Py_Initialize ();]]),
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "Python.h"]],
+ [[Py_Initialize ();]])],
[have_libpython_var=${version}
found_usable_python=yes
PYTHON_CPPFLAGS=$new_CPPFLAGS
@@ -1021,12 +1021,12 @@ if test "${have_libpython}" != no; then
CPPFLAGS="${PYTHON_CPPFLAGS}"
# Note that the test is reversed so that python_has_threads=yes on
# unexpected failures.
- AC_PREPROC_IFELSE(AC_LANG_SOURCE([[
+ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
#include <Python.h>
#ifdef WITH_THREAD
# error
#endif
- ]]), [python_has_threads=no], [python_has_threads=yes])
+ ]])], [python_has_threads=no], [python_has_threads=yes])
AC_MSG_RESULT(${python_has_threads})
CPPFLAGS="${saved_CPPFLAGS}"
else
@@ -1100,8 +1100,8 @@ AC_DEFUN([AC_TRY_LIBGUILE],
save_LIBS=$LIBS
CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
LIBS="$LIBS $new_LIBS"
- AC_LINK_IFELSE(AC_LANG_PROGRAM([[#include "libguile.h"]],
- [[scm_init_guile ();]]),
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "libguile.h"]],
+ [[scm_init_guile ();]])],
[have_libguile_var=yes
GUILE_CPPFLAGS=$new_CPPFLAGS
GUILE_LIBS=$new_LIBS],
@@ -1271,12 +1271,12 @@ if test "${with_intel_pt}" = no; then
AC_MSG_WARN([Intel Processor Trace support disabled; some features may be unavailable.])
HAVE_LIBIPT=no
else
- AC_PREPROC_IFELSE(AC_LANG_SOURCE([[
+ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
#include <linux/perf_event.h>
#ifndef PERF_ATTR_SIZE_VER5
# error
#endif
- ]]), [perf_event=yes], [perf_event=no])
+ ]])], [perf_event=yes], [perf_event=no])
if test "$perf_event" != yes; then
if test "$with_intel_pt" = yes; then
AC_MSG_ERROR([linux/perf_event.h missing or too old])
@@ -1720,13 +1720,13 @@ if test "${gdb_native}" = yes; then
old_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
AC_RUN_IFELSE(
- AC_LANG_PROGRAM(
+ [AC_LANG_PROGRAM(
[#include "Python.h"],
[int err;
Py_Initialize ();
err = PyRun_SimpleString ("import itertools\n");
Py_Finalize ();
- return err == 0 ? 0 : 1;]),
+ return err == 0 ? 0 : 1;])],
[dynamic_list=true], [], [true])
LIBS="$old_LIBS"
CFLAGS="$old_CFLAGS"
@@ -429,7 +429,7 @@ fi
dnl Check for -fvisibility=hidden support in the compiler.
saved_cflags="$CFLAGS"
CFLAGS="$CFLAGS -fvisibility=hidden"
-AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
[gdbsrv_cv_have_visibility_hidden=yes],
[gdbsrv_cv_have_visibility_hidden=no])
CFLAGS="$saved_cflags"
@@ -18,8 +18,9 @@ dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.64)dnl
-AC_INIT(import/memmem.c)
+AC_PREREQ(2.69)dnl
+AC_INIT([libgnu], [UNUSED-VERSION])
+AC_CONFIG_SRCDIR([import/memmem.c])
AC_CONFIG_HEADER(config.h:config.in)
AM_MAINTAINER_MODE
@@ -35,7 +36,7 @@ gl_INIT
# We don't use automake, but gnulib does. This line lets us generate
# its Makefile.in.
-AM_INIT_AUTOMAKE(libgnu, UNUSED-VERSION, [no-define])
+AM_INIT_AUTOMAKE([no-define])
AM_SILENT_RULES([yes])
@@ -67,8 +67,8 @@ GNULIB_COMMIT_SHA1="38237baf99386101934cd93278023aa4ae523ec0"
# The expected version number for the various auto tools we will
# use after the import.
-AUTOCONF_VERSION="2.64"
-AUTOMAKE_VERSION="1.11.1"
+AUTOCONF_VERSION="2.69"
+AUTOMAKE_VERSION="1.15.1"
ACLOCAL_VERSION="$AUTOMAKE_VERSION"
if [ $# -ne 1 ]; then
@@ -373,17 +373,17 @@ AM_CONDITIONAL(FN_PTRS_IN_SO_WITHOUT_PIC, [
dnl Test for gcc 4.1 or later. Full support for -mcmodel=medium is
dnl only available in gcc 4.1.
AC_CACHE_CHECK([for gcc >= 4.1], [gold_cv_prog_gcc41],
-[AC_COMPILE_IFELSE([
+[AC_COMPILE_IFELSE([AC_LANG_SOURCE([
#if !defined __GNUC__
error
#elif __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 1)
error
#endif
-], [gold_cv_prog_gcc41=yes], [gold_cv_prog_gcc41=no])])
+])], [gold_cv_prog_gcc41=yes], [gold_cv_prog_gcc41=no])])
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -mcmodel=medium"
-AC_COMPILE_IFELSE([int i;], [have_mcmodel_medium=yes], [have_mcmodel_medium=no])
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])], [have_mcmodel_medium=yes], [have_mcmodel_medium=no])
CFLAGS="$save_CFLAGS"
dnl Whether we can test -mcmodel=medium.
AM_CONDITIONAL(MCMODEL_MEDIUM,
@@ -393,7 +393,7 @@ AC_CACHE_CHECK([whether $CC supports -fmerge-constants],
[gold_cv_merge_constants], [
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fmerge-constants"
-AC_COMPILE_IFELSE([const char *s = "foo";],
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([const char *s = "foo";])],
[gold_cv_merge_constants=yes],
[gold_cv_merge_constants=no])
CFLAGS="$save_CFLAGS"])
@@ -404,7 +404,7 @@ AS_IF([test "$gold_cv_merge_constants" = yes],
dnl Test for __thread support.
AC_CACHE_CHECK([for thread support], [gold_cv_c_thread],
-[AC_COMPILE_IFELSE([__thread int i = 1;],
+[AC_COMPILE_IFELSE([AC_LANG_SOURCE([__thread int i = 1;])],
[gold_cv_c_thread=yes], [gold_cv_c_thread=no])])
AM_CONDITIONAL(TLS, test "$gold_cv_c_thread" = "yes")
@@ -412,14 +412,14 @@ AM_CONDITIONAL(TLS, test "$gold_cv_c_thread" = "yes")
dnl On GNU/Linux TLS in static programs only works when using glibc
dnl 2.4 or later.
AC_CACHE_CHECK([for glibc >= 2.4], [gold_cv_lib_glibc24],
-[AC_COMPILE_IFELSE([
+[AC_COMPILE_IFELSE([AC_LANG_SOURCE([
#include <features.h>
#if !defined __GLIBC__
error
#elif __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 4)
error
#endif
-], [gold_cv_lib_glibc24=yes], [gold_cv_lib_glibc24=no])])
+])], [gold_cv_lib_glibc24=yes], [gold_cv_lib_glibc24=no])])
AM_CONDITIONAL(STATIC_TLS, test "$gold_cv_lib_glibc24" = "yes")
@@ -427,11 +427,11 @@ dnl Test for #pragma omp threadprivate
AC_CACHE_CHECK([for omp support], [gold_cv_c_threadprivate],
[save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fopenmp"
-AC_COMPILE_IFELSE([
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([
#include <omp.h>
int i;
#pragma omp threadprivate (i)
-], [gold_cv_c_threadprivate=yes], [gold_cv_c_threadprivate=no])
+])], [gold_cv_c_threadprivate=yes], [gold_cv_c_threadprivate=no])
CFLAGS="$save_CFLAGS"])
if test "$gold_cv_c_threadprivate" = "yes"; then
AC_DEFINE(HAVE_OMP_SUPPORT, 1,
@@ -447,27 +447,27 @@ dnl assuming here that there is no compiler that groks -mtls-dialect=gnu2
dnl but does not grok -Werror.)
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror -fpic -mtls-dialect=gnu2"
-AC_COMPILE_IFELSE([
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([
__thread int i;
void foo (void)
{
i = 10;
}
-], [have_tls_gnu2=yes], [have_tls_gnu2=no])
+])], [have_tls_gnu2=yes], [have_tls_gnu2=no])
CFLAGS="$save_CFLAGS"
AM_CONDITIONAL(TLS_GNU2_DIALECT, test "$have_tls_gnu2" = "yes")
dnl On GNU/Linux TLS descriptors are supported by the dynamic loader
dnl only with glibc 2.9 or later.
AC_CACHE_CHECK([for glibc >= 2.9], [gold_cv_lib_glibc29],
-[AC_COMPILE_IFELSE([
+[AC_COMPILE_IFELSE([AC_LANG_SOURCE([
#include <features.h>
#if !defined __GLIBC__
error
#elif __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 9)
error
#endif
-], [gold_cv_lib_glibc29=yes], [gold_cv_lib_glibc29=no])])
+])], [gold_cv_lib_glibc29=yes], [gold_cv_lib_glibc29=no])])
AM_CONDITIONAL(TLS_DESCRIPTORS, test "$gold_cv_lib_glibc29" = "yes")
@@ -475,7 +475,7 @@ dnl Test for the -frandom-seed option.
AC_CACHE_CHECK([for -frandom-seed support], [gold_cv_c_random_seed],
[save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -frandom-seed=foo"
-AC_COMPILE_IFELSE([int i;], [gold_cv_c_random_seed=yes],
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])], [gold_cv_c_random_seed=yes],
[gold_cv_c_random_seed=no])
CFLAGS="$save_CFLAGS"])
if test "$gold_cv_c_random_seed" = "yes"; then
@@ -579,14 +579,14 @@ dnl assuming here that there is no compiler that groks -gpubnames
dnl but does not grok -Werror.)
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror -gpubnames"
-AC_COMPILE_IFELSE([int i;], [have_pubnames=yes], [have_pubnames=no])
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])], [have_pubnames=yes], [have_pubnames=no])
CFLAGS="$save_CFLAGS"
AM_CONDITIONAL(HAVE_PUBNAMES, test "$have_pubnames" = "yes")
dnl Check if gcc supports the -fno-use-linker-plugin option.
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror -fno-use-linker-plugin"
-AC_COMPILE_IFELSE([int i;], [have_no_use_linker_plugin=yes], [have_no_use_linker_plugin=no])
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])], [have_no_use_linker_plugin=yes], [have_no_use_linker_plugin=no])
CFLAGS="$save_CFLAGS"
AM_CONDITIONAL(HAVE_NO_USE_LINKER_PLUGIN, test "$have_no_use_linker_plugin" = "yes")
@@ -630,11 +630,11 @@ AC_CACHE_CHECK([whether std::tr1::hash<off_t> is defined],
[gold_cv_hash_off_t],
[CXXFLAGS_hold=$CXXFLAGS
CXXFLAGS="$CXXFLAGS $LFS_CFLAGS"
-AC_COMPILE_IFELSE([
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([
#include <sys/types.h>
#include <tr1/unordered_map>
std::tr1::hash<off_t> h;
-],
+])],
[gold_cv_hash_off_t=yes],
[gold_cv_hash_off_t=no])
CXXFLAGS=$CXXFLAGS_hold])
@@ -648,12 +648,12 @@ fi
# probably be removed after the bug has been fixed for a while.
AC_CACHE_CHECK([whether we can use attributes with template functions],
[gold_cv_template_attribute],
-[AC_COMPILE_IFELSE([
+[AC_COMPILE_IFELSE([AC_LANG_SOURCE([
template<typename T> extern void foo(const char*, ...)
__attribute__ ((__format__ (__printf__, 1, 2)));
template<typename T> void foo(const char* format, ...) {}
void bar() { foo<int>("%s\n", "foo"); }
-], [gold_cv_template_attribute=yes], [gold_cv_template_attribute=no])])
+])], [gold_cv_template_attribute=yes], [gold_cv_template_attribute=no])])
if test "$gold_cv_template_attribute" = "yes"; then
AC_DEFINE(HAVE_TEMPLATE_ATTRIBUTES, 1,
[Define if attributes work on C++ templates])
@@ -17,7 +17,7 @@
# <http://www.gnu.org/licenses/>.
#
-AUTOMAKE_OPTIONS = 1.11 foreign no-dist no-texinfo.tex
+AUTOMAKE_OPTIONS = 1.11 foreign no-dist no-texinfo.tex info-in-builddir
ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
TEXINFO_TEX = ../texinfo/texinfo.tex
@@ -103,10 +103,3 @@ gprof.1: $(srcdir)/gprof.texi config.texi
rm -f gprof.pod
MAINTAINERCLEANFILES = gprof.info
-
-# Automake 1.9 will only build info files in the objdir if they are
-# mentioned in DISTCLEANFILES. It doesn't have to be unconditional,
-# though, so we use a bogus condition.
-if GENINSRC_NEVER
-DISTCLEANFILES = gprof.info
-endif
@@ -17,7 +17,7 @@
# <http://www.gnu.org/licenses/>.
#
-AUTOMAKE_OPTIONS = dejagnu no-texinfo.tex no-dist foreign
+AUTOMAKE_OPTIONS = dejagnu no-texinfo.tex no-dist foreign info-in-builddir
ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
TEXINFO_TEX = ../texinfo/texinfo.tex
@@ -80,7 +80,7 @@ INCDIR = $(BASEDIR)/include
# What version of the manual to build
DOCVER = gen
-# Options to extract the man page from ld.texinfo
+# Options to extract the man page from ld.texi
MANCONF = -Dman
TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS)
@@ -135,9 +135,9 @@ CXXFLAGS_FOR_TARGET = `echo $(CXXFLAGS) | sed -e 's/-fsanitize=address//g' -e 's
transform = s/^ld-new$$/$(installed_linker)/;@program_transform_name@
bin_PROGRAMS = ld-new
-info_TEXINFOS = ld.texinfo
+info_TEXINFOS = ld.texi
ld_TEXINFOS = configdoc.texi
-noinst_TEXINFOS = ldint.texinfo
+noinst_TEXINFOS = ldint.texi
man_MANS = ld.1
AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \
@@ -1928,9 +1928,9 @@ configdoc.texi: ${DOCVER}-doc.texi
# Build the man page from the texinfo file
# The sed command removes the no-adjust Nroff command so that
# the man output looks standard.
-ld.1: $(srcdir)/ld.texinfo configdoc.texi
+ld.1: $(srcdir)/ld.texi configdoc.texi
touch $@
- -$(TEXI2POD) $(MANCONF) < $(srcdir)/ld.texinfo > ld.pod
+ -$(TEXI2POD) $(MANCONF) < $(srcdir)/ld.texi > ld.pod
-($(POD2MAN) ld.pod | \
sed -e '/^.if n .na/d' > $@.T$$$$ && \
mv -f $@.T$$$$ $@) || \
@@ -1994,10 +1994,3 @@ distclean-local:
rm -rf ldscripts
MAINTAINERCLEANFILES += ld.info
-
-# Automake 1.9 will only build info files in the objdir if they are
-# mentioned in DISTCLEANFILES. It doesn't have to be unconditional,
-# though, so we use a bogus condition.
-if GENINSRC_NEVER
-DISTCLEANFILES += ld.info
-endif
@@ -18,8 +18,8 @@ There are many features of the linker:
* The linker supports a control language.
-* There is a user manual (ld.texinfo), as well as the
- beginnings of an internals manual (ldint.texinfo).
+* There is a user manual (ld.texi), as well as the
+ beginnings of an internals manual (ldint.texi).
Installation
============
@@ -37,7 +37,7 @@ directory (one directory above this one).
Porting to a new target
=======================
-See the ldint.texinfo manual.
+See the ldint.texi manual.
Reporting bugs etc
===========================
@@ -1,5 +1,5 @@
@c Copyright (C) 2012-2018 Free Software Foundation, Inc.
-@c For copying conditions, see the file ld.texinfo.
+@c For copying conditions, see the file ld.texi.
@c ------------------------------ CONFIGURATION VARS:
@c 1. Inclusiveness of this manual
@@ -1,5 +1,5 @@
@c Copyright (C) 2012-2018 Free Software Foundation, Inc.
-@c For copying conditions, see the file ld.texinfo.
+@c For copying conditions, see the file ld.texi.
@c ------------------------------ CONFIGURATION VARS:
@c 1. Inclusiveness of this manual
similarity index 100%
rename from ld/ld.texinfo
rename to ld/ld.texi
similarity index 100%
rename from ld/ldint.texinfo
rename to ld/ldint.texi
@@ -1079,7 +1079,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
# to the aix ld manual.
m4_defun([_LT_SYS_MODULE_PATH_AIX],
[m4_require([_LT_DECL_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+AC_LINK_IFELSE([AC_LANG_SOURCE([AC_LANG_PROGRAM])],[
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
/^0/ {
@@ -4932,7 +4932,7 @@ _LT_EOF
# implicitly export all symbols.
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- AC_LINK_IFELSE(int foo(void) {},
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int foo(void) {}])],
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
)
LDFLAGS="$save_LDFLAGS"
@@ -1,6 +1,6 @@
## Process this file with automake to create Makefile.in.
-AUTOMAKE_OPTIONS = 1.8 cygnus
+AUTOMAKE_OPTIONS = 1.8 foreign
ACLOCAL_AMFLAGS = -I .. -I ../config
@@ -1,7 +1,7 @@
dnl Process this with autoconf to create configure
-AC_PREREQ(2.64)
-AC_INIT
+AC_PREREQ(2.69)
+AC_INIT([zlib], [1.1.4])
AC_CONFIG_SRCDIR([zlib.h])
if test -n "${with_target_subdir}"; then
@@ -14,7 +14,7 @@ AC_CANONICAL_SYSTEM
mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
AC_SUBST(mkinstalldirs)
-AM_INIT_AUTOMAKE(zlib, 1.1.4)
+AM_INIT_AUTOMAKE
AM_MAINTAINER_MODE