summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2015-01-06 22:03:06 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2015-01-06 22:43:20 +0100
commit8f3a565e9a708298be5e6fa136210c3ef4f5163d (patch)
tree7776ec837bb30604786784d7ddb4b87c8d145d69 /NEWS
parent9fb499a9b6f4ee175ba8a8d7d00bd756e4242173 (diff)
parent6357a630dc3cac6682a0f17b255104b4dd78f89a (diff)
downloadautomake-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--NEWS45
1 files changed, 44 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 7cdf3049e..539ce0f4a 100644
--- a/NEWS
+++ b/NEWS
@@ -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).