Edit

kc3-lang/automake/PLANS/subdir-objects.txt

Branch :

  • Show log

    Commit

  • Author : Paul Eggert
    Date : 2017-09-16 13:03:36
    Hash : 199e7a44
    Message : Prefer https: URLs In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.

  • PLANS/subdir-objects.txt
  • 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: <https://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:
    
      <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
      <https://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 1.16 (*before* 2.0 can be released)
    ------------------------------------------------
    
    Submit the pending patch series that fixes https://debbugs.gnu.org/13928
    
    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.