[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, experimental/ng/no-suffixe-
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, experimental/ng/no-suffixe-rules, created. v1.12-208-g8210a46 |
Date: |
Thu, 10 May 2012 10:50:10 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".
http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=8210a464d93f8861cee0d984546f75efcc2f82eb
The branch, experimental/ng/no-suffixe-rules has been created
at 8210a464d93f8861cee0d984546f75efcc2f82eb (commit)
- Log -----------------------------------------------------------------
commit 8210a464d93f8861cee0d984546f75efcc2f82eb
Author: Stefano Lattarini <address@hidden>
Date: Wed May 9 17:57:59 2012 +0200
rules: prefer pattern rules over old-fashioned suffix rules
Pattern rules are cleaner, safer, and vouched for in the GNU make manual
itself. Supporting them instead of suffix rules will also allow us to
simplify a little the automake script, auxiliary perl modules, and
documentation.
This change introduces a slight backward-incompatibility now, in that
user provided definitions of the SUFFIXES variable or of the .SUFFIXES
target, as well as old-fashioned suffix rules, are now rejected.
Automake-NG still tries to parse and understand suffix-based pattern
rules though, to retain support for user-added file extensions in the
_SOURCES variables (see "Handling new file extensions" in the Automake
manual).
So, an usage like:
SUFFIXES = .baz .c
.baz.c:
cp $< $@
foo_SOURCES = foo.c bar.baz
DISTCLEANFILES = bar.c
which was valid with mainline Automake, should be translated for
Automake-NG as:
%.c: %.baz
cp $< $@
bin_PROGRAMS = foo
foo_SOURCES = foo.c sub/bar.baz
DISTCLEANFILES = bar.c
Note that suffix-based pattern rules with dot-less suffix are *not*
supported.
* NG-NEWS: Update.
* lib/am/footer.am: Declare '.SUFFIXES:' with empty dependencies, to
neutralize the default suffix rules.
* automake.in (&handle_footer): Reject the 'SUFFIXES' variable. Don't
process its content anymore. Don't generate the .SUFFIXES special target
anymore.
(&var_SUFFIXES_trigger): Remove. And don't install it as an hook for the
now-deprecated 'SUFFIXES' variable.
* lib/Automake/Rule.pm (&define): Don't process old-fashioned suffix
rules specially, but just reject them. Instead, process pattern rules
specially.
($_SUFFIX_RULE_PATTERN): Made local to the '&define' function, renaming
it as '$suffix_rule_rx'.
(&suffixes, @_suffixes): Delete, they are no more used.
(@EXPORT): Adjust.
(register_suffix_rule): Don't extend '@_suffixes' anymore.
(reset): Don't reset '@_suffixes' anymore.
* t/ext3.sh: Remove as obsolete.
* t/suffix4.sh: Likewise.
* t/suffix6.sh: Likewise.
* t/suffix6b.sh: Likewise.
* t/suffix7.sh: Likewise.
* t/suffix11.tap: Likewise.
* t/suffix6c.sh: Rename ...
* t/suffix-obj.sh: .. like this, and adjust.
* t/suffix-chain.tap: Rewrite a as "simple" test (rather than as
a TAP test), adjust, and rename ...
* t/suffix-chain.sh: ... like this.
* t/suffix3.tap: Likewise rewrite and rename ...
* t/suffix3.sh: ... like this.
* t/suffix8.tap: Likewise rewrite and rename ...
* t/suffix8.sh: ... like this.
* t/suffix10.tap: Likewise rewrite and rename ...
* t/suffix10.sh: ... like this.
* t/suffix5.sh: Adjust.
* t/suffix9.sh: Likewise.
* t/suffix13.sh: Likewise.
* t/parallel-tests8.sh: Likewise.
* t/warnings-strictness-interactions.sh: Likewise.
* t/warnings-win-over-strictness.sh: Likewise.
* t/warnings-precedence.sh: Likewise.
* t/warnings-override.sh: Likewise.
* t/warning-groups-win-over-strictness.sh: Likewise.
* t/amopts-variable-expansion.sh: Likewise.
* t/specflg10.sh: Likewise.
* t/suffix-rules-reject.sh: New test.
Signed-off-by: Stefano Lattarini <address@hidden>
commit f691a0af64ebdfc4a81c47def1cb801c4a7d1dc0
Author: Stefano Lattarini <address@hidden>
Date: Thu May 10 10:24:55 2012 +0200
rules: can pass the deps to &Automake::Rule::define
This change is only useful in view of future changes.
* lib/Automake/Rule.pm (define): Add parameter '$deps' (still unused).
Adjust comments and POD documentation.
* automake.in (file_contents_internal, read_am_file) [/$RULE_PATTERN/]:
Also pass the list of dependencies to the 'Automake::Rule::define'
invocation.
Signed-off-by: Stefano Lattarini <address@hidden>
commit 3a08ae27276cc8237c5e61a70f875d43932d2dbe
Author: Stefano Lattarini <address@hidden>
Date: Wed May 9 14:04:31 2012 +0200
am: prefer pattern rules over old-fashioned suffix rules
The use of pattern rules is cleaner, safer, and vouched for in the
GNU make manual itself. Moreover, it will allow us to obtain some
simplifications in the automake script and the documentation in
future changes.
* lib/am/texinfos.am: Turn this suffix rules into pattern rules.
* lib/am/texibuild.am: Likewise.
* lib/am/depend2.am: Likewise.
* lib/am/yacc.am: Likewise.
* lib/am/lex.am: Likewise.
* lib/am/lang-compile.am: Likewise. Also, since we are at it, remove
extra blank lines and quote 'like this' rather than `like this'.
* t/ext.sh: Adjust.
* t/objc-basic.sh: Likewise.
* t/objcxx-basic.sh: Likewise.
* t/txinfo6.sh: Likewise.
* t/suffix.sh: Likewise.
* t/suffix2.sh: Likewise. Also, define a dummy LIBTOOL in Makefile.am
instead of requiring the libtool macros.
* t/cxx.sh: Remove as obsolete.
* t/nodep.sh: Likewise.
Signed-off-by: Stefano Lattarini <address@hidden>
-----------------------------------------------------------------------
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, experimental/ng/no-suffixe-rules, created. v1.12-208-g8210a46,
Stefano Lattarini <=