[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12-2
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12-270-g4fb7703 |
Date: |
Mon, 21 May 2012 12:37:20 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".
http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=4fb7703b0d0c7b06cf45f79e2a39788ffe4f7e65
The branch, ng/master has been updated
via 4fb7703b0d0c7b06cf45f79e2a39788ffe4f7e65 (commit)
via d5b32a182266fc7aeb8698aa1c05da9759b6d97b (commit)
via fbcda36445ffc05e53b9565262e5b0f15e4c7656 (commit)
via 6b74968cf13acf27731a2afc4872fa6373c726e9 (commit)
via 878d61d615bbd1ea852638a9dfbb4e2ca82aebc8 (commit)
via d7734861fe537da7a76ce569427264f1421e459d (commit)
via 48b6805c685224c90aae0dbff9f88c4b63ec3eb5 (commit)
via f94562c98cf9a68266ca3a3ee727aeb41c6e9ee8 (commit)
via 67d4966d8c0d4fcedbcb0c80cdb6ed95be4a7b65 (commit)
via 5c3ac8db4b2146f599134df17ecfb039b670834d (commit)
via ed795e2cfba4407333fa91934732b8986056f41e (commit)
via 754bd03c28affb6bae57f8f7a61a757271f62f46 (commit)
via 6e6c5a28e7a762dd28954650641f8df908fdf4a7 (commit)
via 98087ff4f5b29b38d7344ad350f816f5272ddcd9 (commit)
from 03d8eab1f6bed50f9294530e43c3d1a87c573054 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 4fb7703b0d0c7b06cf45f79e2a39788ffe4f7e65
Merge: d5b32a1 fbcda36
Author: Stefano Lattarini <address@hidden>
Date: Mon May 21 13:39:47 2012 +0200
Merge branches 'ng/require-gmake-3.81' and 'ng/decruft' into ng/master
* ng/require-gmake-3.81:
[ng] requirements: require GNU make >= 3.81
* ng/decruft:
[ng] cleanup: don't support $(ACLOCAL_M4_SOURCES) anymore, it's obsolete
[ng] compile: don't support $(INCLUDES) anymore, it's obsolete
[ng] mkinstalldirs: remove support for the script and the variable
[ng] cleanup: minor cleanups in remake-hdr.am
[ng] config.h.{bot,top}: don't support anymore (distribution and deps)
[ng] acconfig.h: don't support anymore (distribution and dependencies)
[ng] cleanup: remove obsolete special-handling of default source for libs
[ng] cleanup: remove a workaround for BSD make (default sources and VPATH)
[ng] cleanup: remove a workaround for BSD make (comments continuation)
[ng] cleanup: remove obsolescent comments about subdir-objects and
deptrack
[ng] cleanup: remove a workaround only needed by Solaris make
[ng] push_dist_common: don't directly append to an Automake::Variable
commit d5b32a182266fc7aeb8698aa1c05da9759b6d97b
Author: Stefano Lattarini <address@hidden>
Date: Mon May 21 09:50:22 2012 +0200
[ng] requirements: require GNU make >= 3.81
Our implementation of make variables memoization doesn't work GNU make
3.80. Since GNU make 3.81 has been released by more than six years now,
we require it as the minimal supported version, to avoid wasting efforts
on older versions used only by a vanishingly small percentage of the user
base.
See: <http://lists.gnu.org/archive/html/automake-ng/2012-05/msg00102.html>
* NG-NEWS: Update.
* lib/am/header-vars.am: Error out if the .FEATURES special variable
(introduced only in GNU make 3.81) is not defined.
Signed-off-by: Stefano Lattarini <address@hidden>
commit fbcda36445ffc05e53b9565262e5b0f15e4c7656
Author: Stefano Lattarini <address@hidden>
Date: Mon May 21 00:06:13 2012 +0200
[ng] cleanup: don't support $(ACLOCAL_M4_SOURCES) anymore, it's obsolete
The $(ACLOCAL_M4_SOURCES) variables has been since long obsolete and
basically unused (since at least commit ab57cf28 of 2003-04-24), so
drop any mention of it.
* automake.in (scan_aclocal_m4): Don't bother warning about usages of
$(ACLOCAL_M4_SOURCES). Don't append it to @ac_deps. This makes such
variable always empty, so there's no need to return it. Adjust the
signature of this function accordingly, and ...
(handle_configure): ... update this function accordingly.
Signed-off-by: Stefano Lattarini <address@hidden>
commit 6b74968cf13acf27731a2afc4872fa6373c726e9
Author: Stefano Lattarini <address@hidden>
Date: Sun May 20 23:29:11 2012 +0200
[ng] compile: don't support $(INCLUDES) anymore, it's obsolete
The $(INCLUDES) variables has been since long supplanted and obsoleted
by the $(AM_CPPFLAGS) variable (in documentation since the commit
3d248ab5 of 2001-06-12, "* automake.texi (Program variables): Document
AM_CPPFLAGS. Deprecate INCLUDES", and in code since the commit '1415d22f'
of 2002-07-09, "* automake.in (generate_makefile): Suggest using
AM_CPPFLAGS instead of INCLUDES".
So we can drop support for $(INCLUDES).
* NG-NEWS, doc/automake-ng.texi: Update.
* automake.in: Drop usages of $(INCLUDES) from several calls to
'register_language'.
(generate_makefile): Don't explicitly warn about the definition of
the $(INCLUDES) variable anymore.
* t/pluseq5.sh: Adjusted to avoid using the INCLUDES variable.
* t/werror2.sh: Likewise.
* t/warnopts.sh: Likewise, and remove extra-verbose comment.
Signed-off-by: Stefano Lattarini <address@hidden>
commit 878d61d615bbd1ea852638a9dfbb4e2ca82aebc8
Author: Stefano Lattarini <address@hidden>
Date: Sun May 20 18:26:01 2012 +0200
[ng] mkinstalldirs: remove support for the script and the variable
According to our documentation:
mkinstalldirs used to be a wrapper around 'mkdir -p', which is not
portable. Now we prefer to use 'install-sh -d' when configure
finds that 'mkdir -p' does not work, this makes one less script to
distribute. For backward compatibility mkinstalldirs is still used
and distributed when automake finds it in a package. But it is no
longer installed automatically, and it should be safe to remove it.
So we remove the 'mkinstalldirs' as well as its companion $(mkinstalldirs)
variable from Automake-NG altogether.
* NG-NEWS, doc/automake-ng.texi: Update.
* automake.in (handle_configure): Don not require nor distribute the
'mkinstalldirs' script anymore. Do not define the $(mkinstalldirs)
variable.
(@common_files): Do not report 'mkinstalldirs' anymore. Reformat the
array while we are at it, to make it easier to add or remove entries
in the future.
* lib/mkinstalldirs: Delete this file.
* Makefile.am (dist_script_DATA): Remove it.
(check-coverage-run, recheck-coverage-run): Use $(MKDIR_P), not
$(mkinstalldirs), to create the 'cover_db' directory.
* syntax-checks.mk (sc_mkinstalldirs): Adjust to verify we have mo more
instances of 'mkinstalldirs'.
* contrib/multilib/config-ml.in: Remove comment referencing the
'mkinstalldirs' script.
* t/auxdir.sh: Adjust to use 'py-compile' rather than 'mkinstalldirs'.
* t/auxdir6.sh: Likewise.
* t/auxdir7.sh: Likewise.
* t/auxdir8.sh: Likewise.
* t/pr9.sh: Adjust comments to avoid spuriously triggering the
'sc_mkinstalldirs' maintainer check.
* t/mkinst3.sh: Converted to test 'install-sh -d' rather than
'mkinstalldirs'.
* t/subdir.sh: Adjust comments.
* t/werror.sh: Use 'am_create_testdir=empty' rather than removing
the install-sh, depcomp, missing and mkinstalldirs scripts by hand.
* t/mkinstall.sh: Remove as obsolete.
* t/instman2.sh: Likewise.
Signed-off-by: Stefano Lattarini <address@hidden>
commit d7734861fe537da7a76ce569427264f1421e459d
Author: Stefano Lattarini <address@hidden>
Date: Sun May 20 17:17:53 2012 +0200
[ng] cleanup: minor cleanups in remake-hdr.am
* lib/am/remake-hdr.am: Remove an obsolete comment, and a workaround
only needed for parallel BSD make. Rewrite the recipe of '%CONFIG_H%'
to be less verbose (with no semantic change intended). Add an
explicative comment. Remove extra blank lines.
Signed-off-by: Stefano Lattarini <address@hidden>
commit 48b6805c685224c90aae0dbff9f88c4b63ec3eb5
Author: Stefano Lattarini <address@hidden>
Date: Sun May 20 17:09:31 2012 +0200
[ng] config.h.{bot,top}: don't support anymore (distribution and deps)
The use of those files have been obsoleted since Autoconf commit 5047ea80
of 1994-08-09, "support alternate input file names"; yes, the "1994" in
there is not a typo: those files were already deprecated in Autoconf 2.0.
It's well past time to remove support for them!
For more information, see chapter "Obsolete Constructs", section
"acconfig.h" of the Autoconf manual. See also the discussion on automake
bug#7919, in particular the message <http://debbugs.gnu.org/7819#20>.
* NG-NEWS: Update.
* automake.in (handle_configure): Don't automatically distribute the
'config.h.top' and 'config.h.bot' files if they exist, and don't add
them to the '%FILES%' transform when processing the 'remake-hdr.am'
Makefile fragment. In fact, drop the '%FILES%' transform altogether,
since now it would always expand to empty.
(@common_sometimes): Don't list 'config.h.top' and 'config.h.bot'
anymore.
* lib/am/remake-hdr.am (%CONFIG_HIN%): Don't depend on '%FILES%'
anymore. That transform has been removed now (and wouldn't be needed
anyway).
* t/autodist-config-headers.sh: Remove as obsolete.
Signed-off-by: Stefano Lattarini <address@hidden>
commit f94562c98cf9a68266ca3a3ee727aeb41c6e9ee8
Author: Stefano Lattarini <address@hidden>
Date: Sun May 20 15:57:45 2012 +0200
[ng] acconfig.h: don't support anymore (distribution and dependencies)
Support for acconfig.h is still present in Autoconf (version 2.69 at the
time of writing), but deprecated by a long time in favour of AH_VERBATIM
and AH_TEMPLATE. The deprecation started at least in September 1999 (see
Changelog entry "Start to get rid of acconfig.h. It is an anachronism",
dated 1999-09-28), and was basically completed by October 1999 (see the
ChangeLog entry "Moving most of the task of creating config.h.in from sh
to m4", dated 1999-10-01), i.e., before the Autoconf 2.50 release (dated
2001-05-21).
For more information, see chapter "Obsolete Constructs", section
"acconfig.h" of the Autoconf manual. See also the discussion on automake
bug#7919, in particular the message <http://debbugs.gnu.org/7819#20>.
* automake.in (handle_configure): Don't automatically distribute the
'acconfig.h' file if it exists, and don't add it to the transform
'%FILES%' when processing the 'remake-hdr.am' Makefile fragment.
(@common_sometimes): Don't list 'acconfig.h' anymore. Reformat it
while we are at it, to make it easier to add or remove entries in
the future.
* t/autodist-acconfig-no-subdir.sh: Remove as obsolete.
* t/autodist-acconfig: Likewise.
* t/confh.sh: Adjust.
* lib/missing (case $program in autoheader*)): Remove any mention
of 'acconfig.h'.
Signed-off-by: Stefano Lattarini <address@hidden>
commit 67d4966d8c0d4fcedbcb0c80cdb6ed95be4a7b65
Author: Stefano Lattarini <address@hidden>
Date: Sun May 20 11:35:22 2012 +0200
[ng] cleanup: remove obsolete special-handling of default source for libs
Since we are already breaking backward-compatibility in small ways in
Automake-NG, we can snatch the occasion to do some cleanup of obsolescent
behaviours and backward-compatibility hacks. This is the first of such
cleanups.
* automake.in (handle_source_transform): The default source for libfoo.la
is libfoo.c, but for backward compatibility we used look for libfoo_la.c
first. Don't do that anymore now.
* t/ltlibsrc.sh: Remove as obsolete.
* NG-NEWS: Update.
Signed-off-by: Stefano Lattarini <address@hidden>
commit 5c3ac8db4b2146f599134df17ecfb039b670834d
Author: Stefano Lattarini <address@hidden>
Date: Sun May 20 11:24:53 2012 +0200
[ng] cleanup: remove a workaround for BSD make (default sources and VPATH)
* automake.in (handle_source_transform): If a rule existed to build a
source file with a $(srcdir) prefix, we used that prefix in our variables
too, for the sake of BSD Make. This is not necessary with GNU make, so
drop it.
* t/vpath-built-sources.sh: New test.
Signed-off-by: Stefano Lattarini <address@hidden>
commit ed795e2cfba4407333fa91934732b8986056f41e
Author: Stefano Lattarini <address@hidden>
Date: Sun May 20 10:52:21 2012 +0200
[ng] cleanup: remove a workaround for BSD make (comments continuation)
* automake.in (read_am_file) [$prev_state == IN_COMMENT]: GNU make always
honors escaped newlines in comments, so we don't need to have a workaround
for when that might not be the case.
* t/comment6.sh: Adjust and enhance.
Signed-off-by: Stefano Lattarini <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
Makefile.am | 3 +-
NG-NEWS | 25 +++
automake.in | 256 ++++++++-----------------
contrib/multilib/config-ml.in | 2 +-
doc/automake-ng.texi | 29 +---
lib/am/distdir.am | 2 +
lib/am/header-vars.am | 7 +
lib/am/remake-hdr.am | 17 +-
lib/missing | 8 +-
lib/mkinstalldirs | 162 ----------------
syntax-checks.mk | 31 +++-
t/autodist-acconfig-no-subdir.sh | 56 ------
t/autodist-acconfig.sh | 44 -----
t/autodist-config-headers.sh | 59 ------
t/auxdir.sh | 7 +-
t/auxdir6.sh | 9 +-
t/auxdir7.sh | 9 +-
t/auxdir8.sh | 11 +-
t/comment6.sh | 35 ++--
t/confh.sh | 5 +-
t/instman2.sh | 33 ----
t/ltlibsrc.sh | 74 -------
t/mkinst3.sh | 18 +-
t/mkinstall.sh | 31 ---
t/pluseq5.sh | 20 +--
t/pr9.sh | 4 +-
t/subdir.sh | 3 +-
t/subobj11a.sh | 14 +-
t/subobj11c.sh | 51 -----
t/{suffix-chain.sh => vpath-built-sources.sh} | 61 ++++--
t/warnopts.sh | 34 ++--
t/werror.sh | 14 +-
t/werror2.sh | 5 +-
33 files changed, 297 insertions(+), 842 deletions(-)
delete mode 100755 lib/mkinstalldirs
delete mode 100755 t/autodist-acconfig-no-subdir.sh
delete mode 100755 t/autodist-acconfig.sh
delete mode 100755 t/autodist-config-headers.sh
delete mode 100755 t/instman2.sh
delete mode 100755 t/ltlibsrc.sh
delete mode 100755 t/mkinstall.sh
delete mode 100755 t/subobj11c.sh
copy t/{suffix-chain.sh => vpath-built-sources.sh} (50%)
diff --git a/Makefile.am b/Makefile.am
index baef186..39cde85 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -147,7 +147,6 @@ dist_script_DATA = \
lib/install-sh \
lib/mdate-sh \
lib/missing \
- lib/mkinstalldirs \
lib/elisp-comp \
lib/ylwrap \
lib/depcomp \
@@ -658,7 +657,7 @@ PERL_COVERAGE_FLAGS =
-MDevel::Cover=-db,$(PERL_COVERAGE_DB),-silent,on,-summary
PERL_COVER = cover
check-coverage-run recheck-coverage-run: all
- $(mkinstalldirs) $(PERL_COVERAGE_DB)
+ $(MKDIR_P) $(PERL_COVERAGE_DB)
PERL5OPT="$$PERL5OPT $(PERL_COVERAGE_FLAGS)"; export PERL5OPT; \
WANT_NO_THREADS=yes; export WANT_NO_THREADS; unset AUTOMAKE_JOBS; \
$(MAKE) `echo $@ | sed 's/-coverage-run//'`
diff --git a/NG-NEWS b/NG-NEWS
index 4eab948..2fbc0e4 100644
--- a/NG-NEWS
+++ b/NG-NEWS
@@ -192,6 +192,31 @@ Miscellaneous
Do not use any of these variables in your Makefiles!
+* If the sources for a target library like 'libfoo.a' or 'libbar.la' are
+ not explicitly specified, mainline Automake looks also (respectively)
+ for the files 'libfoo_a.c' or 'libbar_la.c' as possible default sources.
+ Such a behaviour is deprecated though, and is present only for the sake
+ of backward-compatibility. Automake-NG has thus dropped the behaviour,
+ and will only look for (respectively) 'libfoo.c' and 'libbar.c' as
+ possible default sources.
+
+* Automake-NG has removed automatic handling and distribution of the
+ obsolescent 'acconfig.h', 'config.h.top' and 'config.h.bot' files.
+ One should instead use the modern macros 'AH_VERBATIM' and 'AH_TEMPLATE',
+ as recommended in the Autoconf manual (as of Autoconf 2.69, chapter
+ "Obsolete Constructs", section "acconfig.h").
+
+* The 'mkinstalldirs' script is not installed, distributed, nor provided
+ anymore; its same effects can be obtained by "install-sh -d" instead.
+ Similarly, the $(mkinstallscripts) make variable is not defined anymore;
+ one should use $(MKDIR_P) instead.
+
+* The $(INCLUDES) variable is not anymore passed to the invocations of
+ compilers with a C-like preprocessing step (as are for example C, C++,
+ Objective C, preprocessed assembler ...). One should just use
+ $(AM_CPPFLAGS) instead, which has been supported and recommended for
+ a long time.
+
-----
Copyright (C) 2012 Free Software Foundation, Inc.
diff --git a/automake.in b/automake.in
index 7cf488d..09b43ff 100644
--- a/automake.in
+++ b/automake.in
@@ -227,19 +227,53 @@ my @libtool_sometimes = qw(ltconfig ltcf-c.sh ltcf-cxx.sh
ltcf-gcj.sh);
# Commonly found files we look for and automatically include in
# distributed files.
-my @common_files =
- (qw(ABOUT-GNU ABOUT-NLS AUTHORS BACKLOG COPYING COPYING.DOC COPYING.LIB
- COPYING.LESSER ChangeLog INSTALL NEWS README THANKS TODO
- ar-lib compile config.guess config.rpath
- config.sub depcomp elisp-comp install-sh libversion.in mdate-sh
- missing mkinstalldirs py-compile texinfo.tex ylwrap),
- @libtool_files, @libtool_sometimes);
+my @common_files = (
+ qw(
+ ABOUT-GNU
+ ABOUT-NLS
+ AUTHORS
+ BACKLOG
+ COPYING
+ COPYING.DOC
+ COPYING.LIB
+ COPYING.LESSER
+ ChangeLog
+ INSTALL
+ NEWS
+ README
+ THANKS
+ TODO
+ ar-lib
+ compile
+ config.guess
+ config.rpath
+ config.sub
+ depcomp
+ elisp-comp
+ install-sh
+ libversion.in
+ mdate-sh
+ missing
+ py-compile
+ texinfo.tex
+ ylwrap
+ ),
+ @libtool_files,
+ @libtool_sometimes,
+);
# Commonly used files we auto-include, but only sometimes. This list
# is used for the --help output only.
my @common_sometimes =
- qw(aclocal.m4 acconfig.h config.h.top config.h.bot configure
- configure.ac configure.in stamp-vti);
+ qw(
+ aclocal.m4
+ config.h.top
+ config.h.bot
+ configure
+ configure.ac
+ configure.in
+ stamp-vti
+ );
# Standard directories from the GNU Coding Standards, and additional
# pkg* directories from Automake. Stored in a hash for fast member check.
@@ -420,7 +454,10 @@ my %extension_map = ();
# List of the distributed files we discovered while reading
# configure.ac.
-my $configure_dist_common = '';
+my @configure_dist_common = ();
+
+# List of the "auto-discovered" distributed files.
+my @dist_common = ();
# This maps languages names onto objects.
my %languages = ();
@@ -633,6 +670,8 @@ sub initialize_per_input ()
$output_rules = '';
$output_trailer = '';
+ @dist_common = ();
+
Automake::Options::reset;
Automake::Variable::reset;
Automake::Rule::reset;
@@ -694,7 +733,7 @@ register_language ('name' => 'c',
'flags' => ['CFLAGS', 'CPPFLAGS'],
'ccer' => 'CC',
'compiler' => 'COMPILE',
- 'compile' => '$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)',
+ 'compile' => '$(CC) $(DEFS) $(DEFAULT_INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)',
'lder' => 'CCLD',
'ld' => '$(CC)',
'linker' => 'LINK',
@@ -711,7 +750,7 @@ register_language ('name' => 'cxx',
'link' => '$(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS)
$(LDFLAGS) -o $@',
'autodep' => 'CXX',
'flags' => ['CXXFLAGS', 'CPPFLAGS'],
- 'compile' => '$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)',
+ 'compile' => '$(CXX) $(DEFS) $(DEFAULT_INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)',
'ccer' => 'CXX',
'compiler' => 'CXXCOMPILE',
'compile_flag' => '-c',
@@ -730,7 +769,7 @@ register_language ('name' => 'objc',
'link' => '$(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS)
$(AM_LDFLAGS) $(LDFLAGS) -o $@',
'autodep' => 'OBJC',
'flags' => ['OBJCFLAGS', 'CPPFLAGS'],
- 'compile' => '$(OBJC) $(DEFS) $(DEFAULT_INCLUDES)
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)',
+ 'compile' => '$(OBJC) $(DEFS) $(DEFAULT_INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)',
'ccer' => 'OBJC',
'compiler' => 'OBJCCOMPILE',
'compile_flag' => '-c',
@@ -748,7 +787,7 @@ register_language ('name' => 'objcxx',
'link' => '$(OBJCXXLD) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS)
$(AM_LDFLAGS) $(LDFLAGS) -o $@',
'autodep' => 'OBJCXX',
'flags' => ['OBJCXXFLAGS', 'CPPFLAGS'],
- 'compile' => '$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES)
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS)',
+ 'compile' => '$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS)',
'ccer' => 'OBJCXX',
'compiler' => 'OBJCXXCOMPILE',
'compile_flag' => '-c',
@@ -766,7 +805,7 @@ register_language ('name' => 'upc',
'link' => '$(UPCLD) $(AM_UPCFLAGS) $(UPCFLAGS) $(AM_LDFLAGS)
$(LDFLAGS) -o $@',
'autodep' => 'UPC',
'flags' => ['UPCFLAGS', 'CPPFLAGS'],
- 'compile' => '$(UPC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_UPCFLAGS) $(UPCFLAGS)',
+ 'compile' => '$(UPC) $(DEFS) $(DEFAULT_INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_UPCFLAGS) $(UPCFLAGS)',
'ccer' => 'UPC',
'compiler' => 'UPCCOMPILE',
'compile_flag' => '-c',
@@ -868,7 +907,7 @@ register_language ('name' => 'asm',
'config_vars' => ['CCAS', 'CCASFLAGS'],
'flags' => ['CCASFLAGS'],
- # Users can set AM_CCASFLAGS to include DEFS, INCLUDES,
+ # Users can set AM_CCASFLAGS to include, say, DEFS,
# or anything else required. They can also set CCAS.
# Or simply use Preprocessed Assembler.
'compile' => '$(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)',
@@ -885,7 +924,7 @@ register_language ('name' => 'cppasm',
'autodep' => 'CCAS',
'flags' => ['CCASFLAGS', 'CPPFLAGS'],
- 'compile' => '$(CCAS) $(DEFS) $(DEFAULT_INCLUDES)
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)',
+ 'compile' => '$(CCAS) $(DEFS) $(DEFAULT_INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)',
'ccer' => 'CPPAS',
'compiler' => 'CPPASCOMPILE',
'compile_flag' => '-c',
@@ -939,7 +978,7 @@ register_language ('name' => 'ppfc',
'flags' => ['FCFLAGS', 'CPPFLAGS'],
'ccer' => 'PPFC',
'compiler' => 'PPFCCOMPILE',
- 'compile' => '$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)',
+ 'compile' => '$(FC) $(DEFS) $(DEFAULT_INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)',
'compile_flag' => '-c',
'output_flag' => '-o',
'libtool_tag' => 'FC',
@@ -949,11 +988,11 @@ register_language ('name' => 'ppfc',
# Preprocessed Fortran 77
#
# The current support for preprocessing Fortran 77 just involves
-# passing "$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
-# $(CPPFLAGS)" as additional flags to the Fortran 77 compiler, since
-# this is how GNU Make does it; see the "GNU Make Manual, Edition 0.51
-# for 'make' Version 3.76 Beta" (specifically, from info file
-# '(make)Catalogue of Rules').
+# passing "$(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)"
+# as additional flags to the Fortran 77 compiler, since this is how
+# GNU Make does it; see the "GNU Make Manual, Edition 0.51 for 'make'
+# Version 3.76 Beta" (specifically, from info file '(make)Catalogue
+# of Rules').
#
# A better approach would be to write an Autoconf test
# (i.e. AC_PROG_FPP) for a Fortran 77 preprocessor, because not all
@@ -971,7 +1010,7 @@ register_language ('name' => 'ppf77',
'flags' => ['FFLAGS', 'CPPFLAGS'],
'ccer' => 'PPF77',
'compiler' => 'PPF77COMPILE',
- 'compile' => '$(F77) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)',
+ 'compile' => '$(F77) $(DEFS) $(DEFAULT_INCLUDES)
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)',
'compile_flag' => '-c',
'output_flag' => '-o',
'libtool_tag' => 'F77',
@@ -1747,24 +1786,6 @@ sub handle_single_transform ($$$$$%)
# (this happens when the subdir-objects option is used),
# then the inference will work.
#
- # The latter case deserves a historical note. When the
- # subdir-objects option was added on 1999-04-11 it was
- # thought that inferences rules would work for
- # subdirectory objects too. Later, on 1999-11-22,
- # automake was changed to output explicit rules even for
- # subdir-objects. Nobody remembers why, but this occurred
- # soon after the merge of the user-dep-gen-branch so it
- # might be related. In late 2003 people complained about
- # the size of the generated Makefile.ins (libgcj, with
- # 2200+ subdir objects was reported to have a 9MB
- # Makefile), so we now rely on inference rules again.
- # Maybe we'll run across the same issue as in the past,
- # but at least this time we can document it. However since
- # dependency tracking has evolved it is possible that
- # our old problem no longer exists.
- # Using inference rules for subdir-objects has been tested
- # with GNU make, Solaris make, Ultrix make, BSD make,
- # HP-UX make, and OSF1 make successfully.
if ($renamed
|| ($directory ne '' && ! option 'subdir-objects')
# We must also use specific rules for a nodist_ source
@@ -1916,24 +1937,14 @@ sub handle_single_transform ($$$$$%)
# Transform .o or $o file into .P file (for automatic
# dependency code).
- # Properly flatten multiple adjacent slashes, as Solaris 10 make
- # might fail over them in an include statement.
- # Leading double slashes may be special, as per Posix, so deal
- # with them carefully.
if ($lang && $lang->autodep ne 'no')
- {
+ {
my $depfile = $object;
$depfile =~ s/\.([^.]*)$/.P$1/;
$depfile =~ s/\$\(OBJEXT\)$/o/;
- my $maybe_extra_leading_slash = '';
- $maybe_extra_leading_slash = '/' if $depfile =~ m,^//[^/],;
- $depfile =~ s,/+,/,g;
- my $basename = basename ($depfile);
- # This might make $dirname empty, but we account for that below.
- (my $dirname = dirname ($depfile)) =~ s/\/*$//;
- $dirname = $maybe_extra_leading_slash . $dirname;
- $dep_files{$dirname . '/$(DEPDIR)/' . $basename} = 1;
- }
+ $dep_files{dirname ($depfile) . '/$(DEPDIR)/'
+ . basename ($depfile)} = 1;
+ }
}
return @result;
@@ -2046,39 +2057,11 @@ sub handle_source_transform ($$$$%)
my @keys = sort keys %used_pfx;
if (scalar @keys == 0)
{
- # The default source for libfoo.la is libfoo.c, but for
- # backward compatibility we first look at libfoo_la.c,
- # if no default source suffix is given.
- my $old_default_source = "$one_file.c";
my $ext_var = var ('AM_DEFAULT_SOURCE_EXT');
my $default_source_ext = $ext_var ? variable_value ($ext_var) : '.c';
msg_var ('unsupported', $ext_var, $ext_var->name . " can assume at most
one value")
if $default_source_ext =~ /[\t ]/;
(my $default_source = $unxformed) =~
s,(\.[^./\\]*)?$,$default_source_ext,;
- if ($old_default_source ne $default_source
- && !$ext_var
- && (rule $old_default_source
- || rule '$(srcdir)/' . $old_default_source
- || rule '${srcdir}/' . $old_default_source
- || -f $old_default_source))
- {
- my $loc = $where->clone;
- $loc->pop_context;
- msg ('obsolete', $loc,
- "the default source for '$unxformed' has been changed "
- . "to '$default_source'.\n(Using '$old_default_source' for "
- . "backward compatibility.)");
- $default_source = $old_default_source;
- }
- # If a rule exists to build this source with a $(srcdir)
- # prefix, use that prefix in our variables too. This is for
- # the sake of BSD Make.
- if (rule '$(srcdir)/' . $default_source
- || rule '${srcdir}/' . $default_source)
- {
- $default_source = '$(srcdir)/' . $default_source;
- }
-
&define_variable ($one_file . "_SOURCES", $default_source, $where);
push (@sources, $default_source);
push (@dist_sources, $default_source);
@@ -3734,7 +3717,7 @@ sub handle_dist ()
}
}
- # We might copy elements from $configure_dist_common to
+ # We might copy elements from @configure_dist_common to
# %dist_common if we think we need to. If the file appears in our
# directory, we would have discovered it already, so we don't
# check that. But if the file is in a subdir without a Makefile,
@@ -3747,15 +3730,16 @@ sub handle_dist ()
# See also automake bug#9651.
if ($relative_dir eq '.')
{
- foreach my $file (split (' ' , $configure_dist_common))
+ foreach my $file (@configure_dist_common)
{
my $dir = dirname ($file);
push_dist_common ($file)
if ($dir eq '.' || ! is_make_dir ($dir));
}
+ @configure_dist_common = ();
}
- # We don't expected further attempts to modify $(am__dist_common)
+ # We don't expected further attempts to modify @dist_common
# after this point, so disallow it, for extra safety.
$handle_dist_run = 1;
@@ -3781,7 +3765,8 @@ sub handle_dist ()
$output_rules .= &file_contents ('distdir',
new Automake::Location,
%transform,
- FILENAME_FILTER => $filename_filter);
+ FILENAME_FILTER => $filename_filter,
+ 'DIST-COMMON' => "@dist_common");
}
@@ -3841,10 +3826,11 @@ sub handle_subdirs ()
}
-# ($REGEN, @DEPENDENCIES)
+# $REGEN
# &scan_aclocal_m4
# ----------------
-# If aclocal.m4 creation is automated, return the list of its dependencies.
+# If aclocal.m4 creation is automated, return "aclocal.m4",
+# otherwise return 0.
sub scan_aclocal_m4 ()
{
my $regen_aclocal = 0;
@@ -3861,21 +3847,11 @@ sub scan_aclocal_m4 ()
$regen_aclocal = $line =~ 'generated automatically by aclocal';
}
- my @ac_deps = ();
-
- if (set_seen ('ACLOCAL_M4_SOURCES'))
- {
- push (@ac_deps, '$(ACLOCAL_M4_SOURCES)');
- msg_var ('obsolete', 'ACLOCAL_M4_SOURCES',
- "'ACLOCAL_M4_SOURCES' is obsolete.\n"
- . "It should be safe to simply remove it");
- }
-
# Note that it might be possible that aclocal.m4 doesn't exist but
# should be auto-generated. This case probably isn't very
# important.
- return ($regen_aclocal, @ac_deps);
+ return $regen_aclocal;
}
@@ -3991,10 +3967,9 @@ sub handle_configure ($$$@)
my $colon_infile = ':' . join (':', @inputs);
$colon_infile = '' if $colon_infile eq ":$makefile.in";
my @rewritten = rewrite_inputs_into_dependencies ($makefile, @inputs);
- my ($regen_aclocal_m4, @aclocal_m4_deps) = scan_aclocal_m4;
+ my $regen_aclocal_m4 = scan_aclocal_m4;
define_pretty_variable ('am__aclocal_m4_deps', TRUE, INTERNAL,
- @configure_deps, @aclocal_m4_deps,
- '$(top_srcdir)/' . $configure_ac);
+ @configure_deps, '$(top_srcdir)/' . $configure_ac);
my @configuredeps = ('$(am__aclocal_m4_deps)', '$(CONFIGURE_DEPENDENCIES)');
push @configuredeps, '$(ACLOCAL_M4)' if -f 'aclocal.m4';
define_pretty_variable ('am__configure_deps', TRUE, INTERNAL,
@@ -4018,12 +3993,6 @@ sub handle_configure ($$$@)
'REGEN-ACLOCAL-M4' => $regen_aclocal_m4,
VERBOSE => verbose_flag ('GEN'));
- if ($relative_dir eq '.')
- {
- &push_dist_common ('acconfig.h')
- if -f 'acconfig.h';
- }
-
# If we have a configure header, require it.
my $hdr_index = 0;
my @distclean_config;
@@ -4066,30 +4035,10 @@ sub handle_configure ($$$@)
# Cannot define rebuild rules for filenames with shell variables.
next if (substitute_ac_subst_variables $config_h_path) =~ /\$/;
- # Header defined in this directory.
- my @files;
- if (-f $config_h_path . '.top')
- {
- push (@files, "$cn_sans_dir.top");
- }
- if (-f $config_h_path . '.bot')
- {
- push (@files, "$cn_sans_dir.bot");
- }
-
- push_dist_common (@files);
-
- # For now, acconfig.h can only appear in the top srcdir.
- if (-f 'acconfig.h')
- {
- push (@files, '$(top_srcdir)/acconfig.h');
- }
-
my $stamp = "${stamp_dir}stamp-h${hdr_index}";
$output_rules .=
file_contents ('remake-hdr',
new Automake::Location,
- FILES => "@files",
CONFIG_H => $cn_sans_dir,
CONFIG_HIN => $ins[0],
CONFIG_H_DEPS => "@ins",
@@ -4105,26 +4054,6 @@ sub handle_configure ($$$@)
FILES => "@distclean_config")
if @distclean_config;
- # Distribute and define mkinstalldirs only if it is already present
- # in the package, for backward compatibility (some people may still
- # use $(mkinstalldirs)).
- my $mkidpath = "$config_aux_dir/mkinstalldirs";
- if (-f $mkidpath)
- {
- # Use require_file so that any existing script gets updated
- # by --force-missing.
- require_conf_file ($mkidpath, FOREIGN, 'mkinstalldirs');
- define_variable ('mkinstalldirs',
- "\$(SHELL) $am_config_aux_dir/mkinstalldirs", INTERNAL);
- }
- else
- {
- # Use $(install_sh), not $(MKDIR_P) because the latter requires
- # at least one argument, and $(mkinstalldirs) used to work
- # even without arguments (e.g. $(mkinstalldirs) $(conditional_dir)).
- define_variable ('mkinstalldirs', '$(install_sh) -d', INTERNAL);
- }
-
reject_var ('CONFIG_HEADER',
"'CONFIG_HEADER' is an anachronism; now determined "
. "automatically\nfrom '$configure_ac'");
@@ -5325,8 +5254,7 @@ sub scan_autoconf_files ()
if -f $config_aux_dir . '/install.sh';
# Preserve dist_common for later.
- $configure_dist_common = variable_value ('am__dist_common') || '';
-
+ @configure_dist_common = @dist_common;
}
################################################################
@@ -6416,14 +6344,6 @@ sub read_am_file ($$)
}
elsif ($prev_state == IN_COMMENT)
{
- # If the line doesn't start with a '#', add it.
- # We do this because a continued comment like
- # # A = foo \
- # bar \
- # baz
- # is not portable. BSD make doesn't honor
- # escaped newlines in comments.
- s/^#?/#/;
$comment .= $spacing . $_;
}
else # $prev_state == IN_VAR_DEF
@@ -6526,7 +6446,7 @@ sub read_am_file ($$)
push (@include_stack, "\$\(top_srcdir\)/$path");
# Distribute any included file.
- # Always use the $(top_srcdir) prefix in am__dist_common,
+ # Always use the $(top_srcdir) prefix in @dist_common,
# otherwise OSF make will implicitly copy the included
# file in the build tree during "make distdir" to satisfy
# the dependency.
@@ -6537,7 +6457,7 @@ sub read_am_file ($$)
{
$path =~ s/\$\(srcdir\)\///;
push (@include_stack, "\$\(srcdir\)/$path");
- # Always use the $(srcdir) prefix in am__dist_common,
+ # Always use the $(srcdir) prefix in @dist_common,
# otherwise OSF make will implicitly copy the included
# file in the build tree during "make distdir" to satisfy
# the dependency.
@@ -7374,7 +7294,6 @@ sub locate_aux_dir ()
# &push_required_file ($DIR, $FILE, $FULLFILE)
# --------------------------------------------------
-# Push the given file onto $(am__dist_common).
sub push_required_file
{
my ($dir, $file, $fullfile) = @_;
@@ -7488,7 +7407,7 @@ sub required_file_check_or_copy ($$$)
# If we've already looked for it, we're done. You might wonder why
# we don't do this before searching for the file. If we do that,
# then something like AC_OUTPUT(subdir/foo foo) will fail to put
- # 'foo.in' into the list of distributed files $(am__dist_common).
+ # 'foo.in' into the list of distributed files @dist_common.
if (! $found_it)
{
return if defined $required_file_not_found{$fullfile};
@@ -7775,11 +7694,9 @@ sub push_dist_common
{
prog_error "push_dist_common run after handle_dist"
if $handle_dist_run;
- Automake::Variable::define ('am__dist_common', VAR_AUTOMAKE, '+',
- TRUE, "@_", '', INTERNAL, VAR_PRETTY);
+ push @dist_common, @_;
}
-
################################################################
# generate_makefile ($MAKEFILE_AM, $MAKEFILE_IN)
@@ -7839,11 +7756,6 @@ sub generate_makefile ($$)
}
}
- # Catch some obsolete variables.
- msg_var ('obsolete', 'INCLUDES',
- "'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')")
- if var ('INCLUDES');
-
# Must do this after reading .am file.
define_variable ('subdir', $relative_dir, INTERNAL);
diff --git a/contrib/multilib/config-ml.in b/contrib/multilib/config-ml.in
index 0734a95..cc3a99d 100644
--- a/contrib/multilib/config-ml.in
+++ b/contrib/multilib/config-ml.in
@@ -659,7 +659,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
fi
if [ -d ${ml_dir} ]; then true; else
- # ``mkdir -p ${ml_dir}'' See also mkinstalldirs.
+ # ``mkdir -p ${ml_dir}''
pathcomp=""
for d in `echo ":${ml_dir}" | sed -ne 's/^:\//#/;s/^://;s/\//
/g;s/^#/\//;p'`; do
pathcomp="$pathcomp$d"
diff --git a/doc/automake-ng.texi b/doc/automake-ng.texi
index eb4705c..f1702fc 100644
--- a/doc/automake-ng.texi
+++ b/doc/automake-ng.texi
@@ -2311,16 +2311,6 @@ maintainers. If the program in question doesn't exist,
@command{missing} prints an informative warning and attempts to fix
things so that the build can continue.
address@hidden mkinstalldirs
-This script used to be a wrapper around @samp{mkdir -p}, which is not
-portable. Now we prefer to use @samp{install-sh -d} when @command{configure}
-finds that @samp{mkdir -p} does not work, this makes one less script to
-distribute.
-
-For backward compatibility @file{mkinstalldirs} is still used and
-distributed when @command{automake} finds it in a package. But it is no
-longer installed automatically, and it should be safe to remove it.
-
@item py-compile
This is used to byte-compile Python scripts.
@@ -2950,7 +2940,6 @@ Automake will look for various helper scripts, such as
@file{ltmain.sh},
@file{mdate-sh},
@file{missing},
address@hidden,
@file{py-compile},
@file{test-driver},
@file{texinfo.tex},
@@ -6061,12 +6050,6 @@ files in the source directory are ignored.
@code{AM_CPPFLAGS} is ignored in preference to a per-executable (or
per-library) @code{_CPPFLAGS} variable if it is defined.
address@hidden INCLUDES
-This does the same job as @code{AM_CPPFLAGS} (or any per-target
address@hidden variable if it is used). It is an older name for the
-same functionality. This variable is deprecated; we suggest using
address@hidden and per-target @code{_CPPFLAGS} instead.
-
@item AM_CFLAGS
This is the variable the @file{Makefile.am} author can use to pass
in additional C compiler flags. It is more fully documented elsewhere.
@@ -6399,8 +6382,8 @@ assembly code. This compiler must work a bit like a C
compiler; in
particular it must accept @option{-c} and @option{-o}. The values of
@code{CCASFLAGS} and @code{AM_CCASFLAGS} (or its per-target
definition) is passed to the compilation. For preprocessed files,
address@hidden, @code{DEFAULT_INCLUDES}, @code{INCLUDES}, @code{CPPFLAGS}
-and @code{AM_CPPFLAGS} are also used.
address@hidden, @code{DEFAULT_INCLUDES}, @code{CPPFLAGS} and
address@hidden are also used.
The autoconf macro @code{AM_PROG_AS} will define @code{CCAS} and
@code{CCASFLAGS} for you (unless they are already set, it simply sets
@@ -6489,8 +6472,7 @@ command used is as follows:
@table @file
@item .F
address@hidden(F77) -F $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)@*
-$(AM_FFLAGS) $(FFLAGS)}
address@hidden(F77) -F $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS)
$(FFLAGS)}
@item .r
@code{$(F77) -F $(AM_FFLAGS) $(FFLAGS) $(AM_RFLAGS) $(RFLAGS)}
@@ -6512,8 +6494,7 @@ is as follows:
@code{$(F77) -c $(AM_FFLAGS) $(FFLAGS)}
@item .F
address@hidden(F77) -c $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)@*
-$(AM_FFLAGS) $(FFLAGS)}
address@hidden(F77) -c $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS)
$(FFLAGS)}
@item .r
@code{$(F77) -c $(AM_FFLAGS) $(FFLAGS) $(AM_RFLAGS) $(RFLAGS)}
@@ -12919,7 +12900,7 @@ suite failures, please attach the @file{test-suite.log}
file.
@c LocalWords: pkg libdir cpio bindir sbindir rmt pax sbin zar zardir acindex
@c LocalWords: HTML htmldir html noinst TEXINFOS nodist nobase strudel CFLAGS
@c LocalWords: libmumble CC YFLAGS itemx de fication config url comp
address@hidden LocalWords: depcomp elisp sh mdate mkinstalldirs mkdir py tex
dvi ps pdf
address@hidden LocalWords: depcomp elisp sh mdate mkdir py tex dvi ps pdf
@c LocalWords: ylwrap zardoz INIT gettext acinclude mv FUNCS LIBOBJS LDADD fr
@c LocalWords: uref featureful dnl src LINGUAS es ko nl pl sl sv PROG ISC doc
@c LocalWords: POSIX STDC fcntl FUNC ALLOCA blksize struct stat intl po chmod
diff --git a/lib/am/distdir.am b/lib/am/distdir.am
index face03a..1e5f902 100644
--- a/lib/am/distdir.am
+++ b/lib/am/distdir.am
@@ -14,6 +14,8 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
+am__dist_common += %DIST-COMMON%
+
## Use 'sort', not 'am__uniq', for performance reasons. Luckily, we
## don't care in which order the distributed files are.
am__dist_files = $(strip $(sort \
diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am
index 10ff773..5cd86f6 100644
--- a/lib/am/header-vars.am
+++ b/lib/am/header-vars.am
@@ -16,6 +16,13 @@
VPATH = @srcdir@
+## Makefiles generated by Automake-NG require GNU make >= 3.81.
+## The .FEATURES special variable has been introduced in that make
+## version, so use it as a witness to determine whether the current
+## make is good enough.
+$(if $(.FEATURES),, \
+ $(error Automake-NG based builds require GNU make 3.81 or later))
+
## The 'all' target must be the default one, independently from the
## position it is declared in the output Makefile.
.DEFAULT_GOAL := all
diff --git a/lib/am/remake-hdr.am b/lib/am/remake-hdr.am
index 7c214b8..61e32be 100644
--- a/lib/am/remake-hdr.am
+++ b/lib/am/remake-hdr.am
@@ -14,26 +14,21 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
-## Explicitly look in srcdir for benefit of non-GNU makes.
-
-
%CONFIG_H%: %STAMP%
-## Recover from removal of CONFIG_HEADER
- @if test ! -f $@; then rm -f %STAMP%; else :; fi
- @if test ! -f $@; then $(MAKE) %STAMP%; else :; fi
-
+## Recover from removal of CONFIG_HEADER. Break up in two invocations
+## so that "make -n" is properly honored.
+ @test -f $@ || rm -f %STAMP%
+ @test -f $@ || $(MAKE) %STAMP%
%STAMP%: %CONFIG_H_DEPS% $(top_builddir)/config.status
@rm -f %STAMP%
cd $(top_builddir) && $(SHELL) ./config.status %CONFIG_H_PATH%
-
## Only the first file of AC_CONFIG_HEADERS is assumed to be generated
## by autoheader.
if %?FIRST%
-%CONFIG_HIN%: %MAINTAINER-MODE% $(am__configure_deps) %FILES%
-## Cater to parallel BSD make.
- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+%CONFIG_HIN%: %MAINTAINER-MODE% $(am__configure_deps)
+ $(am__cd) $(top_srcdir) && $(AUTOHEADER)
## Whenever $(AUTOHEADER) has run, we must make sure that
## ./config.status will rebuild config.h. The dependency from %STAMP%
## on %CONFIG_H_DEPS% (which contains config.hin) is not enough to
diff --git a/lib/missing b/lib/missing
index 9a55648..b4eb97f 100755
--- a/lib/missing
+++ b/lib/missing
@@ -1,7 +1,7 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2012-01-06.18; # UTC
+scriptversion=2012-05-20.14; # UTC
# Copyright (C) 1996-2012 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <address@hidden>, 1996.
@@ -157,9 +157,9 @@ WARNING: '$1' is $msg. You should only need it if
autoheader*)
echo 1>&2 "\
WARNING: '$1' is $msg. You should only need it if
- you modified 'acconfig.h' or '${configure_ac}'. You might want
- to install the Autoconf and GNU m4 packages. Grab them
- from any GNU archive site."
+ you modified '${configure_ac}'. You might want to install the
+ Autoconf and GNU m4 packages. Grab them from any GNU archive
+ site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p'
${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
diff --git a/lib/mkinstalldirs b/lib/mkinstalldirs
deleted file mode 100755
index 96a7965..0000000
--- a/lib/mkinstalldirs
+++ /dev/null
@@ -1,162 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-
-scriptversion=2009-04-28.21; # UTC
-
-# Original author: Noah Friedman <address@hidden>
-# Created: 1993-05-16
-# Public domain.
-#
-# This file is maintained in Automake-NG, please report
-# bugs to <address@hidden> or send patches to
-# <address@hidden>.
-
-nl='
-'
-IFS=" "" $nl"
-errstatus=0
-dirmode=
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
-
-Create each directory DIR (with mode MODE, if specified), including all
-leading file name components.
-
-Report bugs to <address@hidden>."
-
-# process command line arguments
-while test $# -gt 0 ; do
- case $1 in
- -h | --help | --h*) # -h for help
- echo "$usage"
- exit $?
- ;;
- -m) # -m PERM arg
- shift
- test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
- dirmode=$1
- shift
- ;;
- --version)
- echo "$0 $scriptversion"
- exit $?
- ;;
- --) # stop option processing
- shift
- break
- ;;
- -*) # unknown option
- echo "$usage" 1>&2
- exit 1
- ;;
- *) # first non-opt arg
- break
- ;;
- esac
-done
-
-for file
-do
- if test -d "$file"; then
- shift
- else
- break
- fi
-done
-
-case $# in
- 0) exit 0 ;;
-esac
-
-# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
-# mkdir -p a/c at the same time, both will detect that a is missing,
-# one will create a, then the other will try to create a and die with
-# a "File exists" error. This is a problem when calling mkinstalldirs
-# from a parallel make. We use --version in the probe to restrict
-# ourselves to GNU mkdir, which is thread-safe.
-case $dirmode in
- '')
- if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- echo "mkdir -p -- $*"
- exec mkdir -p -- "$@"
- else
- # On NextStep and OpenStep, the 'mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because '.' already
- # exists.
- test -d ./-p && rmdir ./-p
- test -d ./--version && rmdir ./--version
- fi
- ;;
- *)
- if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
- test ! -d ./--version; then
- echo "mkdir -m $dirmode -p -- $*"
- exec mkdir -m "$dirmode" -p -- "$@"
- else
- # Clean up after NextStep and OpenStep mkdir.
- for d in ./-m ./-p ./--version "./$dirmode";
- do
- test -d $d && rmdir $d
- done
- fi
- ;;
-esac
-
-for file
-do
- case $file in
- /*) pathcomp=/ ;;
- *) pathcomp= ;;
- esac
- oIFS=$IFS
- IFS=/
- set fnord $file
- shift
- IFS=$oIFS
-
- for d
- do
- test "x$d" = x && continue
-
- pathcomp=$pathcomp$d
- case $pathcomp in
- -*) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp"
-
- mkdir "$pathcomp" || lasterr=$?
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- else
- if test ! -z "$dirmode"; then
- echo "chmod $dirmode $pathcomp"
- lasterr=
- chmod "$dirmode" "$pathcomp" || lasterr=$?
-
- if test ! -z "$lasterr"; then
- errstatus=$lasterr
- fi
- fi
- fi
- fi
-
- pathcomp=$pathcomp/
- done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/syntax-checks.mk b/syntax-checks.mk
index a05402c..957051a 100644
--- a/syntax-checks.mk
+++ b/syntax-checks.mk
@@ -46,6 +46,7 @@ sc_perl_syntax \
sc_no_brace_variable_expansions \
sc_rm_minus_f \
sc_no_for_variable_in_macro \
+sc_old_includes_vars \
sc_mkinstalldirs \
sc_pre_normal_post_install_uninstall \
sc_perl_no_undef \
@@ -137,13 +138,31 @@ sc_no_for_variable_in_macro:
exit 1; \
else :; fi
-## Make sure all invocations of mkinstalldirs are correct.
+## Older, deprecated, and now invalid aliases for $(AM_CPPFLAGS).
+sc_old_includes_vars:
+ @files="\
+ $(xtests) \
+ $(pms) \
+ $(ams) \
+ $(srcdir)/automake.in \
+ $(srcdir)/doc/*.texi \
+ "; \
+ if grep -E '\bINCLUDES\b' $$files; then \
+ echo '$$(INCLUDES) is deprecated, use $$(AM_CPPFLAGS) instead' >&2; \
+ exit 1; \
+ else :; fi
+
+## The script and variable 'mkinstalldirs' are obsolete.
sc_mkinstalldirs:
- @if grep -n 'mkinstalldirs' $(ams) \
- | grep -F -v '$$(mkinstalldirs)' \
- | grep -v '^\./Makefile.am:[0-9][0-9]*: *lib/mkinstalldirs
\\$$'; \
- then \
- echo "Found incorrect use of mkinstalldirs in the lines above" 1>&2; \
+ @files="\
+ $(xtests) \
+ $(pms) \
+ $(ams) \
+ $(srcdir)/automake.in \
+ $(srcdir)/doc/*.texi \
+ "; \
+ if grep 'mkinstalldirs' $$files; then \
+ echo "Found use of mkinstalldirs; that is obsolete" 1>&2; \
exit 1; \
else :; fi
diff --git a/t/autodist-acconfig-no-subdir.sh b/t/autodist-acconfig-no-subdir.sh
deleted file mode 100755
index 18cd5f4..0000000
--- a/t/autodist-acconfig-no-subdir.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Check that 'acconfig.h' is *not* automatically distributed when
-# placed in a subdirectory.
-# Related to automake bug#7819.
-
-. ./defs || Exit 1
-
-cat >> configure.ac <<END
-AC_CONFIG_FILES([sub/Makefile])
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-SUBDIRS = sub
-sub/acconfig.h:
- echo target $@ should not be built >&2; exit 1
-check-local: distdir
- ls -l $(distdir)/sub
- test ! -f $(distdir)/sub/acconfig.h
-END
-
-mkdir sub
-
-cat > sub/Makefile.am <<'END'
-acconfig.h:
- echo target $@ should not be built >&2; exit 1
-check-local:
- echo $(am__dist_common) $(am__dist_files) \
- | grep 'acconfig\.h' && exit 1; :
-END
-
-: > sub/acconfig.h
-
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
-
-./configure
-$MAKE check
-
-:
diff --git a/t/autodist-acconfig.sh b/t/autodist-acconfig.sh
deleted file mode 100755
index 55884f7..0000000
--- a/t/autodist-acconfig.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Check that 'acconfig.h' is automatically distributed if it exists
-# (at automake runtime).
-# Related to automake bug#7819.
-
-. ./defs || Exit 1
-
-cat >> configure.ac <<END
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-.PHONY: test
-test: distdir
- ls -l $(distdir)
- echo ' ' $(am__dist_common) ' ' | grep '[ /]acconfig\.h '
- test -f $(distdir)/acconfig.h
-END
-
-: > acconfig.h
-
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
-
-./configure
-$MAKE test
-
-:
diff --git a/t/autodist-config-headers.sh b/t/autodist-config-headers.sh
deleted file mode 100755
index 798284a..0000000
--- a/t/autodist-config-headers.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Check that config.h.bot and config.h.top are automatically
-# distributed if the AC_CONFIG_HADERS macro is used and they
-# exist at automake runtime.
-# Related to automake bug#7819.
-
-. ./defs || Exit 1
-
-cat >> configure.ac <<END
-AC_CONFIG_HEADERS([config.h sub/config.h cfg2.h:conf2.hin])
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-.PHONY: test
-test: distdir
- ls -l $(distdir) $(distdir)/sub
- echo ' ' $(am__dist_common) ' ' | grep '[ /]config\.h\.bot '
- echo ' ' $(am__dist_common) ' ' | grep '[ /]config\.h\.top '
- echo ' ' $(am__dist_common) ' ' | grep '[ /]cfg2\.h\.bot '
- echo ' ' $(am__dist_common) ' ' | grep '[ /]cfg2\.h\.top '
- echo ' ' $(am__dist_common) ' ' | grep '[ /]sub/config\.h\.bot '
- echo ' ' $(am__dist_common) ' ' | grep '[ /]sub/config\.h\.top '
- test -f $(distdir)/config.h.bot
- test -f $(distdir)/config.h.top
- test -f $(distdir)/cfg2.h.bot
- test -f $(distdir)/cfg2.h.top
- test -f $(distdir)/sub/config.h.bot
- test -f $(distdir)/sub/config.h.top
-END
-
-mkdir sub
-touch config.h.in config.h.top config.h.bot \
- conf2.hin cfg2.h.top cfg2.h.bot \
- sub/config.h.in sub/config.h.top sub/config.h.bot
-
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
-
-./configure
-$MAKE test
-
-:
diff --git a/t/auxdir.sh b/t/auxdir.sh
index c4860f4..f2abfd7 100755
--- a/t/auxdir.sh
+++ b/t/auxdir.sh
@@ -24,19 +24,20 @@ AC_INIT([$me], [1.0])
AC_CONFIG_AUX_DIR([./.])
AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile])
+AM_PATH_PYTHON
END
cat > Makefile.am << 'END'
-pkgdata_DATA =
+python_PYTHON = foo.py
END
-cp "$am_scriptdir/mkinstalldirs" .
+cp "$am_scriptdir/py-compile" .
# The "././" prefix confuses Automake into thinking it is doing a
# subdir build. Yes, this is hacky.
$ACLOCAL
$AUTOMAKE ././Makefile
-grep '/\./\./mkinstalldirs' Makefile.in
+grep '/\./\./py-compile' Makefile.in
:
diff --git a/t/auxdir6.sh b/t/auxdir6.sh
index 08de241..a6d68fd 100755
--- a/t/auxdir6.sh
+++ b/t/auxdir6.sh
@@ -27,24 +27,25 @@ AC_INIT([$me], [1.0])
AC_CONFIG_AUX_DIR([auxdir])
AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile subdir/Makefile])
+AM_PATH_PYTHON
END
mkdir subdir auxdir
cat > Makefile.am << 'END'
-pkgdata_DATA =
+python_PYTHON = foo.py
END
cp Makefile.am subdir/Makefile.am
-: > auxdir/mkinstalldirs
: > auxdir/install-sh
: > auxdir/missing
+: > auxdir/py-compile
$ACLOCAL
$AUTOMAKE
-$FGREP '$(top_srcdir)/auxdir/mkinstalldirs' Makefile.in
-$FGREP '$(top_srcdir)/auxdir/mkinstalldirs' subdir/Makefile.in
+$FGREP '$(top_srcdir)/auxdir/py-compile' Makefile.in
+$FGREP '$(top_srcdir)/auxdir/py-compile' subdir/Makefile.in
:
diff --git a/t/auxdir7.sh b/t/auxdir7.sh
index 9a32bcb..bdf571e 100755
--- a/t/auxdir7.sh
+++ b/t/auxdir7.sh
@@ -26,22 +26,23 @@ AC_INIT([$me], [1.0])
AC_CONFIG_AUX_DIR([.])
AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile subdir/Makefile])
+AM_PATH_PYTHON
END
mkdir subdir
cat > Makefile.am << 'END'
-pkgdata_DATA =
+python_PYTHON = foo.py
END
cp Makefile.am subdir/Makefile.am
-: > mkinstalldirs
+: > py-compile
$ACLOCAL
$AUTOMAKE
-$FGREP '$(top_srcdir)/mkinstalldirs' Makefile.in
-$FGREP '$(top_srcdir)/mkinstalldirs' subdir/Makefile.in
+$FGREP '$(top_srcdir)/py-compile' Makefile.in
+$FGREP '$(top_srcdir)/py-compile' subdir/Makefile.in
:
diff --git a/t/auxdir8.sh b/t/auxdir8.sh
index 4dd0835..21c346e 100755
--- a/t/auxdir8.sh
+++ b/t/auxdir8.sh
@@ -17,7 +17,7 @@
# Test to make sure AC_CONFIG_AUX_DIR works correctly.
# This test tries without an explicit call to AC_CONFIG_AUX_DIR;
# the config auxdir should be implicitly defined to '.' since
-# the install-sh, mkinstalldirs, etc., scripts are in the top-level
+# the install-sh, py-compile, etc., scripts are in the top-level
# directory.
# Keep this in sync with sister tests auxdir6.test and auxdir7.test.
@@ -25,22 +25,23 @@
cat >> configure.ac << 'END'
AC_CONFIG_FILES([subdir/Makefile])
+AM_PATH_PYTHON
END
mkdir subdir
cat > Makefile.am << 'END'
-pkgdata_DATA =
+python_PYTHON = foo.py
END
cp Makefile.am subdir/Makefile.am
-: > mkinstalldirs
+: > py-compile
$ACLOCAL
$AUTOMAKE
-$FGREP '$(top_srcdir)/mkinstalldirs' Makefile.in
-$FGREP '$(top_srcdir)/mkinstalldirs' subdir/Makefile.in
+$FGREP '$(top_srcdir)/py-compile' Makefile.in
+$FGREP '$(top_srcdir)/py-compile' subdir/Makefile.in
:
diff --git a/t/comment6.sh b/t/comment6.sh
index 9fd8d10..19fc43b 100755
--- a/t/comment6.sh
+++ b/t/comment6.sh
@@ -24,6 +24,8 @@ cat >> configure.ac <<'EOF'
AC_OUTPUT
EOF
+SOME_FILES=; unset SOME_FILES # Avoid spurious environment interference.
+
## There are two tests: one with backslashed comments at the top
## of the file, and one with a rule first. This is because
## Comments at the top of the file are handled specially
@@ -35,34 +37,41 @@ cat > Makefile.am << 'EOF'
file2 \
file3
-all-local:
- @echo Good
-
+.PHONY: test
+test:
+ test -z '$(SOME_FILES)'
EOF
+do_check ()
+{
+ $MAKE test
+ grep '^# SOME_FILES =' Makefile
+ # No useless munging please.
+ grep '#.*file[123]' Makefile && Exit 1
+ :
+}
+
$ACLOCAL
$AUTOCONF
$AUTOMAKE
./configure
-$MAKE
-
-grep '# SOME_FILES' Makefile
-grep '# *file3' Makefile
+do_check
cat > Makefile.am << 'EOF'
-all-local:
- @echo Good
+test: test2
+.PHONY: test test2
# SOME_FILES = \
file1 \
file2 \
file3
+
+test:
+ test -z '$(SOME_FILES)'
EOF
$AUTOMAKE
-./configure
-$MAKE
-grep '# SOME_FILES' Makefile
-grep '# *file3' Makefile
+./config.status
+do_check
:
diff --git a/t/confh.sh b/t/confh.sh
index 1ba8534..d09e39c 100755
--- a/t/confh.sh
+++ b/t/confh.sh
@@ -28,16 +28,15 @@ cat > Makefile.am << 'END'
.PHONY: test1 test2
test1:
@echo am__dist_common = $(am__dist_common)
- echo ' ' $(am__dist_common) ' ' | grep '[ /]acconfig\.h '
+ echo ' ' $(am__dist_common) ' ' | grep '[ /]include/config\.h\.in '
test2: distdir
ls -l $(distdir)/*
- test -f $(distdir)/acconfig.h
+ test -f $(distdir)/include/config.h.in
check-local: test1 test2
END
mkdir include
: > include/config.h.in
-: > acconfig.h
# The test used to fail if 'include/Makefile.am' was created (!)
: > include/Makefile.am
diff --git a/t/instman2.sh b/t/instman2.sh
deleted file mode 100755
index 04663db..0000000
--- a/t/instman2.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2000-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Test to make sure mkinstalldirs invocation correct in install-man
-# target. Bug reported by Gordon Irlam <address@hidden>.
-
-. ./defs || Exit 1
-
-cat > Makefile.am << 'EOF'
-man8_MANS = frob.8
-EOF
-
-: > frob.8
-
-$ACLOCAL
-$AUTOMAKE
-
-grep '^install-man' Makefile.in
-
-:
diff --git a/t/ltlibsrc.sh b/t/ltlibsrc.sh
deleted file mode 100755
index 11e2a1d..0000000
--- a/t/ltlibsrc.sh
+++ /dev/null
@@ -1,74 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Test to make sure a sensible default source for libraries is used.
-
-required='cc libtool'
-. ./defs || Exit 1
-
-cat >> configure.ac << 'END'
-AC_PROG_CC
-AM_PROG_AR
-AC_PROG_LIBTOOL
-AC_OUTPUT
-END
-
-mkdir zoo.d
-
-cat > Makefile.am << 'END'
-AM_LDFLAGS = -module
-pkglib_LTLIBRARIES = zoo.d/bar.la old.la
-noinst_LTLIBRARIES = foo.la zoo.d/old2.la
-
-$(srcdir)/zoo_d_old2_la.c: $(srcdir)/old_la.c
- cp $(srcdir)/old_la.c $@
-END
-
-cat > foo.c << 'END'
-int foo (void)
-{
- return 0;
-}
-END
-
-cp foo.c zoo.d/bar.c
-cp foo.c old_la.c
-
-libtoolize
-$ACLOCAL
-$AUTOCONF
-AUTOMAKE_fails -a
-grep '^Makefile\.am:2:.*old_la\.c' stderr
-grep '^Makefile\.am:2:.*old\.c' stderr
-grep '^Makefile\.am:3:.*zoo_d_old2_la\.c' stderr
-grep '^Makefile\.am:3:.*zoo\.d/old2\.c' stderr
-
-$AUTOMAKE -Wno-obsolete
-
-mkdir sub
-cd sub
-
-../configure
-$MAKE
-
-test -f foo.la
-test -f zoo.d/bar.la
-test -f old.la
-test -f zoo.d/old2.la
-
-$MAKE distcheck
-
-:
diff --git a/t/mkinst3.sh b/t/mkinst3.sh
index fbe01c6..7948534 100755
--- a/t/mkinst3.sh
+++ b/t/mkinst3.sh
@@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Test mkinstalldirs with spaces in directory names.
+# Test "install-sh -d" with spaces in directory names.
am_create_testdir=empty
. ./defs || Exit 1
@@ -24,15 +24,15 @@ mkdir '~a b' && mkdir '~a b/-x y' \
|| skip_ "directory names with spaces and metacharacters not accepted"
rm -rf '~a b'
-get_shell_script mkinstalldirs
+get_shell_script install-sh
-# Test mkinstalldirs with the installed mkdir.
+# Test with the installed mkdir.
-./mkinstalldirs '~a b/-x y'
+./install-sh -d '~a b/-x y'
test -d '~a b/-x y'
rm -rf '~a b'
-# Trick mkinstalldirs into thinking mkdir does not support -p.
+# Trick install-sh into thinking mkdir does not support -p.
mkdir bin
cat >bin/mkdir <<'EOF'
@@ -54,12 +54,14 @@ export AM_PATH
PATH=`pwd`/bin$PATH_SEPARATOR$PATH
export PATH
-# Test mkinstalldirs without mkdir -p.
+# Test without mkdir -p.
-./mkinstalldirs '~a b/-x y'
+./install-sh -d '~a b/-x y'
test -d '~a b/-x y'
rm -rf '~a b'
-./mkinstalldirs "`pwd`///~a b//-x y"
+./install-sh -d "`pwd`///~a b//-x y"
test -d "`pwd`/~a b/-x y"
rm -rf '~a b'
+
+:
diff --git a/t/mkinstall.sh b/t/mkinstall.sh
deleted file mode 100755
index e6b3bc2..0000000
--- a/t/mkinstall.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /bin/sh
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Test for bug where mkinstalldirs variable can be set incorrectly.
-
-. ./defs || Exit 1
-
-cat > Makefile.am << 'END'
-pkgdata_DATA =
-END
-
-# The "././" prefix confuses Automake into thinking it is doing a
-# subdir build. Yes, this is hacky.
-$ACLOCAL
-$AUTOMAKE ././Makefile
-
-grep ' /mkinstalldirs' Makefile.in && Exit 1
-Exit 0
diff --git a/t/pluseq5.sh b/t/pluseq5.sh
index 5db9c47..83223ff 100755
--- a/t/pluseq5.sh
+++ b/t/pluseq5.sh
@@ -24,9 +24,9 @@ END
cat > Makefile.am << 'END'
if CHECK
-INCLUDES = abc
+AM_CPPFLAGS = abc
endif
-INCLUDES += def
+AM_CPPFLAGS += def
END
$ACLOCAL
@@ -34,10 +34,10 @@ AUTOMAKE_fails
# We expect the following diagnostic:
#
-# Makefile.am:4: cannot apply '+=' because 'INCLUDES' is not defined in
+# Makefile.am:4: cannot apply '+=' because 'AM_CPPFLAGS' is not defined in
# Makefile.am:4: the following conditions:
# Makefile.am:4: !CHECK
-# Makefile.am:4: either define 'INCLUDES' in these conditions, or use
+# Makefile.am:4: either define 'AM_CPPFLAGS' in these conditions, or use
# Makefile.am:4: '+=' in the same conditions as the definitions.
# Is !CHECK mentioned?
@@ -45,16 +45,4 @@ grep ':.*!CHECK$' stderr
# Is there only one missing condition?
test `grep ': ' stderr | wc -l` = 1
-# By the way, Automake should suggest using AM_CPPFLAGS,
-# because INCLUDES is an obsolete name.
-grep AM_CPPFLAGS stderr
-
-# A way to suppress the obsolete warning is to use
-# -Wno-obsolete:
-echo 'AUTOMAKE_OPTIONS = -Wno-obsolete' >> Makefile.am
-AUTOMAKE_fails
-grep AM_CPPFLAGS stderr && Exit 1
-# !CHECK should still be mentioned.
-grep ':.*!CHECK$' stderr
-
:
diff --git a/t/pr9.sh b/t/pr9.sh
index 36a9f7e..2556b8b 100755
--- a/t/pr9.sh
+++ b/t/pr9.sh
@@ -20,8 +20,8 @@
# == Report ==
# When AC_CONFIG_AUX_DIR is set (in my case to 'support'), make dist
# no longer automatically includes config.guess, config.sub, install-sh,
-# ltconfig, ltmain.sh, mdate-sh, missing, and mkinstalldirs. In fact,
-# the entire 'support/' directory is omitted.
+# ltconfig, ltmain.sh, mdate-sh, and missing. In fact, the entire
+# 'support/' directory is omitted.
. ./defs || Exit 1
diff --git a/t/subdir.sh b/t/subdir.sh
index 34b6ece..2ce68b8 100755
--- a/t/subdir.sh
+++ b/t/subdir.sh
@@ -14,8 +14,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Test to make sure install-sh and mkinstalldirs correctly found in
-# subdirs.
+# Test to make sure install-sh is correctly found in subdirs.
. ./defs || Exit 1
diff --git a/t/subobj11a.sh b/t/subobj11a.sh
index e3666ef..ae02e59 100755
--- a/t/subobj11a.sh
+++ b/t/subobj11a.sh
@@ -23,14 +23,13 @@
# make: ... can't find '/foo.mk': No such file or directory
# make: fatal error ... read of include file '/foo.mk' failed
#
-# (even if the file 'foo.mk' exists). The error disappear by
-# collapsing the repeated slash '/' characters into a single one.
+# (even if the file 'foo.mk' exists). Our dependency tracking support
+# code used to generate include directives like that sometimes, thus
+# causing spurious failures.
#
-# GNU make shouldn't suffer from this bug; but we check for it
-# anyway -- better safe than sorry.
+# GNU make shouldn't suffer from that Solaris make bug, but we check
+# the problematic setup anyway -- better safe than sorry.
#
-# See also sister "grepping" test 'subobj11b.test', and related test
-# 'subobj11c.test'.
required=cc
. ./defs || Exit 1
@@ -68,8 +67,7 @@ depdir=`sed -n 's/^ *DEPDIR *= *//p' Makefile`
if test x"$depdir" != x; then
depdir=src/$depdir
else
- echo "$me: cannot extract value of DEPDIR from Makefile" >&2
- Exit 1
+ fatal_ "cannot extract value of DEPDIR from Makefile"
fi
ls -l "$depdir"
diff --git a/t/subobj11c.sh b/t/subobj11c.sh
deleted file mode 100755
index 8891ad2..0000000
--- a/t/subobj11c.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2010-2012 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Automatic dependency tracking with subdir-objects option active:
-# check for a pathological case of slash-collapsing in the name of
-# included makefile fragments (containing dependency info).
-# See also related test 'subobj11a.test'.
-
-. ./defs || Exit 1
-
-cat >> configure.ac << 'END'
-AC_PROG_CC
-AM_PROG_CC_C_O
-END
-
-cat > Makefile.am << 'END'
-AUTOMAKE_OPTIONS = subdir-objects
-bin_PROGRAMS = foo
-foo_SOURCES = //zardoz.c
-END
-
-$ACLOCAL
-$AUTOMAKE -a
-
-#
-# This check depends on automake internals, but presently this is
-# the only way to test the code path we are interested in.
-# Please update these checks when (and if) the relevant automake
-# internals are changed.
-#
-# Be a little lax in the regexp, to account for automake conditionals,
-# quoting, and similar stuff.
-#
-# FIXME: Are we sure this is the most sensible output in our situation?
-#
-grep 'address@hidden@-include [^/]*//\$(DEPDIR)/zardoz\.[^/]*$' Makefile.in
-
-:
diff --git a/t/suffix-chain.sh b/t/vpath-built-sources.sh
similarity index 50%
copy from t/suffix-chain.sh
copy to t/vpath-built-sources.sh
index 2ff72f9..1f47073 100755
--- a/t/suffix-chain.sh
+++ b/t/vpath-built-sources.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2012 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -14,43 +14,60 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Check that Automake can take advantage of GNU make ability to
-# automatically chain suffix-based pattern rules.
-# See automake bug#7824 and bug#7670.
+# In a VPATH build, a target starting with $(srcdir) is triggered to
+# build a source with the same name but without the $(srcdir).
required=cc
. ./defs || Exit 1
+ocwd=`pwd` || fatal_ "couldn't get current working directory"
+
cat >> configure.ac <<'END'
AC_PROG_CC
AC_OUTPUT
END
cat > Makefile.am <<'END'
-bin_PROGRAMS = foo
-foo_SOURCES = foo.c1
-%.c0: %.c1
- (echo 'int main (void)' && echo '{' && cat $<) > $@
-%.c: %.c0
- (cat $< && echo '}') > $@
-CLEANFILES = foo.c0 foo.c
-END
+noinst_PROGRAMS = p1 p2 p3 tp1 tp2 tp3
-echo 'return 0;' > foo.c1
+write-it = echo 'int main (void) { return 0; }' >$@
+
+# We keep all the targets on separate lines to make sure the dumb
+# Automake parser actually sees them all.
+$(srcdir)/p1.c:
+ $(write-it)
+${srcdir}/p2.c:
+ $(write-it)
address@hidden@/p3.c:
+ $(write-it)
+$(top_srcdir)/tp1.c:
+ $(write-it)
+${top_srcdir}/tp2.c:
+ $(write-it)
address@hidden@/tp3.c:
+ $(write-it)
+END
$ACLOCAL
-$AUTOMAKE
$AUTOCONF
-./configure
+$AUTOMAKE
+
+mkdir build
+cd build
+../configure
$MAKE all
-$MAKE distcheck
-# Try with explicit dependencies as well.
-$MAKE clean
-cat >> Makefile <<'END'
-foo.c: foo.c0
-foo.c0: foo.c1
-END
+cd "$ocwd"
+rm -f *.c
+mkdir -p sub1/sub2/sub3
+cd sub1/sub2/sub3
+"$ocwd"/configure --disable-dependency-tracking
$MAKE all
+cd "$ocwd"
+rm -f *.c
+./configure
+$MAKE all
+$MAKE distcheck
+
:
diff --git a/t/warnopts.sh b/t/warnopts.sh
index 1662d91..774a38a 100755
--- a/t/warnopts.sh
+++ b/t/warnopts.sh
@@ -20,6 +20,7 @@
cat >>configure.ac <<END
AC_CONFIG_FILES([sub/Makefile])
+AM_CONDITIONAL([COND_FALSE], [false])
AC_OUTPUT
END
@@ -28,38 +29,37 @@ mkdir sub
# These two Makefile contain the same errors, but have different
# warnings disabled.
-cat >Makefile.am <<END
-AUTOMAKE_OPTIONS = -Wno-obsolete
-INCLUDES = -Ifoo
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = -Wno-unsupported
+if COND_FALSE
+AUTOMAKE_OPTIONS += no-dependencies
+endif
foo_SOURCES = unused
SUBDIRS = sub
END
-cat >sub/Makefile.am <<END
+cat > sub/Makefile.am << 'END'
AUTOMAKE_OPTIONS = -Wno-syntax
-INCLUDES = -Ifoo
+if COND_FALSE
+AUTOMAKE_OPTIONS += no-dependencies
+endif
foo_SOURCES = unused
END
$ACLOCAL
AUTOMAKE_fails
# The expected diagnostic is
-# Makefile.am:3: warning: variable 'foo_SOURCES' is defined but no program or
-# library has 'foo' as canonical name (possible typo)
-# sub/Makefile.am:2: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS'
+# automake: warnings are treated as errors
+# Makefile.am:5: warning: variable 'foo_SOURCES' is defined but no program or
+# Makefile.am:5: library has 'foo' as canonical name (possible typo)
+# sub/Makefile.am:1: warning: 'AUTOMAKE_OPTIONS' cannot have conditional
contents
grep '^Makefile.am:.*foo_SOURCES' stderr
-grep '^sub/Makefile.am:.*INCLUDES' stderr
+grep '^sub/Makefile.am:.*AUTOMAKE_OPTIONS' stderr
grep '^sub/Makefile.am:.*foo_SOURCES' stderr && Exit 1
-grep '^Makefile.am:.*INCLUDES' stderr && Exit 1
+grep '^Makefile.am:.*AUTOMAKE_OPTIONS' stderr && Exit 1
# Only three lines of warnings.
test `grep -v 'warnings are treated as errors' stderr | wc -l` = 3
-# On fast machines the autom4te.cache created during the above run of
-# $AUTOMAKE is likely to have the same time stamp as the configure.ac
-# created below; thus causing traces for the old configure.ac to be
-# used. We could do '$sleep', but it's faster to erase the
-# directory. (Erase autom4te*.cache, not autom4te.cache, because some
-# bogus installations of Autoconf use a versioned cache).
rm -rf autom4te*.cache
# If we add a global -Wnone, all warnings should disappear.
@@ -71,3 +71,5 @@ AC_OUTPUT
END
$ACLOCAL
$AUTOMAKE
+
+:
diff --git a/t/werror.sh b/t/werror.sh
index 606fed6..7407e00 100755
--- a/t/werror.sh
+++ b/t/werror.sh
@@ -16,11 +16,19 @@
# Test to make sure -Werror and --add-missing work together.
+am_create_testdir=empty
. ./defs || Exit 1
-: > Makefile.am
-
-rm -f install-sh depcomp missing mkinstalldirs
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+END
+: > Makefile.am
+test ! -f install-sh # Sanity check.
$ACLOCAL
$AUTOMAKE -Werror --add-missing
+test -f install-sh # Sanity check.
+
+:
diff --git a/t/werror2.sh b/t/werror2.sh
index 67e0e01..e77a85b 100755
--- a/t/werror2.sh
+++ b/t/werror2.sh
@@ -21,7 +21,7 @@
. ./defs || Exit 1
-echo AC_OUTPUT>>configure.ac
+echo AC_OUTPUT >> configure.ac
: > Makefile.am
@@ -35,9 +35,8 @@ $AUTOCONF
./configure
$MAKE
-cat >Makefile.am <<END
+cat > Makefile.am << 'END'
AUTOMAKE_OPTIONS = -Werror
-INCLUDES = -Ifoo
foo_SOURCES = unused
END
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.12-270-g4fb7703,
Stefano Lattarini <=