He also added that "The Elisp manual is one of the largest ones around.
Looks like it would be maybe 3.5mb as one file." Not in any way big by
modern standards.
OTOH, it appears that the use of split info files (at least in the way
they have been handled by Automake-generated rules for a long time) can
cause real problems in some (admittedly quite corner-case) situations:
So we now follow suit with Automake-NG (see commit v1.12.2-901-gdd603e2,
<http://lists.gnu.org/archive/html/automake-ng/2012-08/msg00147.html>)
and have Automake-generated makefiles pass the '--no-split' option
unconditionally to makeinfo invocations.
This allow some nice simplifications in our Texinfo recipes, and offer
an automatic fix for bug#12320.
Another *very* good aspect of such a change is that it should be 100%
transparent to the Automake users.
* lib/am/texinfos.am: Simplify moderately.
* lib/am/texibuild.am: Simplify greatly the recipe for the creation
of info files.
* t/txinfo-makeinfo-error-no-clobber.sh: Adjust.
* t/txinfo-no-split.sh: New test.
* t/list-of-tests.mk: Add it.
* maint:
build: don't enable 'color-tests' automake option explicitly
build: enable all warnings as fatal in our own build system
texi: Texinfo sources and CLEANFILES definition should co-exist peacefully
tests: make two new test executable
runtest: better command line API
tests: move runtest.in away from the top-lever directory
maint: move more maintainer files in the 'maint/' subdir
tests: more significant names for some tests
maint: add some of my maintainer-specific scripts
texi: deprecate hack about info files in CLEANFILES variables
texi: info files can be generated in the builddir
build: enable all warnings as fatal in our own build system
Automake should of course be able to bootstrap itself in a
warning-free manner w.r.t. the Autotools. So make any failure
to do so fatal. Not doing so caused the regression fixed by
previous commit 'v1.13.1-22-ga790fae' to go unnoticed.
* configure.ac (AM_INIT_AUTOMAKE): Add '-Werror' and '-Wall'.
* bootstrap.sh: Pass the '-Wall -Werror' options to aclocal,
automake and autoconf invocations.
texi: Texinfo sources and CLEANFILES definition should co-exist peacefully
But they don't now, due to a regression introduced in commit
'v1.13.1-4-gc1a8f56'. Fix it. The regression was hitting our
own build system!
* automake.in (handle_texinfo_helper): Only complain if the
'info-in-builddir' is not active and a '.info' file (not any
random file!) is listed in CLEANFILES or DISTCLEANFILES.
* t/ax/runtest.in: Accept options '-k' and '--keep-testdirs' (same
as exporting '$keep_testdirs' to "yes"). To improve compatibility
with the "make check" interface, allow environment variables to be
passes on the command line. Minor adjustments while at it.
They are likely not general enough for widespread use, but they
are useful nonetheless.
In the best-case scenario, they will start to be used by other
people, and thus accordingly improved and made more general and
flexible.
In the worst case scenario, well, I still get to keep them in a
centralized, blessed place, simplifying the deployment and use
of them; so still a win for me :-)
* maint:
tests: reorganize tests on backslash issues
style: add trailing ':' to some test cases
tests: tweak tests on obsolete EXTRA_DATA variable
tests: more significant names for some tests
cosmetics: remove few occurrences of trailing whitespace
docs: re-introduce mention of two-args AM_INIT_AUTOMAKE invocation
texi: warn against '.txi' and '.texinfo' input suffixes
cleanup: remove two lines of dead code in automake
texi: warn against suffix-less info files
build: respect silent rules in generation of "amhello" example tarball
tests: tweak tests on obsolete EXTRA_DATA variable
* t/extra3.sh, t/extra4.sh: Merge ....
* t/extra-data.sh: ... into this, with updated comments.
* t/list-of-tests.mk: Adjust. Also Tweak the order in
which some other tests are listed.
docs: re-introduce mention of two-args AM_INIT_AUTOMAKE invocation
Albeit obsolescent and raising warnings in the 'obsolete' category,
that usage is still supported, and will need to be until Autoconf
improves its handling of configure-time-generated package version
numbers. So it's better to explicitly document it again, stating
that it is obsoleted but still working (and why), rather then leaving
it as Yet Another Undocumented Feature (that will mysteriously and
suddenly break some random day in the future).
It's worth giving some background about how we ended up in the
situation that this patch fixes.
We had originally removed support for the long-deprecated two-args
AM_INIT_AUTOMAKE invocation (see commit v1.12-67-ge186355). Before
that removal could land in a released Automake version, Bob Friesenhahn
made a quite compelling point that the two-args AM_INIT_AUTOMAKE
invocation could still be useful for modern, maintained packages like
GraphicsMagick, at least until Autoconf is fixed to offer better support
for "dynamic" package versions (see commit v1.12.2-245-g2abe183 for more
in-depth rationales and references). However, in that commit we didn't
revert the removal of the *documentation* for this two-arguments
AM_INIT_AUTOMAKE invocation (and no rationale for not doing so was given
in the commit message). Time to remedy that.
Indirectly suggested by Diego Elio Pattenò:
<http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains>
texi: warn against '.txi' and '.texinfo' input suffixes
The warning being in the 'obsolete' category. This is mostly to
ease transition to Automake-NG (see commit v1.12.1-416-gd5459b9),
and to discourage use of seldom-tested setups.
* automake.in (handle_texinfo_helper): Warn against Texinfo input
files with '.txi' or '.texinfo' suffixes.
* NEWS: Update.
* t/txinfo-other-suffixes.sh: Adjust and enhance.
* t/txinfo-no-repeated-targets.sh: No longer use '.txi' and
'.texinfo' extensions.
The warning being in the 'obsolete' category. This is mostly to
ease transition to Automake-NG (see commit v1.12.1-392-ga0c7b6a),
and to discourage use of seldom-tested setups.
* automake.in (scan_texinfo_file): Warn against '@setfilename'
directives that specify suffix-less output info files.
* t/txinfo-without-info-suffix.sh: Adjust and enhance.
* t/txinfo-makeinfo-error-no-clobber.sh: No longer use suffix-less
info files in '@setfilename' directives.
* t/primary-prefix-valid-couples.sh: Likewise.
* t/txinfo-setfilename-repeated.sh: Likewise.
* t/txinfo-vtexi2.sh : Likewise.
* t/mdate2.sh: Likewise.
* NEWS: Update.
texi: deprecate hack about info files in CLEANFILES variables
For quite a long time, Automake has been implementing an undocumented
hack which ensured that '.info' files which appeared to be cleaned (by
e.g. being listed in the CLEANFILES or DISTCLEANFILES variables) were
built in the builddir rather than in the srcdir; this hack was introduced
to ensure better backward-compatibility with packages such as Texinfo,
which did things like:
info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
DISTCLEANFILES = texinfo texinfo-* info*.info*
# Do not create info files for distribution.
dist-info:
@:
in order not to distribute .info files.
Now that we have the 'info-in-builddir' option that explicitly causes
generated '.info' files to be placed in the builddir, this hack should
be longer necessary, so we deprecate it with runtime warnings. It is
scheduled to be removed altogether in Automake 1.14.
* automake.in (handle_texinfo_helper): Raise proper runtime warnings
if the hack is triggered.
* NEWS: Update.
* t/txinfo28.sh: Adjust.
* t/txinfo23.sh: Likewise.
* t/txinfo25.sh: Adjust and extend.
* t/txinfo24.sh: Likewise.
User can now ask info files to be built in the $(builddir), rather than
the $(srcdir), by specifying the Automake option 'info-in-builddir'.
This feature was requested by the developers of GCC, GDB, GNU binutils
and the GNU bfd library. See the extensive discussion about automake
bug#11034 for more details.
OK, to be honest, having '.info' files built in the builddir was
*already* possible, but only using ugly and undocumented hacks involving
definition of the CLEANFILES and/or DISTCLEANFILES. For example, the
binutils project did something like this in the relevant 'Makefile.am':
# 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 = binutils.info
endif
See also the extensive discussion about automake bug#11034; in
particular, the following messages:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#65>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#80>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#86>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#101>
* lib/Automake/Options.pm (_is_valid_easy_option): Recognize the
new 'info-in-builddir' option.
* automake.in (handle_texinfo_helper): If that option is set,
initialize '$insrc' to '0', so that info files will be generated
in the builddir. Adjust comments to match.
* t/txinfo-builddir.sh: New test.
* t/list-of-tests.mk: Add it.
* NEWS: Update.
* doc/automake.texi: Document the new options.
* maint:
tests: don't always look for a C++ compiler named 'RCC'
tests: fix bug in pkg-config-macros.sh, could cause spurious SKIPs
docs: autom4te cache can break CONFIGURE_DEPENDENCIES
coverage: test CONFIGURE_DEPENDENCIES
coverage: test CONFIG_STATUS_DEPENDENCIES
tests: don't always look for a C++ compiler named 'RCC'
On MacOS X (10.8), since the file system is case-insensitive, RCC
can point to the "Resource Compiler" of the Qt4 Toolkit:
<http://doc.qt.digia.com/4.2/rcc.html>
That mismatch causes our configure script to erroneously think that
no working C++ compiler is present, and that is thus necessary to
skip all the test cases requiring such a compiler.
So only look for a compiler named 'RCC' if the file system is
case-sensible.
Issue spotted analyzing the testsuite logs reported in bug#13317.
tests: fix bug in pkg-config-macros.sh, could cause spurious SKIPs
Issue spotted perusing the testsuite logs reported in bug#13317.
* t/pkg-config-macros.sh: Don't use (uninitialized) '$dir' where '$d'
should have been used instead. Set IFS to ':' before looping on the
$PATH expansion. Fix typo: 'alocal' instead of 'aclocal'. These
issues were causing the location in PATH of the 'pkg-config' program
not to be found even when the program was present.
* THANKS: Update.
docs: autom4te cache can break CONFIGURE_DEPENDENCIES
In fact, the new test 'remake-configure-dependencies.sh' only
works because it disables the autom4te cache :-( That is more
of an AUtotools design issue than an Automake bug, so better
just document it ...
* maint:
tests: fix reference to related tests in some comments
tests: some enhancements to texinfo tests (from Automake-NG)
tests: fix reference to sister tests in two heading comments
tests: some enhancements to texinfo tests (from Automake-NG)
* t/txinfo-many-output-formats.sh: Backport improvements, almost verbatim,
from Automake-NG commit 'v1.13-768-gb434acc' (plus minor tweaks for the
sake of non-GNU make implementation).
* t/txinfo-many-output-formats-vpath.sh: New test, backported almost
verbatim from that same Automake-NG commit (again, with minor tweaks for
the sake of non-GNU make implementations).
* t/lsit-of-tests.mk: Adjust.
* maint:
tests: enhance and tweak some texinfo tests
tests: remove a redundant texinfo test
tests: don't list a removed tests in XFAIL_TESTS
tests: more explicative names for some tests
cleanup: drop a redundant %?FIRST% transform
maint: state when compatibility cruft should be removed or warned about
* t/txinfo-subdir-pr343.sh: Move the tests checking that '.info.bak'
files in subdirs are not unduly distributed into ...
* t/txinfo-no-extra-dist.sh: ... in here. Enhance a little while
at it.
* t/txinfo-other-suffixes.sh: Also check that the '.texinfo' suffix
is accepted and works.
* t/txinfo-setfilename-suffix-match.sh: Remove useless call to
autoconf, enhance a little.
* t/txinfo-add-missing.sh: This one, its checks being already covered
by the more extensive 't/add-missing.tap' test.
* t/txinfo-add-missing2.sh: Rename ...
* t/txinfo-add-missing-and-dist.sh: Like this.
* t/list-of-tests.mk: Adjust.
Do so for several Texinfo-related tests. Note that some of such tests
with suboptimal names are *not* renamed; that's because they are going
to be removed in the master branch anyway (since they check from some
soon-to-be-removed features), so renaming them would be wasted work,
and could even create useless merge conflicts.
* t/txinfo2.sh: Rename ...
* t/txinfo-no-extra-dist.sh: ... like this.
* t/txinfo3.sh: Rename ...
* t/txinfo-suffix-less-info.sh: ... like this.
* t/txinfo4.sh: Rename ...
* t/txinfo-unrecognized-info-suffix.sh: ... like this.
* t/txinfo6.sh: Rename ...
* t/txinfo-other-suffixes.sh: ... like this.
* t/txinfo7.sh: Rename ...
* t/txinfo-add-missing.sh: ... like this.
* t/txinfo8.sh: Rename ...
* t/txinfo-add-missing2.sh: ... like this.
* t/txinfo9.sh: Rename ...
* t/txinfo-no-repeated-targets.sh: ... like this.
* t/txinfo17.sh: Rename ...
* t/txinfo-setfilename-repeated.sh: ... like this.
* t/txinfo13.sh: Rename ...
* t/txinfo-subdir-pr343.sh: ... like this.
* t/txinfo16.sh: Rename ...
* t/txinfo-info-in-srcdir.sh: ... like this.
* t/txinfo21.sh: Rename ...
* t/txinfo-many-output-formats.sh: ... like this.
* t/txinfo22.sh: Rename ...
* t/txinfo-override-texinfo-tex.sh: ... like this.
* t/txinfo26.sh: Rename ...
* t/txinfo-absolute-srcdir-pr408.sh: ... like this.
* t/txinfo27.sh: Rename ...
* t/txinfo-no-installinfo.sh: ... like this.
* t/txinfo29.sh: Rename ...
* t/txinfo-override-infodeps.sh: ... like this.
* t/txinfo31.sh: Rename ...
* t/txinfo-setfilename-suffix-match.sh: ... like this.
* t/txinfo32.sh: Rename ...
* t/txinfo-bsd-make-recurs.sh: ... like this.
* t/txinfo33.sh: Rename ...
* t/txinfo-clean.sh: ... like this.
* t/list-of-tests.mk: Adjust.
obsolete: better error message if AM_PROG_MKDIR_P is used
In Automake 1.14, the long-deprecated macro AM_PROG_MKDIR_P will be
removed. Instead of simply dropping the macro definition, which would
cause unclear error messages in aclocal and autoconf:
configure.ac:4: warning: macro 'AM_PROG_MKDIR_P' not found in library
configure.ac:4: error: possibly undefined macro: AM_PROG_MKDIR_P
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
we re-add an AM_PROG_MKDIR_P definition that simply raises a *clear* error
message when the macro is used.
* t/am-prog-mkdir-p-no-more.sh: New test.
* t/list-of-tests.mk: Add it.
* m4/obsolete-err.m4: Add the new "error-raising" definition for
AM_PROG_MKDIR_P.
* maint:
NEWS: minor fixup
obsolete: better error message if AM_PROG_CC_STDC is used
obsolete: better error message if AM_CONFIG_HEADER is used
sync: update files from upstream with "make fetch"
tests: better names for temporary configure.ac files
obsolete: better error message if AM_PROG_CC_STDC is used
In Automake 1.13, the long-deprecated (since 2002) macro AM_PROG_CC_STDC
has been removed. Such a removal, albeit sensible and justified, was
probably done in a too-abrupt way, since it didn't turn the pre-existing
warning messages into fatal error messages, but simply dropped the macro
definition, so that remaining usages of it would cause unclear error
messages, e.g.:
configure.ac:4: warning: macro 'AM_PROG_CC_STDC' not found in library
from aclocal, and:
configure.ac:4: error: possibly undefined macro: AM_PROG_CC_STDC
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
from autoconf.
In an attempt to mitigate this issue, we re-add an AM_PROG_CC_STDC
definition that simply raises a *clear* error message when the macro
is used.
* t/am-prog-cc-stdc-no-more.sh: New test.
* t/list-of-tests.mk: Add it.
* m4/obsolete-err.m4: Add the new "error-raising" definition for
AM_PROG_CC_STDC; the error message is a variation of the one already
present in the older version of this macro, before it got removed in
commit 'v1.12-15-gd2ca168'.
* NEWS: Update.
obsolete: better error message if AM_CONFIG_HEADER is used
In Automake 1.13, the long-deprecated macro AM_CONFIG_HEADER (deprecated
since 2002) has been removed in favour of AC_CONFIG_HEADERS. However,
the removal was done without a proper deprecation period, and that
caused packages upgrading to Automake 1.13 to fail with very unclear
error messages, e.g.:
configure.ac:4: warning: macro 'AM_CONFIG_HEADER' not found in library
from aclocal, and:
configure.ac:4: error: possibly undefined macro: AM_CONFIG_HEADER
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
from autoconf.
In an attempt to mitigate this issue, we re-add an AM_CONFIG_HEADER
definition that simply raises a *clear* error message when the macro
is used.
Report by Paolo Bonzini:
<http://lists.gnu.org/archive/html/automake/2012-12/msg00039.html>
* t/am-config-header-no-more.sh: New test.
* t/list-of-tests.mk: Add it.
* m4/obsolete-err.m4: New file, contain the new AM_CONFIG_HEADER
"error-raising" definition, as well as the definition of the
similarly obsolete macros 'AM_C_PROTOTYPES' and 'fp_C_PROTOTYPES',
moved in from ...
* m4/protos.m4: ... this file, which has thus been removed.
* Makefile.am (dist_automake_ac_DATA): Adjust.
* t/ansi2knr-no-more.sh: Likewise.
* NEWS: Update.
tests: better names for temporary configure.ac files
When editing a pre-existent 'configure.ac' file in a test script, name
the temporary file 'configure.tmp' rather than 'configure.int'; the
latter was a relict of the times when we used 'configure.in' as the
default name for the Autoconf input files throughout the testsuite.
* t/cond43.sh: Adjust.
* t/depcomp8a.sh: Likewise.
* t/depcomp8b.sh: Likewise.
* t/gettext.sh: Likewise.
* t/mmode.sh: Likewise.
* t/pr401.sh: Likewise.
* t/pr401b.sh: Likewise.
* t/pr401c.sh: Likewise.
* t/python11.sh: Likewise.
* t/cond42.sh: Likewise. Also, while at it, rename ...
(edit_configure_in): ... this function ...
(edit_configure_ac): ... like this.
cleanup: get rid of 'Automake::Configure_ac' module
Now that we unconditionally assume the Autoconf input is named
"configure.ac", it's easier and clearer to inline the checks on
the existence of such a file directly in the automake and
aclocal scripts.
This change is basically a backport of the 'v1.12-327-gee6d72a'
commit from Automake-NG.
* lib/Automake/Variable.pm (Automake::Configure_ac): Drop this import.
($configure_ac): Define to "configure.ac", unconditionally.
* automake.in: Likewise. Also, in main code, check the existence
of 'configure.ac' directly, instead of calling the now-removed
'require_configure_ac' function.
* aclocal.in: Likewise.
maint: remove last vestiges of 'configure.in' support from the testsuite
* syntax-checks.mk: Don't whitelist any file in the maintainer
check looking against use of 'configure.in' in the testsuite.
* t/autodist-configure-no-subdir.sh: Remove last references to
'configure.in'.
Drop support for 'configure.in' as the Autoconf input file
The autoconf input should be named 'configure.ac' instead. The use
of 'configure.in' has been deprecated in Autoconf since at least
the 2.13 -> 2.50 transition, and future Autoconf versions (starting
with 2.70 probably) will start to warn about it at runtime. Automake
has been warning about it since the 1.13 release.
This change is basically a backport of commit 'v1.12-325-g927d4cb',
from Automake-NG.
* lib/Automake/Configure_ac.pm (find_configure_ac): Don't look for
'configure.in' if 'configure.ac' is not found.
(require_configure_ac): On failure, don't tell that "'configure.ac'
or 'configure.in' is required", but just that "'configure.ac' is
required".
* automake.in (@common_sometimes): Don't list 'configure.in'.
(scan_autoconf_files): Adjust heading comments.
* NEWS: Update.
* t/help.sh: Adjust.
* t/configure.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
Drop support for $(ACLOCAL_M4_SOURCES), it's obsolete
The $(ACLOCAL_M4_SOURCES) variables has been obsolete by a long time,
and basically unused (since at least commit ab57cf28 of 2003-04-24), so
drop any mention of it.
* automake.in (scan_aclocal_m4): Flatly reject any ACLOCAL_M4_SOURCES
definition with a fatal error, rather than just warning about it.
if any deinifn
$(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.
* NEWS: Update.
general: assume dot-starting file names are supported
Now that we've dropped support for DJGPP, Windows 95/98/ME
and MS-DOS, that should always the case.
This change is basically a backport of Automake-NG commit
'v1.12-342-ge6af355'.
* lib/am/texibuild.am: Just assume we can have directories whose
name starts with a dot, i.e., that '${am__leading_dot}' expands
to '.'.
* automake.in (require_build_directory): Likewise.
* m4/depend.m4 (AM_SET_DEPDIR): Likewise. Now $(DEPDIR) will
be set unconditionally to '.deps'.
* m4/init.m4 (AM_INIT_AUTOMAKE): Don't AC_REQUIRE the m4 macro
'AM_SET_LEADING_DOT' anymore.
* m4/lead-dot.m4: Delete.
* Makefile.am (dist_automake_ac_DATA): Remove it.
* t/subobj11a.sh: Just assume $(DEPDIR) expands to '.deps'.
See also:
<http://lists.gnu.org/archive/html/automake-ng/2012-05/msg00104.html>
* automake.in (BEGIN): Don't override $ENV{SHELL} for DJGPP.
(handle_libtool): Do not bother cleaning '_libs' directories, they
are only used by Libtool on MS-DOS (and we no longer support that
setup).
* syntax-checks.mk (automake_diff_no): Adjust, as now there are only
seven (not eight) different lines between 'automake.in' and 'automake'.
* bootstrap.sh: Don't special case the default value for BOOTSTRAP_SHELL
on DJGPP. While we are at, allow that variable to be overridden from
the environment. Also, adjust comments: we don't use "ln -s" not because
it's not properly supported by DJGPP, but because it might not be
properly supported by MinGW/MSYS.
* configure.ac (MODIFICATION_DELAY): Define to '2' unconditionally, as
we no longer have to cater to quirks of Windows 95/98/ME.
* lib/am/texibuild.am: Remove support for '*.iNN' files used on DJGPP.
* lib/am/texinfos.am: Likewise.
* lib/ylwrap: Remove support for DOS-specific filenames for bison
output.
* t/txinfo19.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
* NEWS: Update.
These compilers are only meant to run on IRIX, and that system has seen
its last release in 2006, and is expected to lose support from SGI in
December 2013:
<http://www.sgi.com/services/support/irix_mips_support.html>
This change fixes automake bug#12967 and bug#12978.
* lib/depcomp (sgi): Remove this depmode.
* NEWS: Update.
tests: a test about warnings in category 'obsolete' was failing spuriously
* t/warnings-obsolete-default.sh : After our removal of $(INCLUDES)
support, this test has been spuriously failing because it was assuming
that a definition of the INCLUDES make variable only caused a warning
rather than a fatal error. Fix it to use a definition of the newly
obsolescent ACLOCAL_AMFLAGS make variable.
ACLOCAL_AMFLAGS: fully deprecate, with warnings in the 'obsolete' category
Users are expected to use the AC_CONFIG_MACRO_DIR{,S} autoconf macros
instead. And the use of the '--install' aclocal option in ACLOCAL_AMFLAGS
has proved to be a bad idea anyway -- see automake bug#9037.
It has already been deprecated in the manual and by warnings in the
'obsolete' category for ages (at least since 2003), in favour of
AM_CPPFLAGS. Automake-NG has removed support for it already. And
the warnings in the obsolete category are on by default since the
1.12.4 release.
So, by removing it in Automake 1.14, we will simplify the transition
path for people that want to switch to Automake-NG.
See also Automake-NG commit v1.12-267-g6b74968 of 2012-05-21,
"[ng] compile: don't support $(INCLUDES) anymore, it's obsolete".
* NEWS, doc/automake.texi: Update.
* automake.in (generate_makefile): Reject INCLUDES unconditionally.
In all languages: don't add $(INCLUDES) to the compiler command line.
* t/includes-deprecation.sh: New test.
* t/list-of-tests.mk: Add it.
* t/werror2.sh : Adjust to avoid spurious failures.
* t/pluseq5.sh: Likewise.
* t/warnopts.sh: Likewise.
Suggested-by: Paolo Bonzini <bonzini@gnu.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: allow third-party macros take precedence over automake ones
It makes sense to allow "local system-wide" m4 macros take precedence
over built-in macros (defined in the aclocal versioned m4 directory
"${prefix}/share/aclocal-${APIVERSION}"), the same way we allow
"environment-level" m4 macros (through the ACLOCAL_PATH environment
variable ) take precedence over system-wide third-party macros.
An example: after this change, a definition of AM_PROG_VALAC placed
in file (say) '/usr/local/share/aclocal/my-vala.m4' should take
precedence over the same-named automake-provided macro defined in
file '/usr/local/share/aclocal-1.14/vala.m4'.
Even more importantly, after this change, m4 macros accessible
through $ACLOCAL_PATH entries will take precedence over m4 macros
defined in the aclocal versioned m4 directory; it was quite counter
intuitive that it was not the case before.
* aclocal.in (scan_m4_files): Search files in @system_includes before
files in @automake_includes.
* t/aclocal-acdir.sh: Adjust.
* t/aclocal-path-precedence.sh: Likewise.
* t/dirlist.sh: Likewise.
* doc/automake.texi: Adjust.
* NEWS: Update.
Finally backporting the AM_PROG_MKDIR_P removal that has already taken
place in Automake-NG. We can safely do this since the latest Gettext
release (1.18.2) has removed all uses of AM_PROG_MKDIR_P, replacing
them with uses of AC_PROG_MKDIR_P instead.
References:
<http://lists.gnu.org/archive/html/bug-gettext/2012-12/msg00064.html>
<http://lists.gnu.org/archive/html/automake/2012-12/msg00024.html>
Commit v0.18.1.1-147-g2cccb4c in the Gettext git repository.
Akim Demaille [Wed, 19 Dec 2012 13:51:58 +0000 (14:51 +0100)]
ylwrap: various fixes
Rename properly header guards in generated header files, instead of
leaving Y_TAB_H.
Convert header guards in implementation files. Because ylwrap failed
to rename properly #include in the implementation files, current
versions of Bison (e.g., 2.7) duplicate the generated header file in
the implementation file. The header guard then protects the
implementation file from duplicate definitions from the header file.
Generate header guards with a single '_' for series of non alphabetic
characters, instead of several. This is what Bison does.
Makes the test t/yacc-d-basic.sh pass again.
* lib/ylwrap (guard): Properly honor $1 to rename properly the
header guards.
Keep a single _ instead of several.
(rename_sed): Rename as...
(sed_fix_filenames): this.
Suggested by Stefano Lattarini.
(sed_fix_header_guards): New.
Use it.
* t/tags-pr12372.sh (configure.ac): AC_SUBST the LINK variable to a
dummy invocation, to avoid possible errors from make or the linker;
errors we do not care about in the least in this test.
(Makefile.am, sub/Makefile.am): Remove LINK definitions; simply
inherit that in configure.ac.
tests: re-enable some checks disabled by mistake ...
* t/subpkg-macrodir.sh: ... in this test. And fix some typos that would
have caused the newly re-enabled check to spuriously fail. Issue revealed
by the lack of '.PHONY' support in Solaris CCS make (yes, so we've been
actually *helped* by that make implementation once, at last. Scary ;-)