[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-150-g7386b04 |
Date: |
Fri, 04 May 2012 17:33:06 +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=7386b04cf1cde91882406561577edea8e0c23e0d
The branch, experimental/ng/distdir-refactor has been created
at 7386b04cf1cde91882406561577edea8e0c23e0d (commit)
- Log -----------------------------------------------------------------
commit 7386b04cf1cde91882406561577edea8e0c23e0d
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 a968a729339a5ba138434d4a562b19c7ed8501de
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 a539036960b7457f6f4d9e9a220dcc35a1b617ab
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 fc79801ba4ee3086f4a0e60de575e6473672742d
Author: Stefano Lattarini <address@hidden>
Date: Thu May 3 17:30:56 2012 +0200
[ng] dist: don't bother putting README first in $(DIST_COMMON)
Comments on some of our automake-time pre-processing of $(DIST_COMMON)
said that it was done in order to "put README first because it then
becomes easier to make a Usenet-compliant shar file". But such a
format is hardly relevant anymore, and not worth the (albeit small)
added complexity.
* automake.in (handle_dist): Don't sort @dist_common.
(for_dist_common): Delete this function, is not used anymore.
* lib/am/distdir.am (DISTFILES): Remove obsolete comment.
Signed-off-by: Stefano Lattarini <address@hidden>
commit 40d5ad36c6094edb2d902fac618b7e88b2f715df
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, still 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-150-g7386b04,
Stefano Lattarini <=