[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, dist-refactor, created. v1.

From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, dist-refactor, created. v1.11-1226-gd00899b
Date: Wed, 12 Oct 2011 19:08:12 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".;a=commitdiff;h=d00899b78a705f0d45cad78f8fcc465275c1aff6

The branch, dist-refactor has been created
        at  d00899b78a705f0d45cad78f8fcc465275c1aff6 (commit)

- Log -----------------------------------------------------------------
commit d00899b78a705f0d45cad78f8fcc465275c1aff6
Author: Stefano Lattarini <address@hidden>
Date:   Sat Oct 8 21:03:43 2011 +0200

    tests: fix spurious failure with Solaris /bin/sh
    * tests/dist-auxfile.test: Don't use redirected `:' in a loop,
    it hits a bug in Solaris 10 /bin/sh.

commit f672944356eaaf47b1cdb3a167431ec33a3f6b9c
Author: Stefano Lattarini <address@hidden>
Date:   Sat Oct 8 17:27:42 2011 +0200

    threaded-am: better serialization for required config files
    With this change, we make serialization/de-serialization of
    required config files installs more granular, and in the process
    fix the bug introduced by commit `v1.11-1219-g326ecba'.
    * ($required_conf_file_queue): Move its declaration
    (require_file_internal): Add a new argument telling whether the
    function should act immediately or queue its action for the master
    thread to handle.
    (queue_required_conf_file): Renamed ...
    (queue_required_file_check_or_copy): ... to this.
    (require_queued_conf_file): Renamed ...
    (require_queued_file_check_or_copy): ... to this, and make it call
    `required_file_check_or_copy' instead of `require_file_internal'.
    (require_conf_file, handle_makefiles_threaded): Adjust and simplify
    * tests/ (XFAIL_TESTS): Remove `parallel-am.test'.

commit 75ce360ef4fde820ba6f1f974c6a1a9911b68461
Author: Stefano Lattarini <address@hidden>
Date:   Fri Oct 7 21:58:20 2011 +0200

    automake: refactor, break up 'require_file_internal'
    This refactoring is only required in view of future changes.
    * (require_file_internal): Move the guts of this
    function ...
    (required_file_check_or_copy): ... into this new function.  This
    ensures that calls to `push_required_file' and code that copies
    required files are placed in separate functions; this will be
    very useful for reorganizing de-serialization of file installs
    in future changes.

commit 7318775d14414207c3254775b4d1232cf09e602b
Author: Stefano Lattarini <address@hidden>
Date:   Fri Oct 7 20:53:08 2011 +0200

    dist: separate auxiliary file instantiation from DIST_COMMON update
    This change simplifies the automake internals dealing with the
    checking, copying and distributing of required auxiliary files.
    With this change, a required auxiliary file is *unconditionally*
    added to the contents of the DIST_COMMON variable in the generated, before checking whether it exists, or trying to copy
    it (if `--add-missing' is in use).  This shouldn't be a problem,
    since if the checking or copying of the file fails, automake will
    bail out, the won't be created, and thus its content
    will not matter.  OK, this is not completely true when threaded
    automake is in use, but then, such a situation was also possible
    before this patch, so no regression here, which is enough for us.
    This change is the first of a series of steps aimed at fixing
    the regression introduced in threaded automake usage by commit
    * (require_file_internal): Add the required file to
    DIST_COMMON unconditionally.
    * tests/missing-auxfile-stops-makefiles-creation.test: New test.
    * tests/ (TESTS): Add it.

commit 6571c2fd4e7eca643f7d994efad52a4120118ccc
Author: Stefano Lattarini <address@hidden>
Date:   Fri Oct 7 15:49:17 2011 +0200

    refactor: rename a subroutine to a more proper name
    * (maybe_push_require_file): Renamed ...
    (push_required_file): ... to this.
    All callers adjusted.

commit dccae6a9e49b6554b5026883ce0fc38136e59d53
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 6 13:20:57 2011 +0200

    dist: truly always distribute files in AC_REQUIRE_AUX_FILE
    This change fixes automake bug#9651.
    * (handle_dist): Files whose distribution is required
    by are now correctly distributed even if the build-aux
    directory coincides with the top-level directory.
    * tests/ (XFAIL_TESTS): Remove `dist-auxfile.test'.
    * NEWS: Update.

commit 851b1ae2eb3b3654c882f59f509ec9d2ac6ebffd
Author: Stefano Lattarini <address@hidden>
Date:   Sun Oct 2 10:38:48 2011 +0200

    dist: simplify automake code accordingly to the previous changes
    After the previous change `v1.11-1219-g326ecba', every
    requiring a file in the "config auxdir" will cause it to be listed
    in the DIST_COMMON variable of the corresponding generated, not only of the top-level  Thus we don't
    need to worry anymore about trying to distribute files in the
    config auxdir from the top-level Makefile or the Makefile in
    config auxdir (if any).  This allows us to carry out some useful
    simplifications in the automake script.
    This will however cause some changes in the generated Makefile;
    for example, if the `PROGRAMS' primary is used only in a subdir, the `depcomp' script will be distributed only by
    `subdir/Makefile', not by the top-level Makefile.  This change
    can be seen as an internal detail though, and definitely warranted
    by the nice simplifications the current commit provides.
    * ($automake_will_process_aux_dir): Variable removed.
    (scan_autoconf_files): Adjust and simplify.
    (handle_makefiles_threaded): Likewise.
    (get_number_of_threads): Likewise.
    (require_file_internal): Likewise.
    (maybe_push_required_file): Its return value is not used anymore,
    so return nothing.  Add special handling for distributed files from
    `$config_libobj_dir'.  Also, catch "this can't happen" situations,
    and abort accordingly.  Fix function description to better fit its
    new role.
    * tests/libobj19.test: Extend to also check situations where the using $(LIBOBJS) is not the top-level one.
    * tests/distcom6.test: Delete, merged into ...
    * tests/distcom2.test: ... this test, which has been update to
    account for the changed automake semantics.
    * tests/ (TESTS): Update.
    * NEWS: Update.

commit 326ecba2f886bac40063d8d14d99065bc15317af
Author: Stefano Lattarini <address@hidden>
Date:   Fri Sep 30 12:12:43 2011 +0200

    dist: auxiliary files can be distributed from subdir Makefiles
    With this change, we make it possible for a subdir
    to distribute files in the config auxdir; while this means that
    some files might be copied multiple times, it simplify some logic
    in the automake script, and fix at least one important bug.  In
    fact, before this change, the auxiliary script `test-driver' was
    not being distributed as expected when TESTS was defined only in
    a subdir Makefile (which is a pretty common setup indeed).  Now
    this does not happen anymore: so the present change fixes automake
    Another welcome collateral effect is that `dist-auxfile-2.test'
    now passes.
    OTOH, the present changes *breaks threaded automake*.  The reason
    is that automake needs to serialize file installations spawned
    by `--add-missing' (this isn't for cosmetic reasons, but is
    really needed to avoid possible race conditions and botched output
    files).  Currently the code that installs required files is
    intertwined with the code that declares the DIST_COMMON variables;
    so, upon de-serialization, the definition of DIST_COMMON might get
    emitted in the wrong
    Some follow-up refactoring in automake will soon take care of
    remedying this situation.  For the moment, we just declare some
    "parallel-am" tests as xfailing.
    * (maybe_push_required_file): Add ad-hoc handling for
    the case where the directory part of the required file is different
    from the subdir where the current resides, but is equal
    to the "config-aux directory" ($config_auxdir).  This is needed to
    allow a construct in a non-top-level to require a file
    in the config-aux directory.
    * tests/test-driver-is-distributed.test: Extend and adjust.  This
    test now passes.
    * tests/java-compile-run-nested.test: Call automake with the `-a'
    option to ensure that the `test-driver' auxiliary script gets
    correctly installed.  This test now passes.
    * tests/distcom-subdir.test: New test.
    * tests/dist-readonly.test: Likewise.
    * tests/dist-repeated.test: Likewise.
    * tests/dist-auxdir-many-subdirs.test: Likewise.
    * tests/distcom7.test: Removed, it's obsolete now.
    * tests/ (TESTS, XFAIL_TESTS): Update.


GNU Automake

reply via email to

[Prev in Thread] Current Thread [Next in Thread]