• Show log

    Commit

  • Hash : a4b0f4b5
    Author : Stefano Lattarini
    Date : 2012-04-01T11:48:47

    maint: remove most recursion in automake's own build system
    
    Recursive make-based build systems tend to be slower, more fragile
    and less faithful than "flat" ones.  See Peter Miller's article
    "Recursive Make Considered Harmful" for more a more in-depth
    discussion:
    
        <http://miller.emu.id.au/pmiller/books/rmch/>
    
    While in the case of automake this isn't a big problem (given the
    small size of its build systems), it still creates occasional
    glitches and annoyances.
    
    With this change, the use of recursion in Automake's own build
    system is eliminated *but for the testsuite*.  Converting that
    is a little more tricky, and better left for a later change (or
    series of changes).
    
    See also commit v1.11-769-gfeeb7f6 of 28-03-2012.
    
    * contrib/Makefile.am, lib/Makefile.am, m4/Makefile.am,
    doc/Makefile.am:  Removed, their content merged ...
    * Makefile.am: ... here, with required adjustments and few
    other "opportunistic" changes.
    (SUBDIRS): Update.
    * configure.ac (AC_CONFIG_FILES): Likewise.
    * .gitignore: Likewise.
    
    Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
    

  • README

  • This is the 'contrib' directory of the GNU Automake distribution.
    
    Here you'll find additions to the Automake base distribution, in form of
    makefile fragments, m4 macros, scripts, documentation, et cetera.  Such
    addition that might be useful for a significant percentage of its general
    audience, but (for one reason or another) are not deemed appropriate for
    inclusion into the Automake core.
    
    There are several reasons for which a feature can be kept in contrib:
    
      1. The long-term usefulness of the feature is debatable and uncertain;
         on-field and real-word testing are necessary to prove or disprove
         its usefulness, before the feature can be committed into the Automake
         core (as doing so too early would later force us to continue the
         support for backward-compatibility, even if the features proves
         flawed or fails to attract widespread use).
    
      2. The APIs or overall design of the feature are still unstable, and
         need on-field testing to iron warts and usability bugs, or uncover
         potential flaws.
    
      3. The feature was an historical one, mostly obsoleted but still used
         "here and there" in the wild; so we want to to deprecate it and
         remove it from the Automake core, but cannot remove it altogether,
         for the sake of those still-existing usage.  So it gets moved in
         contrib.