• Show log

    Commit

  • Hash : 6a675ef1
    Author : Stefano Lattarini
    Date : 2014-12-24T10:57:17

    deps: 'subdir-object' option now works when foo_SOURCES contains $(var)
    
    Following a suggestions of Johan Kristensen, we have config.status use
    'make' invocations rather than Makefile-parsing 'sed' hacks to bootstrap
    the dependency-tracking '.Po' and '.Plo' makefile fragments. To handle
    the inclusion of such files that are still missing when make is first
    we basically generate a temporary Makefile without these includes, and
    call 'make' on that Makefile.
    
    This fixes the serious bug bug#13928, which was an hard blocker to make the
    behavior mandated by the 'subdir-object' active by default (which we want
    to do in Automake 2.0).
    
    The issue has also been reported in bug#15919.
    
    * NEWS, THANKS: Update.
    * bin/automake.in (handle_languages): Add a trailing "marking" comment
    ("# am--include-marker") to the generated Makefile lines issuing 'include'
    directives for the dependency-tracking '.Po' and '.Plo' makefile fragments.
    Also rename the generated Makefile variable 'am__depfiles_maybe' to the
    clearer 'am__maybe_remake_depfiles'.
    Minor unrelated refactoring.
    * lib/am/configure.am: Adjust to account for the 'am__depfiles_maybe' ->
    'am__maybe_remake_depfiles' renaming.
    * lib/am/depend.am: Add rules to generate a dummy version of all the
    dependency-tracking '.Po' and '.Plo' makefile fragments.
    * m4/depout.m4: Use make invocations rather than Makefile-parsing sed hacks
    to bootstrap the dependency-tracking '.Po' and '.Plo' makefile fragments.
    We still use some sed trickery in order to remove the inclusion of the
    still non existing .Po and .Plo files from the Makefile we invoke make
    upon; this is done stripping lines that contain the magic string
    "# am--include-marker".
    * m4/make.m4 (AM_MAKE_INCLUDE): Given that now automake generates Makefiles
    containing include statements with trailing comment, adjust the checks done
    here to make sure $MAKE support that; e.g., "include foo.mk # comment"
    rather than just "include foo.mk".
    Also refactor and adjust to leave better debugging info in config.log.
    * t/postproc.sh: Rename ...
    * t/depend-postproc.sh: ... to this, and adjust and enhance.
    * t/list-of-tests.mk (handwritten_TESTS): Adjust.
    (XFAIL_TESTS): Remove 't/subobj-indir-pr13928.sh', which is now succeeding.
    * t/subobj-indir-pr13928.sh: Simplify slightly, now that we expect it to
    pass.
    * t/depcomp8a.sh: Adjust grepping check to account for the changes in
    the generated Makefile, and tp be somewhat more robust in light of possible
    future modifications.
    * t/depcomp8b.sh: Likewise.
    * t/subobj11b.sh: Likewise.
    * t/subobj11c.sh: Likewise.
    * t/extra-sources.sh: Likewise.
    * t/lex-depend-grep.sh: Likewise.
    * t/lex-depend-cxx.sh: Add a command to help debugging in case of test
    failure.
    
    Helped-by: Johan Kristensen <johankristensen@gmail.com>
    Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>