diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2015-01-06 22:03:06 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2015-01-06 22:43:20 +0100 |
commit | 8f3a565e9a708298be5e6fa136210c3ef4f5163d (patch) | |
tree | 7776ec837bb30604786784d7ddb4b87c8d145d69 /NEWS | |
parent | 9fb499a9b6f4ee175ba8a8d7d00bd756e4242173 (diff) | |
parent | 6357a630dc3cac6682a0f17b255104b4dd78f89a (diff) | |
download | automake-8f3a565e9a708298be5e6fa136210c3ef4f5163d.tar.gz |
Merge branch 'master' into ng/master (bug#13928 fixed by this)
Part of this merge is actually a no-op, since we had already fixed
Automake-NG so that the 'subdir-object' option (enabled by default)
would work when foo_SOURCES contains $(var).
OTOH, even Automake-NG suffered of the bug where built object files,
as well as dependency-tracking makefile fragments, could be placed
in $(srcdir) when a source file was specified as '$(srdir)/foo.c' or
'$(top_srcdir)/bar.c'. See bug#16375 and bug#15293.
* master:
deps: fix corner-case "make distclean" bug
compile: don't place built object files in $(srcdir), ever ...
tests: fix some bugs in an XFAILing test
deps: 'subdir-object' option now works when foo_SOURCES contains $(var)
NEWS: fix a typo
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 45 |
1 files changed, 44 insertions, 1 deletions
@@ -140,6 +140,49 @@ New in 2.0: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +New in 1.16: + +* Bugs fixed: + + - Automatic dependency tracking has been fixed to work also when the + 'subdir-object' option is used and some 'foo_SOURCES' definition + contains unexpanded references to make variables, as in, e.g.: + + a_src = sources/libs/aaa + b_src = sources/bbb + foo_SOURCES = $(a_src)/bar.c $(b_src)/baz.c + + With such a setup, the created makefile fragment containing dependency + tracking information will be correctly placed under the directories + named 'sources/libs/aaa/.deps' and 'sources/bbb/.deps', rather than + mistakenly under directories named (literally!) '$(src_a)/.deps' and + '$(src_b)/.deps' (this was the first part of automake bug#13928). + + Notice that in order to fix this bug we had to slightly change the + semantics of how config.status bootstraps the makefile fragments + required for the dependency tracking to work: rather than attempting + to parse the Makefiles via grep and sed trickeries only, we actually + invoke 'make' on a slightly preprocessed version of those Makefiles, + using a private target that is only meant to bootstrap the required + makefile fragments. + + - The 'subdir-object' option no longer causes object files corresponding + to source files specified with an explicit '$(srcdir)' component to be + placed in the source tree rather than in the build tree. + + For example, if Makefile.am contains: + + AUTOMAKE_OPTIONS = subdir-objects + foo_SOURCES = $(srcdir)/foo.c $(srcdir)/s/bar.c $(top_srcdir)/baz.c + + then "make all" will create 'foo.o' and 's/bar.o' in $(builddir) rather + than in $(srcdir), and will create 'baz.o' in $(top_builddir) rather + than in $(top_srcdir). + + This was the second part of automake bug#13928. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + New in 1.15: * Improvements and refactorings in the install-sh script: @@ -160,7 +203,7 @@ New in 1.15: * Automake-generated testsuites: - - The default test-driver used by the Automake-generates testsuites + - The default test-driver used by the Automake-generated testsuites now appends the result and exit status of each "plain" test to the associated log file (automake bug#11814). |