summaryrefslogtreecommitdiff
path: root/PLANS
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2013-01-09 19:57:27 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2013-01-09 19:57:54 +0100
commit6b31158c5930ef8ba357e07d28ca56ff6104278e (patch)
treea000e7ee72f820945e55d8760fc178723dad8ed3 /PLANS
parent8971d23fb05a19fcb75a7b8c4c66cf402b1037a4 (diff)
downloadautomake-6b31158c5930ef8ba357e07d28ca56ff6104278e.tar.gz
plans: we want to active subdir-objects unconditionally in automake 1.14
See automake bug#13378. * PLANS/subdir-objects.txt: New. * t/ccnoco4.sh: Improve heading comments a little. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 'PLANS')
-rw-r--r--PLANS/subdir-objects.txt67
1 files changed, 67 insertions, 0 deletions
diff --git a/PLANS/subdir-objects.txt b/PLANS/subdir-objects.txt
new file mode 100644
index 000000000..e3aec6be8
--- /dev/null
+++ b/PLANS/subdir-objects.txt
@@ -0,0 +1,67 @@
+Summary
+-------
+
+We want to make the behaviour currently enabled by the 'subdir-objects'
+the default one, and in fact the *only* one, in Automake 1.14.
+See automake bug#13378: <http://debbugs.gnu.org/13351>.
+
+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.
+
+For automake 1.13.2 (ASAP)
+--------------------------
+
+Fix 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': currently, Automake-generated
+C compilation rules mistakenly pass the "-c -o" options combination
+unconditionally (even to losing compiler) when the 'subdir-objects' is
+used but sources are only present in the top-level directory.
+
+For automake 1.13.2 (with more ease)
+------------------------------------
+
+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.
+
+This warning, when there are C sources in subdirs, should also mention the
+need to use AM_PROG_CC_C_O in configure.ac (thanks to Peter Breitenlohner
+for suggesting this). This is not strictly required, but will make
+things a little simpler for the users, by giving a more complete feedback:
+<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#29>
+
+Be 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 1.14
+-----------------
+
+Flip the 'subdir-object' option on by default. At the same time,
+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-object' option supported (as a simple no-op
+now), to save useless churn in our user's build systems.