mirror of
https://https.git.savannah.gnu.org/git/automake.git
synced 2026-01-26 15:03:22 +00:00
63 lines
2.5 KiB
Plaintext
63 lines
2.5 KiB
Plaintext
Summary
|
|
-------
|
|
|
|
We want to make the behaviour currently enabled by the 'subdir-objects'
|
|
the default one, and in fact the *only* one, in Automake 2.0.
|
|
See automake bug#13378: <http://debbugs.gnu.org/13378>.
|
|
|
|
Details
|
|
-------
|
|
|
|
The fact that Automake-generated Makefiles place compiled object files in
|
|
the current directory by default, also when the corresponding source file
|
|
is in a subdirectory, is basically an historical accident, due to the fact
|
|
that the 'subdir-objects' option had only been introduced in April 1999,
|
|
starting with commit 'user-dep-gen-branchpoint-56-g88b5959', and never
|
|
made the default (likely to avoid backwards-compatibility issues).
|
|
|
|
Since I believe the behaviour enabled by the 'subdir-objects' is the most
|
|
useful one, and in fact the *only* natural one, I'd like to make it the
|
|
only one available, simplifying the Automake implementation and APIs a
|
|
little in the process.
|
|
|
|
Alas, since this also means changing the default behaviour of Automake
|
|
('subdir-objects' is not enabled by default, sadly), this means the
|
|
transition path will be less smooth than I'd like.
|
|
|
|
DONE for automake 1.13.2
|
|
------------------------
|
|
|
|
The bug spotted by Nick Bowler:
|
|
|
|
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
|
|
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44>
|
|
|
|
and exposed in test case 't/ccnoco4.sh' has been fixed (see commit
|
|
v1.13.1-56-g34001a9). The bug was due to the fact that Automake-generated
|
|
C compilation rules mistakenly passed the "-c -o" options combination
|
|
unconditionally (even to losing compiler) when the 'subdir-objects' was
|
|
used but sources were only present in the top-level directory.
|
|
|
|
DONE for automake 1.14
|
|
----------------------
|
|
|
|
We give a warning in the category 'unsupported' if the 'subdir-objects'
|
|
option is not specified. This should give the users enough forewarning
|
|
about the planned change, and give them time to update their packages
|
|
to the new semantic.
|
|
|
|
We also make sure to avoid the warning when it would be irrelevant, i.e.,
|
|
if all source files sit in "current" directory (thanks to Peter Johansson
|
|
for suggesting this).
|
|
|
|
For automake 2.0
|
|
----------------
|
|
|
|
Make the behaviour once activated by the 'subdir-object' option mandatory.
|
|
With that change, we'll drop support for the "old" behaviour of having
|
|
object files derived from sources in a subdirectory being placed in the
|
|
current directory rather than in that same subdirectory.
|
|
|
|
Still keep the 'subdir-objects' option supported (as a simple no-op
|
|
now), to save useless churn in our user's build systems.
|