[PATCH 1/2] Bump to autoconf 2.69 and automake 1.15.1

Simon Marchi
2018-06-15T00:43:27Z

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%)

diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 8374bbda2091..b4fa6d980947 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -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.
diff --git a/bfd/doc/Makefile.am b/bfd/doc/Makefile.am
index 8e9d831bc9e6..0e8a75e65964 100644
--- a/bfd/doc/Makefile.am
+++ b/bfd/doc/Makefile.am
@@ -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
diff --git a/bfd/doc/bfd.texinfo b/bfd/doc/bfd.texi
similarity index 100%
rename from bfd/doc/bfd.texinfo
rename to bfd/doc/bfd.texi
diff --git a/binutils/doc/Makefile.am b/binutils/doc/Makefile.am
index 0c108db9b6c9..c164c6b06d9f 100644
--- a/binutils/doc/Makefile.am
+++ b/binutils/doc/Makefile.am
@@ -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
diff --git a/config/override.m4 b/config/override.m4
index b5ce6545ab69..d3e815bb1b40 100644
--- a/config/override.m4
+++ b/config/override.m4
@@ -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)
diff --git a/gas/Makefile.am b/gas/Makefile.am
index ff46b0dfefcd..152f7c1617eb 100644
--- a/gas/Makefile.am
+++ b/gas/Makefile.am
@@ -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
diff --git a/gas/configure.ac b/gas/configure.ac
index a639422026ca..96698fc48392 100644
--- a/gas/configure.ac
+++ b/gas/configure.ac
@@ -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
diff --git a/gas/doc/Makefile.am b/gas/doc/Makefile.am
index c9c3405272a3..270e09291ac3 100644
--- a/gas/doc/Makefile.am
+++ b/gas/doc/Makefile.am
@@ -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
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texi
similarity index 100%
rename from gas/doc/as.texinfo
rename to gas/doc/as.texi
diff --git a/gdb/common/common-defs.h b/gdb/common/common-defs.h
index 881a4eaaffce..eb0ec214926c 100644
--- a/gdb/common/common-defs.h
+++ b/gdb/common/common-defs.h
@@ -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

diff --git a/gdb/configure.ac b/gdb/configure.ac
index e1f630cd388f..57f702177827 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -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"
diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac
index 99801681ff47..01eee66ac9e1 100644
--- a/gdb/gdbserver/configure.ac
+++ b/gdb/gdbserver/configure.ac
@@ -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"
diff --git a/gdb/gnulib/configure.ac b/gdb/gnulib/configure.ac
index 3d70b233965a..30f61b8e8d41 100644
--- a/gdb/gnulib/configure.ac
+++ b/gdb/gnulib/configure.ac
@@ -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])

diff --git a/gdb/gnulib/update-gnulib.sh b/gdb/gnulib/update-gnulib.sh
index 70c23e80c05e..bef4937a8bc8 100755
--- a/gdb/gnulib/update-gnulib.sh
+++ b/gdb/gnulib/update-gnulib.sh
@@ -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
diff --git a/gold/configure.ac b/gold/configure.ac
index 1ed6c0d45cbb..a281ff677c98 100644
--- a/gold/configure.ac
+++ b/gold/configure.ac
@@ -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])
diff --git a/gprof/Makefile.am b/gprof/Makefile.am
index 84837abd1b63..ebab9b95d859 100644
--- a/gprof/Makefile.am
+++ b/gprof/Makefile.am
@@ -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
diff --git a/ld/Makefile.am b/ld/Makefile.am
index fcd90838cedb..d86ad0940c90 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -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
diff --git a/ld/README b/ld/README
index 16f9442e7d7d..72b11257e331 100644
--- a/ld/README
+++ b/ld/README
@@ -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
===========================
diff --git a/ld/gen-doc.texi b/ld/gen-doc.texi
index 28acc93a9f2c..1b80ee6952b5 100644
--- a/ld/gen-doc.texi
+++ b/ld/gen-doc.texi
@@ -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
diff --git a/ld/h8-doc.texi b/ld/h8-doc.texi
index ee3fe6aaa887..503eaceea4e5 100644
--- a/ld/h8-doc.texi
+++ b/ld/h8-doc.texi
@@ -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
diff --git a/ld/ld.texinfo b/ld/ld.texi
similarity index 100%
rename from ld/ld.texinfo
rename to ld/ld.texi
diff --git a/ld/ldint.texinfo b/ld/ldint.texi
similarity index 100%
rename from ld/ldint.texinfo
rename to ld/ldint.texi
diff --git a/libtool.m4 b/libtool.m4
index 24d13f34409d..434530059fad 100644
--- a/libtool.m4
+++ b/libtool.m4
@@ -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"
diff --git a/zlib/Makefile.am b/zlib/Makefile.am
index 82f709d9ec79..c2930b69b6d9 100644
--- a/zlib/Makefile.am
+++ b/zlib/Makefile.am
@@ -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

diff --git a/zlib/configure.ac b/zlib/configure.ac
index 57d6fa56b69b..341ffa9b56b3 100644
--- a/zlib/configure.ac
+++ b/zlib/configure.ac
@@ -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

--
2.17.1