[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, experimental/ng/distdir-ref
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, experimental/ng/distdir-refactor, created. v1.12-196-gcb5e1b1 |
Date: |
Sun, 06 May 2012 17:00:37 +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=cb5e1b1efe3010a795cb0c45e56080316c93a4da
The branch, experimental/ng/distdir-refactor has been created
at cb5e1b1efe3010a795cb0c45e56080316c93a4da (commit)
- Log -----------------------------------------------------------------
commit cb5e1b1efe3010a795cb0c45e56080316c93a4da
Author: Stefano Lattarini <address@hidden>
Date: Fri May 4 02:26:30 2012 +0200
[ng] dist: optimize calculation of list of distributed file
Our implementation of the $(am__uniq) make function is slow as
hell when applied to big lists. Since that function is used to
(re)calculate the list of distributed files, its inefficiency
reflects on *every* run of a Makefile generated by Automake which
distributes a lot of file. For example, a null build of the
Automake tree now takes 20 seconds (!) on my Debian system, while
earlier it was practically instantaneous (less than half a second).
Luckily, the GNU make manual documents that the $(sort) built-in
also strip duplicates from the sorted list. Since we don't care
about the order of the distributed files (or directories thereof),
we can use $(sort ...) instead of $(call am__uniq, ...), and live
happily.
* lib/am/distdir.am (am__dist_files)_: Uniqify content using
'$(sort)', not '$(am__uniq)'.
(am__dist_parent_dirs): Likewise.
Signed-off-by: Stefano Lattarini <address@hidden>
commit c62b42b64c588c98d9b1f370d208056e82b39d8b
Author: Stefano Lattarini <address@hidden>
Date: Thu May 3 18:56:57 2012 +0200
[ng] dist: rename some non-public vars to make clear they are internal
The variable $(DISTFILES), $(DIST_COMMON) and $(DIST_SOURCES) have never
been documented, and they were always intended to be internal variables.
This is absolutely not evident from their names, though. So rename them
like this:
DISTFILES => am__dist_files
DIST_COMMON => am__dist_common
DIST_SOURCES => am__dist_sources
* NG-NEWS: Update.
* automake.in: Adjust code and comments.
* lib/am/configure.am, lib/am/data.am, lib/am/java.am, lib/am/lisp.am,
lib/am/python.am, lib/am/scripts.am, lib/am/texi-vers.am: Likewise.
* lib/am/distdir.am: Likewise, and related variable renamings.
And throw in a few improvements to comments since we are at it.
* Several tests: Adjust.
* syntax-checks.mk: Add rules (and supporting variables) verifying
that the obsolete 'DIST*' variables are actually not used anymore.
Signed-off-by: Stefano Lattarini <address@hidden>
commit 42b0536dcc6327b3f09f711671847ac7db879d8c
Author: Stefano Lattarini <address@hidden>
Date: Thu May 3 18:56:57 2012 +0200
[ng] dist: strip duplicates from dist files at make (not automake) runtime
We can do this thanks to the new make macros '$(am__uniq)' introduced in
the recent commit 'v1.12-145-g112d08a'.
* automake.in (handle_dist): Don't "uniq"ify the contents of DIST_COMMON
here, but instead ...
* lib/am/distdir.am: ... "uniq"ify the contents of DISTFILES here.
* t/dist-repeated.sh: Remove sanity check checking for a once expected
invariant that is not there anymore now.
* t/distcom4.sh, t/distcom5.sh: Adjust.
Signed-off-by: Stefano Lattarini <address@hidden>
commit d5514ad9e26788c55d802487272a24d5ef7d6776
Author: Stefano Lattarini <address@hidden>
Date: Tue Apr 24 19:50:00 2012 +0200
[ng] dist: simplify VPATH handling
Now that we don't need to cater to Sun and Tru64 make, we can simplify
and rationalize our VPATH support in the creation of the distribution
directory. Since we are at it, we clarify some existing comments, add
some new ones, and remove the obsolete ones.
This change has a little collateral effect in that after it the use of
"bare" wildcards in EXTRA_DIST does not work as intended anymore:
# Won't distribute all test files in the builddir anymore.
EXTRA_DIST = *.test
One will have to use the $(wildcard) GNU make builtin instead, as in:
EXTRA_DIST = $(wildcard *.test)
This new limitation is deemed acceptable, especially because "bare"
wildcards suffer of a number of issues and inconsistencies, and their
use is mostly deprecated in favor of the $(wildcard) builtin (refer
to the GNU make manual for more details).
* lib/am/distdir.am (distdir): Extend the comments explaining why, while
filling up the dist directory, we need to check whether any distributed
file already exists in there; in particular, refer to some relevant bug
numbers and past commit IDs. Remove workarounds and hack required to
support automatic VPATH rewrites with Sun and Tru64 make. Refactor the
recipe using ...
(am__dist_files_1, am__dist_files_2, am__dist_files,
am__dist_parent_dirs): This new internal custom GNU make macros.
* NG-NEWS: Document that "bare" wildcards are not supported anymore
in EXTRA_DIST definition.
* t/extra12.sh: Adjust accordingly.
* t/nodep.sh: Remove, it's giving too much false positives to be
usable.
* t/dist-srcdir.sh: New test.
* t/dist-srcdir2.sh: New test, xfailing.
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/distdir-refactor, created. v1.12-196-gcb5e1b1,
Stefano Lattarini <=