diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2015-01-06 11:26:48 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2015-01-06 11:26:48 +0100 |
commit | 92ed3be97837a3de1634a13959c70c686b17d38d (patch) | |
tree | 3e675a2453cff5a777554c85c722aab685e3d346 /NEWS | |
parent | 93855f67e885ce4c16e0c71728e1ff3e6b2e64b9 (diff) | |
parent | 08849db866b44510f6b8fd49e313c91a43a3dfd3 (diff) | |
download | automake-92ed3be97837a3de1634a13959c70c686b17d38d.tar.gz |
Merge branch 'deps-pr13928' into minor
* deps-pr13928:
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)
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -62,6 +62,49 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +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: |