|
f61b6ef9
|
2013-06-13T01:48:54
|
|
Merge branch 'maint'
* maint:
THANKS: update e-mall address for Ralf Corsepius
lang, suffix rules: don't require C stuff needlessly
tests: expose automake bug#14560
maint: add a missing copyright notice
sync: update config.guess from upstream
tests: expose automake bug#13928
comments: fix some out-of-sync refs to test scripts
tests: expose automake bug#13940
|
|
6febcd41
|
2013-06-12T21:22:58
|
|
Merge branch 'micro' into maint
* micro:
THANKS: update e-mall address for Ralf Corsepius
lang, suffix rules: don't require C stuff needlessly
tests: expose automake bug#14560
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
4f7cc4fe
|
2013-06-11T21:20:18
|
|
lang, suffix rules: don't require C stuff needlessly
This change fixes automake bug#14560: when two or more user-defined suffix
rules were present in a single Makefile.am, automake would needlessly
include definition of some make variables related to C compilation in the
generated Makefile.in.
* automake.in (handle_languages): Fix logic to decide whether or not to
include definitions of C compilation related variables in the generated
Makefile.in: instead of doing so when two or more user-defined suffix
rules are seen (which is a completely bogus criterion), do so when two
or more compiled languages are used.
* lib/Automake/Rule.pm (suffix_rules_count): Remove as no longer used.
(@EXPORT): Adjust.
* t/list-of-tests.mk (XFAIL_TESTS): No longer list the test script
'suffix-extra-c-stuff-pr14560.sh', which now passes.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
9892eb78
|
2013-06-09T11:37:01
|
|
Merge branch 'micro' into maint
* micro:
maint: add a missing copyright notice
sync: update config.guess from upstream
tests: expose automake bug#13928
comments: fix some out-of-sync refs to test scripts
tests: expose automake bug#13940
|
|
f7492285
|
2013-06-08T17:56:34
|
|
comments: fix some out-of-sync refs to test scripts
Those script has been renamed since those comments where written.
* lib/Automake/Rule.pm: Adjust.
* lib/am/distdir.am: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
3492b7a8
|
2013-05-29T10:50:35
|
|
Merge branch 'maint'
* maint:
NEWS: fix typos and grammaros
NEWS: document fix for bug#14441
Automake::Rule: consistently prepend underscore to private variables
Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
Automake::Rule: adjust comments and POD according to previous changes
Automake::Rule: make private variables lexically scoped
suffix rules: better distinction between builtin and user-derived
Automake::Rule: expose suffix rules as a function, not a scalar
tests: expose automake bug#14441
|
|
c98d5235
|
2013-05-29T10:39:58
|
|
Merge branch 'micro' into maint
* micro:
NEWS: fix typos and grammaros
NEWS: document fix for bug#14441
Automake::Rule: consistently prepend underscore to private variables
Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
Automake::Rule: adjust comments and POD according to previous changes
Automake::Rule: make private variables lexically scoped
suffix rules: better distinction between builtin and user-derived
Automake::Rule: expose suffix rules as a function, not a scalar
tests: expose automake bug#14441
|
|
f98ca068
|
2013-05-28T10:56:30
|
|
Automake::Rule: consistently prepend underscore to private variables
* lib/Automake/Rule.pm (%suffix_rules): Rename ...
(%_suffix_rules): ... like this.
(%suffix_rules_builtin): Rename ...
(%_suffix_rules_builtin): ... like this.
(reset, next_in_suffix_chain, register_suffix_rule, suffix_rules_count):
Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
986ca6c0
|
2013-05-27T12:55:27
|
|
Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
* lib/Automake/Rule.pm (suffix_rule): Rename ...
(next_in_suffix_chain): ... like this.
(%suffix_rules): Adjust comments.
(@EXPORT): Adjust.
* automake.in (derive_suffix): Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
1246ace6
|
2013-05-27T12:30:14
|
|
Automake::Rule: adjust comments and POD according to previous changes
* lib/Automake/Rule.pm: Here, in several places.
* automake.in (register_language): And a tiny adjustment here as well.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
71e0af47
|
2013-05-27T12:24:02
|
|
Automake::Rule: make private variables lexically scoped
* lib/Automake/Rule.pm (@_known_extensions_list): This one.
(@_suffixes): And this one.
(%_rule_dict): And this one.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
6d4ffd83
|
2013-05-27T11:14:22
|
|
suffix rules: better distinction between builtin and user-derived
Fixes automake bug#14441.
* lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ...
(%suffix_rules_builtin): ... this lexical variable.
($suffix_rules): Remove, superseded by ...
(%suffix_rules): ... this lexical variable.
(suffix_rules, suffix_rules_count): Adjust.
(register_suffix_rule): Update '%suffix_rules_builtin' rather than
'%suffix_rules' if the location (as passed by the '$where' argument)
is an "internal" one (doesn't come from user-provided Makefile.am).
(reset): Simplify resetting of '%suffix_rules' to the default ones
accordingly.
* t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
55f82a80
|
2013-05-27T10:44:06
|
|
Automake::Rule: expose suffix rules as a function, not a scalar
This is just a preparatory refactoring in view of future patches.
No semantic change is intended.
* lib/Automake/Rule.pm ($suffix_rules): Turn from a package-level
variable to a lexical variable.
(suffix_rule): New function, expose the details of $suffix_rules
that are actually required by code outside thus modules --- and
only those details, no more.
(@EXPORT): Adjust.
* automake.in (derive_suffix): Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
9fabb5e4
|
2013-01-10T19:54:13
|
|
Automake::Language: drop unused fields 'compile_flag' and 'output_flag'
They are unused after the recent flurry of changes. This is just a
simplification; no semantic change is intended.
* lib/Automake/Language.pm (Class::Struct): Remove unused fields here.
* bin/automake.in: And here, in all the 'register_language()' invocations.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
3c331df4
|
2013-05-13T21:38:46
|
|
Merge branch 'maint'
* maint:
Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O
compile: avoid AC_PROG_CC messy rewrite
options: tiny simplification in dealing with incompatible versions
|
|
f233bf8f
|
2013-05-11T10:25:33
|
|
options: tiny simplification in dealing with incompatible versions
* lib/Automake/Options.pm (_process_option_list): Here, when an
incompatible version number option is detected, there's no need
to call error() with the "uniq_scope => US_GLOBAL" switch.
In fact, if the same incompatible version number is specified in
AUTOMAKE_OPTIONS in both (say) 'Makefile.am' and 'sub/Makefile.am',
we want each such erroneous usage reported separately, rather than
just the first time it is encountered (as we'd expect to happen
when "uniq_scope => US_GLOBAL" is used).
Ideally, this change should have been folded into the similar
commit 'v1.13.1d-129-gf7ef16f', but we noticed that too late.
Oh well.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
4c39a5fa
|
2013-05-11T01:13:46
|
|
options: consistently use return statuses to report errors (more)
This is a follow-up to commit 'v1.13.1d-128-g6e486c5', needed to deal
with errors that are only present in the 'master' branch (while the
reported commit was on the 'maint' branch).
* lib/Automake/Options.pm (_process_option_list): Adjust, where dealing
with the removed options 'dist-shar' and 'dist-tarZ'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
65643c8d
|
2013-05-11T01:06:58
|
|
Merge branch 'maint'
* maint:
options: try to report as much errors as possible
warns: don't tell AM_PROG_MKDIR_P is going to be removed
refactor: fix few "inverted boolean" usages
options: better name for an internal function
options: more consistency in use of return statuses to report errors
options: tiny simplification in dealing with erroneous opts
options: consistently use return statuses to report errors
options: re-enable some sanity checks
THANKS: update Eric Blake's e-mail address
NEWS: typofix
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
9f21b55d
|
2013-05-11T00:28:15
|
|
options: try to report as much errors as possible
For example, if two invalid options are used in AUTOMAKE_OPTIONS, don't
report just the first one, but both of them.
* lib/Automake/Options.pm (_process_option_list): Do so by avoiding
early returns in here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
90ec3fe5
|
2013-05-10T23:50:25
|
|
refactor: fix few "inverted boolean" usages
In some subroutines, we used a return value of 0 to indicate success,
and a return status of 1 to indicate failure. That was not very
consistent with the perl interpretation of 0 as a false value and 1 as
a true value. So we now invert the meaning of the exit statuses.
* lib/Automake/Options.pm (_process_option_list): Here.
(process_global_option_list, process_option_list): And by reflex,
here as well.
* bin/automake.in (handle_options): And here.
(generate_makefile, scan_autoconf_traces): Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
9a0d4868
|
2013-05-10T23:29:04
|
|
options: better name for an internal function
* lib/Automake/Options.pm (_option_must_be_from_configure): Rename ...
(_option_is_from_configure): ... like this.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
117ddf8d
|
2013-05-10T23:08:28
|
|
options: more consistency in use of return statuses to report errors
* lib/Automake/Options.pm (_option_must_be_from_configure): By giving
a proper return status here.
(_process_option_list): And using it here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
f7ef16fe
|
2013-05-10T23:01:27
|
|
options: tiny simplification in dealing with erroneous opts
* lib/Automake/Options.pm (_process_option_list): Here, when an
invalid option is detected, there's no need to call &error with
the "uniq_scope => US_GLOBAL" switch. In fact, if the same
erroneous option is specified in AUTOMAKE_OPTIONS in both (say)
'Makefile.am' and 'sub/Makefile.am', we want each such erroneous
usage reported separately, rather than just the first time it is
encountered (as happens when "uniq_scope => US_GLOBAL" is used).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
6e486c5d
|
2013-05-10T22:50:54
|
|
options: consistently use return statuses to report errors
* lib/Automake/Options.pm (_process_option_list): Here.
(process_option_list, process_global_option_list): Remove
redundant use of 'return'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
b636268a
|
2013-05-10T22:34:21
|
|
options: re-enable some sanity checks
They had been unwittingly disabled by a slightly incorrect
code ordering.
* lib/Automake/Options.pm (process_option_list): Here.
(process_global_option_list): And here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
1ffdec45
|
2013-05-10T21:56:12
|
|
dist: remove support for shar and tarZ formats
See also discussion about automake wishlist bug#13324.
* lib/Automake/Options.pm: Give fatal errors (rather than warnings) if
the 'dist-shar' or 'dist-tarZ' options are used.
* lib/distdir.am: Remove the 'dist-tarZ' and 'dist-shar' targets, and
references to the '.tar.Z' and '.shar' archives.
* bin/automake.in (preprocess_file): Remove 'COMPRESS' and 'SHAR'
transforms.
(handle_dist): Remove lingering references to 'dist-tarZ' and 'dist-shar'
options.
* doc/automake.texi: Adjust, removing references to the removed targets
and distribution formats.
* t/dist-shar.sh: Adjust to expect fatal errors rather than warnings.
* t/dist-tarZ.sh: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
0cf58ea7
|
2013-05-10T21:18:40
|
|
Merge branch 'maint'
* maint:
news: document new 'subdir-objects' warning
PLANS: one minor fixlet (mostly cosmetic)
PLANS: we have already dropped support for split info files in master
NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended
PLANS: fix reference to non-existent 'next' branch
PLANS: fix botched version reference
maintcheck: fix two references to old location of aclocal and automake
dist: deprecated shar and tar+compress formats
|
|
780299d9
|
2013-05-10T19:22:06
|
|
dist: deprecated shar and tar+compress formats
See also discussion about automake wishlist bug#13324.
* lib/Automake/Options.pm: Give proper warnings in the 'obsolete'
category if the 'dist-shar' or 'dist-tarZ' options are used.
* lib/distdir.am: When the 'dist-tarZ' or 'dist-shar' targets are
invoked, make them give a non-fatal warning.
* doc/automake.texi: Report the new deprecations.
* t/dist-shar.sh: New test.
* t/dist-tarZ.sh: Likewise.
* t/lzma.sh: While at it, rename ...
* t/dist-lzma.sh: ... like this, and tweak it to keep more in
sync with the new tests.
* t/dist-formats.tap: Remove references to deprecated formats.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
0dd95c8d
|
2013-05-10T13:33:52
|
|
Merge branch 'maint'
* maint:
automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/
am: prefer a shorter idiom where possible
cosmetics: fix few typos, grammaros and missing whitespace
fixup: remove an obsolete comment
docs: we still don't have the promised better Java interface
build: move automake and aclocal in 'bin' subdir
build: break up monolithic Makefile.am in subdir-specific fragments
+ Extra non-trivial edits:
* m4/Makefile.inc (dist_automake_ac_DATA): Drop lead-dot.m4 and
mkdirp.m4.
* lib/Automake/Makefile.inc (dist_perllib_DATA): Drop Configure_ac.pm.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
c8f106c7
|
2013-05-09T11:17:47
|
|
build: break up monolithic Makefile.am in subdir-specific fragments
This is convenient to do, now that we have improved "relative directory"
support with the '%reladir%' (a.k.a. '%D%') and '%canon_reladir%' (a.k.a.
'%C%') Automake-time substitutions for included makefile fragments.
This move also satisfy our philosophy of using new Automake features in
our own build system, as a way of facilitating early discovery of possible
bugs or interface warts.
* Makefile.am: Break up ...
* doc/Makefile.inc, lib/Automake/Makefile.inc, lib/Makefile.inc,
lib/am/Makefile.inc, m4/Makefile.inc, t/Makefile.inc): ... in this
new included fragments. Adjust as needed, and make deliberate use
of the '%D%' substitution.
* contrib/t/local.am: Rename ...
* contrib/t/Makefile.inc: ... like this.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
389f32eb
|
2013-04-19T15:46:54
|
|
Merge branch 'maint'
* maint:
Add missing '$' for variable expansion in depout.m4
maintcheck: avoid spurious failure
perl: perl subroutine prototypes are problematic, don't use them
fixup: one stray reference to older versioning scheme
|
|
ce98f22e
|
2013-04-19T15:46:36
|
|
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
Add missing '$' for variable expansion in depout.m4
fixup: one stray reference to older versioning scheme
|
|
98a0b71f
|
2013-02-21T19:25:55
|
|
fixup: one stray reference to older versioning scheme
* lib/Automake/Options.pm: Here, in a FIXME comment: reference
"Automake 3.0" rather than "Automake 1.15".
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
a5ed87e7
|
2013-02-21T16:39:22
|
|
Merge branch 'maint' into master
* maint:
maint: more adjustments to the new versioning scheme
aclocal: fix for more-than-once specified directories
aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
coverage: expose automake bug#13760
tests: refactor/enhance tests about make dry-run mode
maint: describe new versioning and branching scheme, and adjust to it
cosmetics: fix some "docstring-like" comments in automake
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
5daad702
|
2013-02-20T22:14:55
|
|
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
coverage: expose automake bug#13760
tests: refactor/enhance tests about make dry-run mode
maint: describe new versioning and branching scheme, and adjust to it
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
97aaf121
|
2013-02-17T10:25:29
|
|
maint: describe new versioning and branching scheme, and adjust to it
See discussion about automake bug#13578 for more details and background.
Basically, for the versioning scheme:
- micro versions only for bug and regression fixing;
- minor versions for new backward-compatible features, and new
non-fatal deprecations;
- major versions for backward-incompatibilities, complex new
features, and major refactoring.
And for the git branching scheme:
+ branch 'next' is for the upcoming major version;
+ branch 'master' is now for the upcoming minor version;
+ branch 'maint' is for the upcoming micro (bug-fixing) version;
+ the merging hierarchy is: 'maint' -> 'master' -> 'next'.
* HACKING (Automake versioning and compatibility scheme): New.
(Working with git): Adjust.
* NEWS: Update and fix.
* aclocal.in: Adjust some "FIXME" messages.
* automake.in: Likewise.
* m4/mkdirp.m4: Likewise.
* t/aclocal-acdir.sh: Likewise.
* t/aclocal-macrodir.tap: Likewise.
* t/aclocal-macrodirs.tap: Likewise.
* lib/Automake/Options.pm: Likewise.
* m4/internal/ac-config-macro-dirs.m4: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
5e074aa5
|
2013-02-16T19:39:07
|
|
Merge branch 'maint'
* maint:
style: call perl functions 'like_this()', not '&like_this()'
maint: use more perl subroutines prototypes in the automake script
build: auto-generate perl subroutines prototypes for automake and aclocal
refactor: rip module Automake::Language out of automake script
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
e7b9d315
|
2013-02-04T23:37:23
|
|
maint: use more perl subroutines prototypes in the automake script
* automake.in: Throughout this file. Note that these new prototypes
are not much useful, since many subroutine calls still use the old
'&foo' form; but we'll take care of that in later patches.
* lib/Automake/Language.pm (target_hook): Call the '_target_hook'
of the given language in a more modern form, avoiding '&'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
6d9e9dd4
|
2013-02-04T19:34:03
|
|
refactor: rip module Automake::Language out of automake script
This is just a preparatory patch in view of future changes.
* lib/Automake/Language.pm: New module, ripped out from ...
* automake.in: ... here. Related adjustments.
* Makefile.am (dist_perllib_DATA): List the new module.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
84d77cd6
|
2013-01-12T13:54:43
|
|
Merge branch 'maint'
* maint:
tests: remove most uses of the AM_PROG_CC_C_O obsolete macro
coverage: obsolete macro AM_PROG_CC_C_O should cause no warning nor errors
INSTALL: update copyright years
ithreads: use runtime (not configure time) detection of perl threads
copyright: add few missing copyright notices
maint: files in PLANS are to be exempted from copyright notice
maint: consistently honor the UPDATE_COPYRIGHT_YEAR environment variable
copyright: update some copyright years
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
18262668
|
2013-01-12T00:19:40
|
|
ithreads: use runtime (not configure time) detection of perl threads
I can't imagine the runtime checks being a big runtime penalty, so there
shouldn't be a need to do the checks at configure check and hardcode the
result in the generated automake.
With the current system, it means if you change your perl config (build
perl w/threads, build automake, build perl w/out threads), or deploy a
compiled automake package on a different system (build had threads, but
deployed system does not), you get errors when trying to run automake.
So take the logic from configure.ac and move it to the one place where
PERL_THREADS is used (lib/Automake/Config.in) and do the version/config
checking at runtime.
* bootstrap.sh (PERL_THREADS): Delete assignment and use in sed.
* configure.ac (am_cv_prog_PERL_ithreads, PERL_THREADS): Delete all code
related to these two variables.
* lib/Automake/Config.in (perl_threads): Initialize to 0, and only set to
1 if the perl version is at least 5.007_002, and useithreads is in Config.
Copyright-paperwork-exempt: yes
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
e4fc1dad
|
2013-01-03T14:42:55
|
|
Merge branch 'maint'
* 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
|
|
36ee783a
|
2012-04-03T22:02:55
|
|
texi: info files can be generated in the builddir
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.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
b98aab9f
|
2012-12-31T18:24:03
|
|
Merge branch 'maint'
* maint:
maint: update copyright year for 2013 (in branch maint)
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
7df8b28c
|
2012-12-31T18:18:37
|
|
maint: update copyright year for 2013 (in branch maint)
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
11fac8b2
|
2012-12-31T13:45:05
|
|
Merge branch 'maint'
* 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
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
b6602b33
|
2012-12-31T09:53:43
|
|
maint: state when compatibility cruft should be removed or warned about
* automake.in: Here.
* lib/Automake/Options.pm: And here.
* m4/obsolete-err.m4: And here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
7626e632
|
2012-05-25T17:51:01
|
|
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.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
bff57c88
|
2012-05-25T17:50:59
|
|
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.
|
|
076e8fa2
|
2012-09-05T14:40:52
|
|
Merge branch 'maint'
* maint:
sync: update files from upstream with "make fetch"
news: cygnus will be removed in automake 1.13
news: some changes for 1.13 has been "de-planned"
news: report that the have seen fixlets after 1.12.3
warns: enable category 'obsolete' by default
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
cf41f5af
|
2012-09-04T14:50:49
|
|
warns: enable category 'obsolete' by default
No surprise that our users were bitten by backward-incompatible changes
especially hard: the warnings in the 'obsolete' category, that might
have informed them of the upcoming incompatibilities, and help them to
prepare for the transition, where not enabled by default!
* NEWS, doc/automake.texi: Update.
* lib/Automake/ChannelDefs.pm: Enable warnings in the category 'obsolete'
by default.
* t/warnings-obsolete-default.sh: New test.
* t/list-of-tests.mk: Add it.
* t/backcompat.sh: Use 'configure.ac' rather than 'configure.in' as
autoconf input file, to avoid spurious aclocal errors.
* t/backcompat2.sh: Likewise.
* t/backcompat3.sh: Likewise.
* t/backcompat5.sh: Add '-Wno-obsolete' when invoking aclocal. Adjust
heading comments.
* t/backcompat6.sh: Likewise.
* t/cygnus-imply-foreign.sh: Add '-Wno-obsolete' when invoking automake.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
e92bd2e7
|
2012-06-02T09:54:17
|
|
Merge branch 'maint'
* maint:
news: document deprecation of configure.in
news: put planned backward compatibilities early
sync: update files from upstream with "make fetch"
maint: deprecate 'configure.in' as autoconf input
maint: post-release minor version bump
release: stable release 1.12.1
copyright: update copyright years in a couple of files
tests: avoid spurious failures with Solaris 9 cscope program
maintcheck: fix a spurious failure
perf: beginning of a performance testsuite
aclocal: declare function prototypes, do not use '&' in function calls
news: support for configure.in will be dropped in future automake versions
tests: fix botched heading comments in 'lex-clean-cxx.sh'
[ng] maintcheck: some tweaks and fixlets
help: fix a typo in the list of warning categories
maint: version bump after beta release
release: beta release 1.12.0b (will become 1.12.1)
release: remove overly picky check
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
96497293
|
2012-06-01T19:15:29
|
|
maint: deprecate 'configure.in' as autoconf input
It has been years since that has been deprecated in the documentation,
in favour of 'configure.ac':
Previous versions of Autoconf promoted the name configure.in, which
is somewhat ambiguous (the tool needed to process this file is not
described by its extension), and introduces a slight confusion with
config.h.in and so on (for which '.in' means "to be processed by
configure"). Using configure.ac is now preferred.
It's now time to start giving runtime warning about the use of
'configure.in', so that support for it can be removed in future
versions of autoconf/automake.
See also, in the Autoconf repository, commit 'v2.69-4-g560f16b' of
2012-05-23, "general: deprecate 'configure.in' as autoconf input".
* lib/Automake/Configure_ac.pm: Issue a warning in the 'obsolete'
category if 'configure.in' is detected. Since this module is synced
from Automake, this change is to be backported there (and will be
soon).
* t/help.sh: Adjust.
* t/configure.sh: Adjust and enhance.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
0d1e28a8
|
2012-05-21T15:44:14
|
|
help: fix a typo in the list of warning categories
* lib/Automake/ChannelDefs.pm (usage): s/none'/none/.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
5e771b27
|
2012-05-18T18:00:51
|
|
check: the parallel-tests driver is now the default
The old serial testsuite driver is still supported, and can be activated
by the 'serial-tests' option (introduced by commit 'v1.11-1989-gdeb7773'
of 2012-02-20, "automake: new option 'serial-tests'").
* lib/Automake/Options.pm: Now, the 'parallel-tests' option is a no-op
(but still explicitly recognized, for backward compatibility), while the
'serial-tests' option is recognized and registered.
* automake.in: Adjust to ensure that the parallel test harness is used by
default; mostly, this amounts at using "! option('serial-tests')" where
"option('parallel-tests')" was used before.
* NEWS, doc/automake.texi: Update.
* configure.ac (AM_INIT_AUTOMAKE): Drop 'parallel-tests' option, is
redundant now.
* defs: In the generated AM_INIT_AUTOMAKE call, use the 'serial-tests'
when the serial testsuite harness is to be used, and no option otherwise.
* lib/am/check.am: Use (static) conditional '%SERIAL_TESTS%' instead of
conditional '%PARALLEL_TESTS%'.
* lib/test-driver: Adjust heading comments.
* t/ax/extract-testsuite-summary.pl: Likewise.
* t/check-exported-srcdir.sh: Likewise.
* t/check-subst.sh: Likewise.
* t/java-compile-run-nested.sh: Likewise.
* t/parallel-tests-dry-run-1.sh: Likewise.
* t/parallel-tests-dry-run-2.sh: Likewise.
* t/parallel-tests-interrupt.sh: Likewise.
* t/parallel-tests-many.sh: Likewise.
* t/test-metadata-global-log.sh: Likewise.
* t/tests-environment-backcompat.sh: Likewise.
* m4/init.m4 (AM_INIT_AUTOMAKE): Adjust a comment.
* t/check8.sh: Likewise.
* t/check-tests-in-builddir.sh: Likewise.
* t/java-compile-run-flat.sh: Adjust a botched comment.
* t/ax/tap-summary-aux.sh: Remove explicit use of the 'parallel-tests'
option.
* t/ax/testsuite-summary-checks.sh: Likewise.
* t/aclocal-path-precedence.sh: Likewise.
* t/dist-aux-many-subdirs.sh: Likewise.
* t/parallel-tests-no-color-in-log.sh: Likewise.
* t/parallel-tests-reset-term.sh: Likewise.
* t/parallel-tests-subdir.sh: Likewise.
* t/check-no-test-driver.sh: Fix setup to adjust to the changed
semantics. Update heading comments.
* t/parallel-tests-driver-install.sh: Adjust to the new semantic.
* t/test-driver-is-distributed.sh: Simplified according to the
new semantics.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
1e852648
|
2012-05-04T17:46:51
|
|
Merge branch 'maint'
* maint:
tests: avoid spurious failure on missing Obj C/C++ compiler
objc, objc++: test support for compilation flags
objc, objc++: add stress test
objc, objc++: test automatic dependency tracking
objc: reorganize basic tests
objc++, objc: add first semantic tests
objc++: add first basic test
news: announce initial support for Objective C++
objc++: test support for '.mm' suffix in _SOURCES entries
objc++: add documentation
objc++: initial support for Objective C++
|
|
0fec8df4
|
2012-05-02T18:15:41
|
|
Merge branch 'always-support-silent-rules'
* always-support-silent-rules:
silent rules: support for them is always active now
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
14141f25
|
2012-05-01T14:23:04
|
|
silent rules: support for them is always active now
Before this change, support for silent rules was optional and activated
only if the 'silent-rules' option was specified.
The rationale behind that behaviour was that the silent-rules machinery
originally only worked with make implementations supporting nested
variables expansions, which isn't (or wasn't) a POSIX-specified features;
so that packages wanting to be "extra-portable" couldn't use the
silent-rules machinery at all.
But after Paul Eggert's commit 'v1.11-598-g8493499' of 25-12-2011,
"silent-rules: fallback for makes without nested vars" (motivated
by automake bugs #9928 and #10237), Makefiles generated when the
'silent-rules' option is enabled can work also with those make
implementations that don't support nested variables expansion (albeit
the configure-time selected verbosity cannot be overridden at make
runtime in such case).
In light of that, and since silent rules are disabled by default even
when the 'silent-rules' option is given (unless the developer explicitly
makes them enabled by default be calling "AM_SILENT_RULES([yes])" in
configure.ac), we can now have the support for silent rules always
enabled.
The 'silent-rules' option will thus become a no-op, but will reaming a
valid option for the time being, for better backward-compatibility.
A collateral effect of this change is that the use of the 'silent-rules'
option will not anymore automatically disable the warnings in the
'portability-recursive' category.
The present change is basically a backport of the Automake-NG commit
'v1.11d-75-g61ca923' of 19-04-2012, "[ng] silent rules: support for
them is always active now". Stemmed by this thread on the Automake-NG
list:
<http://lists.gnu.org/archive/html/automake-ng/2012-04/msg00027.html>
* automake.in: Enable silent-rules machinery unconditionally. Reword
some comments. Do not switch off warnings in the category
'portability-recursive' anymore if the 'silent-rules' option is
given.
* m4/init.m4: Call 'AC_REQUIRE' on 'AM_SILENT_RULES' unconditionally.
* lib/Automake/Options.pm: Recognize 'silent-rules' as a dummy option.
Do not bother anymore checking that it is set in 'configure.ac'.
* t/silent.sh: Remove now-redundant calls to AM_SILENT_RULES.
* t/silent2.sh: Likewise.
* t/silent3.sh: Likewise.
* t/silent4.sh: Likewise.
* t/silent8.sh: Likewise.
* t/silent9.sh: Likewise.
* t/silent-lex.sh: Likewise.
* t/silent-many-gcc.sh: Likewise.
* t/silent-many-generic.sh: Likewise.
* t/silent-yacc-headers.sh: Likewise.
* t/silent-yacc.sh: Likewise.
* t/silentcxx-gcc.sh: Likewise.
* t/silentcxx.sh: Likewise.
* t/silentf77.sh: Likewise.
* t/silentf90.sh: Likewise.
* t/help-silent.sh: Likewise.
* t/silent-configsite.sh: Likewise, and other minor adjustments.
* t/silent7.sh: Likewise. Also, extend to check that silent rules
are disabled by default, and remove obsoleted checks about the
'silent-rules' option being rejected in 'AUTOMAKE_OPTIONS'.
* t/silent6.sh: Remove now-redundant calls to 'AM_SILENT_RULES'.
Call automake with '-Wno-portability-recursive'. Remove other
obsoleted checks.
* t/dollarvar.sh: Don't expect the use of 'AM_SILENT_RULES' in
'configure.ac' to disable warning in the 'portability-recursive'
category anymore.
* t/compile_f_c_cxx.sh: Adjust to avoid a spurious failure.
* t/silent-amopts.sh: Remove as obsolete.
* t/silent-nowarn.sh: Likewise.
* t/list-of-tests.mk: Adjust.
* NEWS: Update.
* doc/automake.texi: Update and simplify accordingly.
* configure.ac (AM_INIT_AUTOMAKE): Remove 'silent-rules' option.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
5b0cc395
|
2012-04-06T11:18:38
|
|
cygnus: remove support for Cygnus-style trees
Support for "Cygnus-style" tree as enabled by the 'cygnus' option
has been deprecated in the documentation and with runtime warning
since Automake 1.12.1. It's now time to remove it.
Closes automake bug#11034.
* lib/Automake/Options.pm (_process_option_list): Issue a proper
error when the 'cygnus' option is seen.
* automake.in: Don't handle the 'cygnus' option anymore.
* docs/automake.texi: Remove references to cygnus option and
Cygnus-style trees.
* lib/am/dejagnu.am, lib/am/texinfos.am: Drop special setups for
cygnus mode.
* NEWS: Update.
* t/cygnus-no-more.sh: New test.
* t/flavor.sh: Adjust.
* t/cygnus-deprecation.sh: Remove.
* t/cygnus-check-without-all.sh: Likewise.
* t/cygnus-requires-maintainer-mode.sh: Likewise.
* t/cygnus-dependency-tracking.sh: Likewise.
* t/cygnus-imply-foreign.sh: Likewise.
* t/cygnus-no-installinfo.sh: Likewise.
* t/cygnus-no-dist.sh: Likewise.
* t/clean2.sh: Likewise.
* t/txinfo5.sh: Likewise.
* t/txinfo5b.sh: Likewise.
* t/list-of-tests.mk: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
df306b52
|
2012-04-26T15:01:23
|
|
objc++: initial support for Objective C++
Original thread (dating back to almost three years ago):
<http://lists.gnu.org/archive/html/automake-patches/2009-07/msg00016.html>
* automake.in: Register new language 'objcxx'.
(lang_objcxx_rewrite): New subroutine.
(resolve_linker): Add OBJCXXLINK.
(%_am_macro_for_cond): Add am__fastdepOBJCXX and AC_PROG_OBJCXX.
(%_ac_macro_for_var): Add OBJCXX and OBJCXXFLAGS.
* m4/depend.m4 (_AM_DEPENDENCIES): Add OBJCXX.
* m4/init.m4 (AM_INIT_AUTOMAKE): Add AC_PROG_OBJCXX hook.
Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
8ea72c74
|
2012-04-27T16:27:08
|
|
build: ensure release year in copyright notice is up-to-date
From a suggestion by Eric Blake. See automake bug#11356.
This is a follow-up to previous patch 'v1.12-12-gb99b5be'.
* configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold
the value of the current year.
* Makefile.am (update-copyright): Be sure to also update the
definition of 'RELEASE_YEAR' in configure.ac.
* lib/Automake/Config.in ($RELEASE_YEAR): New exported variable,
initialized from the value substituted for '@RELEASE_YEAR@'.
(@EXPORT): Add it.
* automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be
substituted at make time) instead of hard-coding the release
year. This should ensure the copyright range in the version
message and in the generated files (Makefile.in and aclocal.m4)
are automatically kept up-to-date.
* bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
64b18e07
|
2012-04-20T10:05:51
|
|
refactor: processing of input makefile rules
This is a pure refactoring, with no intended functional or semantic
changes. It breaks up an overly-long function in three smaller
sub-functions. This change will very especially useful for the work
on Automake-NG.
* lib/Automake/Rule.pm (define): Move quite a lot of code out, into ...
(_rule_defn_with_exeext_awareness, _maybe_warn_about_duplicated_target,
_conditionals_for_rule): ... these new subroutines.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
2d671e11
|
2012-03-29T00:31:47
|
|
perl refactor: use modern semantics of 'open'
* lib/Automake/XFile.pm: Update comments and POD documentation to
suggest a more idiomatic/modern usage.
(open): Be more robust in detecting whether the created file handle
is being opened for writing.
* lib/Automake/FileUtils.pm (update_file, contents): Call the
'Automake::XFile' and 'File::IO' constructors with two arguments
rather than one; this change obsoletes ...
(open_quote): ... this subroutine, which has thus been removed.
(@EXPORT): Drop '&open_quote'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
84bf694b
|
2012-03-28T22:50:27
|
|
Merge branch 'maint'
* maint:
cosmetics: don't make the generated Config.pm executable
maint: reduce use of recursion in automake build system
+ Extra non-trivial extra edits follows.
* lib/Makefile.am (amdir): Deleted this definition, it is already
provided by a proper AC_SUBST in configure.ac.
(dist_am_DATA): Remove 'am/ansi2knr.am', 'am/check-html.am' and
'am/multilib.am'.
(dist_perllib_DATA): Remove 'Automake/Struct.pm'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
feeb7f6a
|
2012-03-28T17:03:25
|
|
maint: reduce use of recursion in automake build system
Recursive make-based build systems tend to be slower, more fragile
and less faithful than "flat" ones. See Peter Miller's article
"Recursive Make Considered Harmful" for more a more in-depth
discussion:
<http://miller.emu.id.au/pmiller/books/rmch/>
While in the case of automake this isn't a big problem (given the
small size of its build systems), it still creates occasional
glitches and annoyances. So, with this change, we start making
less use of make recursion in the Automake's own build system
(future changes will reduce it even more).
* lib/am/Makefile.am, lib/Automake/Makefile.am: Removed, their
content merged ...
* lib/Makefile.am: ... here, with required adjustments.
* configure.ac (AC_CONFIG_FILES): Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
ddac0505
|
2012-03-07T23:26:24
|
|
getopt: relax version requirement for perl
* lib/Automake/Getopt.pm: Require perl 5.6.0, not 5.6.2: the former
is enough. See also commit 'v1.11-2054-g7df05a0' on master (dated
04-03-2012).
|
|
3a814608
|
2012-03-07T21:08:06
|
|
Merge branch 'msvc' into maint
This merge remedies the confusing situation that some changes
destined for both the master branch and the release branch (a.k.a.
branch-1.11) currently needs to be made on the non-obvious msvc
branch and not on the more natural maint branch. This has caused
a seemingly endless string of less than optimal commits.
The reason for the confusion stems from the fact that the changes made
on the msvc branch became too radical and was considered only suitable
for the master branch, and was thus written in a form suitable for
master and then merged there. Later, the msvc branch was merged
directly into branch-1.11, in order to rush the new features to the
market and to keep the released scripts (lib/ar-lib, lib/compile and
lib/depcomp) consistent with those on the master branch. However,
some changes had to be made to the features added by the msvc branch
in order for them to fit the requirements of branch-1.11, notably that
the warnings issued in the extra-portability class cannot be enabled
by -Wall in the 1.11.x maintenance releases.
In retrospect, it would have been better to not merge msvc directly
into branch-1.11, but instead do it via the maint branch (followed up
with a dummy merge from maint into master) the moment it was decided
that the msvc changes should make it into branch-1.11.
All in all, this merge is going to affect neither the master branch
nor branch-1.11, since it is followed up with dummy merges masking all
changes. The merge is made to maintain the sanity of the poor
developers, who wishes to once again have a working maint branch.
Discussion about merging the msvc branch into branch-1.11:
http://lists.gnu.org/archive/html/automake/2011-10/msg00030.html
Discussion about why this merge hasn't happened before:
http://lists.gnu.org/archive/html/automake/2011-12/msg00051.html
Extra edits below.
* lib/Automake/ChannelDefs.pm: Use the version from branch-1.11.
* tests/ar-lib3.test: Likewise.
* tests/ar-lib4.test: Likewise.
* tests/extra-portability.test: Likewise.
* tests/extra-portability2.test: Likewise.
* tests/extradep.test: Likewise.
* tests/extradep2.test: Likewise.
* tests/list-of-tests.mk: Likewise.
* HACKING: Backport the version from branch-1.11 while at it (as the
change on branch-1.11 is also present on master via an unrelated
commit), even though this change has nothing to do with the changes
on the msvc branch.
|
|
74a7f492
|
2012-03-04T16:00:58
|
|
maint: drop 'Automake::Struct' module
Now that we require Perl 5.6, we can drop the 'Automake::Struct'
module, which was basically just a backport of Perl 5.6's
'Class::Struct' to Perl 5.5.
* automake.in: Use 'Class::Struct', not 'Automake::Struct'.
* lib/Automake/Struct.pm: Delete.
* lib/Automake/Makefile.am (dist_perllib_DATA): Remove it.
|
|
7df05a0b
|
2012-03-04T15:44:46
|
|
maint: require perl 5.6 throughout
That version of perl is quite old already, so it should be OK to
require it. More importantly, it is the older perl versions the
developers can currently use for testing, thus it's safer and more
honest to just require it throughout. And anyway, we were already
requiring it in Automake::Getopt, which implied that both automake
and aclocal wouldn't have worked in practice with an older perl
version.
See also the discussion related to automake bug#10925.
* lib/Automake/ChannelDefs.pm: Adjusted to require perl 5.6.
* lib/Automake/Channels.pm: Likewise.
* lib/Automake/Condition.pm: Likewise.
* lib/Automake/Configure_ac.pm: Likewise.
* lib/Automake/DisjConditions.pm: Likewise.
* lib/Automake/FileUtils.pm: Likewise.
* lib/Automake/General.pm: Likewise.
* lib/Automake/Item.pm: Likewise.
* lib/Automake/ItemDef.pm: Likewise.
* lib/Automake/Location.pm: Likewise.
* lib/Automake/Options.pm: Likewise.
* lib/Automake/Rule.pm: Likewise.
* lib/Automake/RuleDef.pm: Likewise.
* lib/Automake/Struct.pm: Likewise.
* lib/Automake/VarDef.pm: Likewise.
* lib/Automake/Variable.pm: Likewise.
* lib/Automake/Version.pm: Likewise.
* lib/Automake/Wrap.pm: Likewise.
* lib/Automake/XFile.pm: Likewise.
|
|
aadd78e9
|
2012-03-02T11:04:05
|
|
Merge branch 'maint' into msvc
|
|
00eb4ac9
|
2012-02-24T14:35:06
|
|
refactor: in Automake::Options (no semantic change)
* lib/Automake/Options.pm: Prefer leading spaces to leading tabs
throughout. Minor whitespace and comment changes.
(_process_option_list): Simple refactoring to make the code more
pleasant to read and easier to modify in the future. This
refactoring also reduces code duplication, with the help of ...
(_option_must_be_from_configure, _is_valid_easy_option): ... these
new internal subroutines.
* tests/tar3.test: Enhance.
* tests/silent-amopts.test: New, checks that automake complains if
the 'silent-rules' option is used in AUTOMAKE_OPTIONS.
* tests/list-of-tests.mk: Add it.
|
|
3e887a13
|
2012-02-23T20:25:26
|
|
pm: do not quote `like this', as per GCS recommendation
This patch converts the internal perl modules used by automake and
aclocal to the use of new quoting format 'like this' or "like this"
rather than `like this'.
* lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm,
lib/Automake/Condition.pm, lib/Automake/Configure_ac.pm,
lib/Automake/DisjConditions.pm, lib/Automake/FileUtils.pm,
lib/Automake/General.pm, lib/Automake/Item.pm,
lib/Automake/Rule.pm, lib/Automake/Getopt.pm,
lib/Automake/Options.pm, lib/Automake/Struct.pm,
lib/Automake/VarDef.pm, lib/Automake/Variable.pm,
lib/Automake/Version.pm, lib/Automake/XFile.pm: Update and
adjust quoting format throughout, in comments and diagnostic.
Some minor related rewordings and reformatting since we are
at it.
|
|
deb77738
|
2012-02-20T18:33:50
|
|
automake: new option 'serial-tests'
Currently, automake offers a 'parallel-tests' option to enable the
use of the parallel testsuite harness in the generated Makefiles,
but no option to explicitly state the intention of using the older
serial testsuite driver (which is currently the default).
This makes the parallel test harness seems like a second-class
citizen (while actually it should be the other way around); more
importantly, it will prevent us from making the parallel harness
be the default one in future automake versions, since the users
of the serial harness would then have no way to instruct automake
to continue using it.
We solve all of this by introducing a new 'serial-tests' option.
* lib/Automake/Options.pm (_process_option_list): Recognize the
new option, and related minor refactoring.
* tests/serial-tests.test: New test.
* tests/list-of-tests.mk: Add it.
* doc/automake.texi: Update.
* NEWS: Likewise.
|
|
641a5a4b
|
2012-02-16T10:46:23
|
|
maint: run "make update-copyright"
|
|
e5ae760b
|
2012-01-21T20:52:43
|
|
Merge branch 'maint'
* maint:
fixup: distribute 'contrib/multilib/multi.m4'
multilib: deprecate, will be moved to contrib
fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS
cosmetics: fix a botched comment in a maintainer check
|
|
84fbf466
|
2012-01-20T20:52:02
|
|
fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS
This change fixes automake bug#10555.
Note that the bug was a minor one, since it didn't affect the
compilation rules generated by automake, but only only the "hints"
printed by automake in some error messages (e.g., "The usual way
to define `FFLAGS' is to add AC_PROG_F77 to configure.ac").
* lib/Automake/Variable.pm (%_ac_macro_for_var): The code generated
by AC_PROG_F77 uses FFLAGS, not F77FLAGS, as the variable where to
look for switches for the Fortran 77 compiler: adjust accordingly.
|
|
3a7b60b1
|
2012-01-18T18:42:46
|
|
Merge branch 'maint'
* maint:
cmdline parsing: move into a dedicated perl module
|
|
52246cc7
|
2012-01-18T17:55:40
|
|
cmdline parsing: move into a dedicated perl module
With this change, we delegate most of the automake and aclocal code
for command-line options parsing to a new module "Automake::Getopt".
This allows better code sharing between automake and aclocal, and
also with Autoconf, which will sync the new module from us. See
also autoconf commit 'v2.68-120-gf4be358' (2012-01-17, "getopt: new
Autom4te::Getopt module"), and this mailing list discussion:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-01/msg00033.html>
This change might interact with the behaviour described in automake
bug#7434; for example, starting from now, "automake -Wfoo --version"
will cause automake to emit diagnostic like "unknown warning
category 'foo'" before actually printing the version number and
exiting. This is not a big deal in practice, and the code sharing
and simplifications introduced by this patch is certainly worth it.
Still, we should revisited the issue in the future.
* lib/Automake/Getopt.pm: New module, basically a slightly-edited
copy of the 'lib/Autom4te/Getopt.pm' file from the autoconf devel
repository (commit v2.68-120-gf4be358). It defines and exports ...
(parse_options): ... this new function.
* automake.in (parse_arguments): Use the new function.
* aclocal.in (parse_arguments): Likewise.
* lib/Automake/Makefile.am (dist_perllib_DATA): Add the new file.
* tests/getopt.test: Remove.
* tests/list-of-tests.mk: Update.
|
|
b4ba4e86
|
2012-01-18T14:08:57
|
|
Merge branch 'maint'
* maint:
cosmetics: move CheckListOfTests.am into tests/
tests: move all under the same hierarchy ('tests/' directory)
gitlog-to-changelog: update from upstream
changelog: don't cluster multiple entries under the same "date line"
+ Extra non-trivial edits:
* tests/Makefile.am (XFAIL_TESTS): Update with the xfailing tests
that were in 'lib/Automake/tests'. Add proper "FIXME" comment.
|
|
fbeda3da
|
2012-01-18T12:17:11
|
|
tests: move all under the same hierarchy ('tests/' directory)
This simplifies the organization of the Automake source tree and
reduces the (lamentably high) number of Makefiles in the Automake
build system by one. It also makes the maintainer check that
verifies the consistency of list of tests more self-contained and
simpler. Finally, it might be a first step forward the transition
to a non-recursive build system for automake (if we ever decide to
go down that road fully some day).
* lib/Automake/tests: All the '*.pl' tests in here moved ...
* tests/pm: ... into this new directory.
* lib/Automake/tests/Makefile.am: Remove, its meaningful
contents moved ...
* tests/Makefile.am: ... here, with obvious adjustments.
(test_subdirs): New variable, for the sake of the recipe
of 'maintainer-check-list-of-tests'.
* CheckListOfTests (maintainer-check-list-of-tests): Enhance
its recipe to make it able to deal with test script residing
in subdirectories.
* Makefile.am (maintainer-check-list-of-tests): Simplified.
(TEST_SUBDIRS): Remove, no more needed.
* tests/list-of-tests.mk (perl_TESTS): New variable, lists
the '.pl' tests just moved into 'tests/pm'.
(handwritten_TESTS): Add the contents of '$(perl_TESTS)'.
* lib/Automake/Makefile.am (SUBDIRS): Remove.
* configure.ac (AC_CONFIG_FILES): Update.
* .gitignore: Adjust.
|
|
9928ea5c
|
2012-01-16T20:06:08
|
|
Merge branch 'maint'
* maint:
recheck: fix interaction with "make -n"
vala: avoid potential useless remakes (minor bugfix)
vala: enhance tests
recheck: behave better with non-GNU make
check: separate .log -> .html conversion from core testsuite harness
docs: deprecate .log -> .html conversion by parallel-tests
tests: list some forgotten test cases in $(TESTS)
maintcheck: consistency of list of test scripts
build: explicitly declare some targets as .PHONY
maint: remove obsolete/broken maintainer targets
build: improve silencing of automake build system
tests: move list of tests in its own Makefile fragment
+ Extra non-trivial edits:
* tests/parallel-tests2.test: Obvious edits to merge the slightly
inconsistent enhancements to coverage done in master with those
done in maint.
* lib/am/check.am (check-TESTS, recheck): Sweeping and rather
complex changes to merge the considerable divergences between
maint and master in a way that is meaningful and, where possible,
retains the semantic changes from both maint and master.
|
|
27f1a1c9
|
2012-01-16T10:05:59
|
|
maintcheck: consistency of list of test scripts
This is basically a backport of commit 'v1.11-358-g7b6ab07'
and its follow-ups. The possibility of easily checking that
the list of test scripts listed in a Makefile equals that of
the tests on the filesystem has proved itself so useful that
it's worth taking the annoyance of backporting it to maint.
* CheckListOfTests.am: New file, backported from master (commit
'v1.11-1736-g083a75b') with minor adjustments.
(maintainer-check-list-of-tests): New target, check for consistency
between the list of tests defined in the including Makefile and the
list of tests on the filesystem.
(clean-maintcheck-testslist-tmp): New rule, to clean up temporary
files that might be left around by the rules associated with the
previous target.
(clean-local): Depend on it.
* lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
* tests/Makefile.am: Likewise.
* Makefile.am (maintainer-check-list-of-test): New target,
calling recursively into `tests/' and `lib/Automake/tests/',
using ...
(TEST_SUBDIRS): ... this new variable.
(maintainer-check): Added dependency from the new target
`maintainer-check-list-of-tests'.
|
|
8856653e
|
2012-01-15T23:08:21
|
|
build: improve silencing of automake build system
In this change, we continue the silencing of the automake build
system that has been started in commit v1.11-642-g17542c3, but
which has been left incomplete there for an (absent-mindness)
mistake.
* Makefile.am (INSTALL): Silence the recipe.
(automake, aclocal): Likewise, and improve them a little since
we are at it.
* lib/Automake/Makefile.am (Config.pm): Likewise.
|
|
8f76fd51
|
2012-01-04T07:53:02
|
|
cosmetics: prefer the term "Windows" over "Win32"
Microsoft has renamed the Win32 API to "Windows API":
<http://msdn.microsoft.com/en-us/library/aa383723.aspx>
Also, after some discussion on bug-gnulib, when talking about hosts and
platforms we believe it's better to talk about "Windows" or "native
Windows" instead:
<https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00009.html>
<https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>
* doc/automake.texi: Mention "Windows", not "Win32".
* lib/Automake/XFile.pm: Likewise.
* lib/ar-lib: Likewise.
* lib/compile: Likewise.
* tests/compile2.test: Mention "Windows", not "w32".
|
|
01fef4ae
|
2012-01-01T19:20:04
|
|
Merge branch 'maint' into msvc
* maint:
tests: make 'lzip.test' executable
dist: obsolete support for lzma (superseded by xz and lzip)
test defs: more granular overriding of the make program
docs: fix a couple broken anchors
dist: add support for lzip compression
docs: fix paragraph names for automake and aclocal invocations
tests: fix spurious failure due to autom4te caching
fix: last entry in ChangeLog
tests: tweak tests on silent-rules for makes without nested vars
silent-rules: fallback for makes without nested vars
|
|
02e90723
|
2012-01-01T13:23:19
|
|
dist: remove support for lzma (superseded by xz and lzip)
See also commit `v1.11-611-ge637fa2' (from maint), where support
for lzma compression of distribution archive had been deprecated.
* NEWS: Update.
* lib/Automake/Options.pm: Error out if the `dist-lzma' option
is used.
* lib/am/distdir.am: Remove all support for the creation of a
lzma-compressed distribution archive.
* tests/lzma.test: Update.
|
|
c1b14e96
|
2012-01-01T11:14:27
|
|
Merge branch 'maint'
* maint:
tests: make 'lzip.test' executable
dist: obsolete support for lzma (superseded by xz and lzip)
test defs: more granular overriding of the make program
docs: fix a couple broken anchors
dist: add support for lzip compression
docs: fix paragraph names for automake and aclocal invocations
tests: fix spurious failure due to autom4te caching
fix: last entry in ChangeLog
tests: tweak tests on silent-rules for makes without nested vars
silent-rules: fallback for makes without nested vars
|
|
2a461709
|
2012-01-01T10:39:10
|
|
Merge branch 'deprecate-lzma' into maint
* deprecate-lzma:
dist: obsolete support for lzma (superseded by xz and lzip)
|
|
e637fa2a
|
2011-12-30T15:54:40
|
|
dist: obsolete support for lzma (superseded by xz and lzip)
The lzma utilities are today superseded by the xz utilities; in
fact, the official site at <http://tukaani.org/lzma/> reads:
``LZMA Utils are legacy data compression software with high
compression ratio. LZMA Utils are no longer developed, ...
Users of LZMA Utils should move to XZ Utils.''
and the existing automake manual (as of 1.11.2) already says:
``dist-xz
Generate an 'xz' tar archive of the distribution. xz archives
are frequently smaller than bzip2-compressed archives. The 'xz'
format will soon (early 2009) displace the 'lzma' format''
Also, the `dist-lzma' target still suffers of never-solved bugs,
due to the too-high compression ratio its uses by default, which
might cause an unacceptable memory consumption when one tries to
compress or, worse, decompress the created tarballs; see also:
<http://lists.gnu.org/archive/html/automake/2011-12/msg00025.html>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9658>
* NEWS: Update.
* doc/automake.texi (Dist, Options): State that `dist-lzma' will
go away in the next major automake version.
* lib/Automake/Options.pm (_process_option_list): Deprecate
`dist-lzma'.
* tests/lzma.test: Update.
|
|
0878bd34
|
2011-12-30T14:35:18
|
|
dist: add support for lzip compression
* NEWS: Update.
* automake.in (handle_dist): Recognize dist-lzip.
(make_paragraphs): Map LZIP to dist-lzip.
* doc/automake.texi (Dist, Options): Describe dist-lzip.
* lib/Automake/Options.pm (_process_option_list): Recognize
`dist-lzip'.
* lib/am/distdir.am (dist-lzip): New target.
(DIST_ARCHIVES) [?LZIP?]: Add `dist-lzip'.
(dist, dist-all) [?LZIP?]: Add command to create an lzip-compressed
tarball.
(distcheck): Handle lzip-compressed tarballs just like the others.
* tests/lzip.test: New test.
* tests/Makefile.am (TESTS): Add it.
|
|
4c38a8ce
|
2011-12-27T13:31:15
|
|
cosmetics: be more consistent in copyright notices in tests
* tests/cond39.test: Update the heading copyright notice, to be
consistent with the formulation used in the other files.
* tests/cond40.test: Likewise.
* tests/cond41.test: Likewise.
* tests/cond42.test: Likewise.
* tests/cond43.test: Likewise.
* tests/conflnk4.test: Likewise.
* tests/extra8.test: Likewise.
* tests/extra9.test: Likewise.
* tests/suffix13.test: Likewise.
* tests/vala.test: Likewise.
* tests/vala1.test: Likewise.
* tests/vala2.test: Likewise.
* tests/vala3.test: Likewise.
* tests/vala4.test: Likewise.
* tests/vala5.test: Likewise.
* lib/Automake/tests/Condition.pl: Likewise.
* lib/Automake/tests/Condition-t.pl: Likewise.
* lib/Automake/tests/DisjConditions.pl: Likewise.
* lib/Automake/tests/DisjConditions-t.pl: Likewise.
* lib/Automake/tests/Version.pl: Likewise.
* lib/Automake/tests/Wrap.pl: Likewise.
* lib/Automake/tests/Cond2.pl: Add copyright notice.
* lib/Automake/tests/Cond3.pl: Likewise.
* lib/Automake/tests/DisjCon2.pl: Likewise.
* lib/Automake/tests/DisjCon3.pl: Likewise.
* lib/Automake/tests/Version2.pl: Likewise.
* lib/Automake/tests/Version3.pl: Likewise.
|
|
a3f66de9
|
2011-12-24T11:05:24
|
|
Merge branch 'master' into testsuite-work
* master:
gitignore: use only one .gitignore file, in the top-level directory
tests: one more fixlet for gettext macros requirement
tests: fix handling of gettext macros requirement
|
|
e3351076
|
2011-12-24T10:53:41
|
|
Merge branch 'maint'
* maint:
gitignore: use only one .gitignore file, in the top-level directory
tests: one more fixlet for gettext macros requirement
tests: fix handling of gettext macros requirement
tests: fix failure due to debugging code forgotten into a test
|
|
d2fc8246
|
2011-12-24T10:45:46
|
|
Merge branch 'maint' into msvc
* maint:
gitignore: use only one .gitignore file, in the top-level directory
tests: one more fixlet for gettext macros requirement
tests: fix handling of gettext macros requirement
|
|
bfc83bde
|
2011-12-24T10:43:26
|
|
gitignore: use only one .gitignore file, in the top-level directory
* doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
lib/Automake/tests/.gitignore, tests/.gitignore: Deleted, their
contents merged into ...
* .gitignore: ... this top-level file. Since we are at it, improve
it by anchoring files where it makes sense.
|
|
54af9ca8
|
2011-12-23T13:41:11
|
|
Merge branch 'maint' into msvc
* maint: (56 commits)
tests: fix failure due to debugging code forgotten into a test
tests: avoid spurious failure of libtool and gettext tests
hacking: distribute it, and mention it in the ChangeLog
regex: deprecate the obsolete macro AM_WITH_REGEX
maint: distribute .xz tarballs, not .bz2 ones
maint: better use of autoconf 2.68 features
cosmetics: use proper m4 quoting in configure.ac
include: avoid "deleted .am file" problem
tests: better handling of gettext and libtool requirements
fix: typos and grammaros in comments of the new test
tests: report useful system information in 'test-suite.log'
python: remove relics for Python 1.5 support
configure: remove extraneous 'eval's from AM_RUN_LOG invocations
configure: report TeX version in config.log
maint: snapshots from `maint' are still development snapshots
configure: print proper message for test releases
devel: help in comparing Makefile.in from different commits
repo: don't commit generated files in the git repository anymore
maint: remove executable bit from automake.in
missing: don't try to re-run tar with a munged command line
...
|
|
23acc630
|
2011-12-23T10:15:29
|
|
Merge branch 'master' into testsuite-work
* tests/gettext-macros.test: In the generated `get.sh' file,
use `skip_all_', not `skip_'.
* tests/libtool-macros.test: Likewise.
* tests/list-of-tests.mk: Update.
|
|
72c8dcb2
|
2011-12-22T22:16:12
|
|
Merge branch 'maint' into master.
* m4/regex.m4: Bump serial number by some notches, for good
measure. Prefer the deprecation message from maint over that
from master.
* m4/python.m4: Bump serial number.
* tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'.
(canon7.log): Likewise.
(extradep2.log): Likewise.
(ar-lib4.log): Likewise.
(ar-lib6a.log): Likewise.
(ar-lib6b.log): Likewise.
(vartypo2): Likewise.
(posixsubst-ltlibraries.log): Likewise.
* tests/defs: Adjust the path of the included `get.sh' scripts
generated by `libtool-macros.test' and `gettext-macros.test'.
* aclocal.m4: Delete, it's auto-generated now.
* configure: Likewise.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
* m4/Makefile.in: Likewise.
* tests/Makefile.in: Likewise.
* lib/Makefile.in: Likewise.
* lib/am/Makefile.in: Likewise.
* lib/Automake/Makefile.in: Likewise.
* lib/Automake/tests/Makefile.in: Likewise.
* .gitignore: Correctly ignored the autogenerated files
that are not committed anymore.
|
|
e9150626
|
2011-12-08T22:54:18
|
|
repo: don't commit generated files in the git repository anymore
It has been quite some time since autoconf and libtool have stopped
committing the generated autotools files in their git repositories,
with no significant ill effects we're aware of. It's true that the
autoconf bootstrap process has now the minor annoyance that a
pre-installed autoconf is required to complete it; but luckily
automake will not have a similar annoyance, since our bootstrap
script take care, through some hoops, to use the very automake and
aclocal versions from the current git checkout to generate the
required aclocal.m4 and Makefile.in files. In fact, this has been
a necessity also in the past, because automake has been known to
use in its own build system new development features that hadn't
been present in any previously released automake distribution.
* aclocal.m4: Delete.
* configure: Likewise.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
* lib/Automake/Makefile.in: Likewise.
* lib/Automake/tests/Makefile.in: Likewise.
* lib/Makefile.in: Likewise.
* lib/am/Makefile.in: Likewise.
* m4/Makefile.in: Likewise.
* tests/Makefile.in: Likewise.
* .gitignore: Ignore configure, aclocal.m4, and all the
Makefile.in files.
* configure.ac (AC_PREREQ): New macro call, to require the
latest autoconf (2.68 for the moment).
|
|
8c9642ae
|
2011-11-05T11:52:55
|
|
Merge branch 'master' into testsuite-work
Commits merged from master:
- test defs: new functions to analyze configure help screen
- warnings: fix buglets for portability warnings
- tests: extend tests on 'extra-portability' warning category
Extra edits to the testsuite:
* tests/extra-portability.test: Use `$am_original_AUTOMAKE'
instead of the obsolete `$original_AUTOMAKE'.
* tests/extra-portability3.test: Likewise.
* tests/list-of-tests.mk: Update.
|