|
fcf2f560
|
2009-05-17T15:32:40
|
|
Revert Automake license to GPLv2+.
Automake will move to GPLv3+ once the Exception statement has
been rewritten to use the new GPLv3 exception language. This
change does not impact the COPYING file that may be installed
by `automake --add-missing'.
* COPYING: Revert to GPLv2. All uses changed.
* NEWS: Update.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
f51165dd
|
2008-11-12T07:07:31
|
|
Testsuite fixes for ksh.
* tests/check10.test: Add ':' as last command in subshell, for
zero exit status of the subshell.
* tests/parallel-am.test: Do not let failing 'unset' of
nonexistent variable exit the test.
* tests/parallel-am2.test: Likewise.
* tests/parallel-am3.test: Likewise.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
956cf31f
|
2008-11-02T22:52:27
|
|
Fix maintainer-check failure.
* tests/parallel-am.test: Rename variable to not match pattern
used in maintainer-check.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
6a0dc321
|
2008-10-26T20:49:26
|
|
Parallel automake --add-missing: serialized file installs.
* automake.in (QUEUE_CONF_FILE, QUEUE_LOCATION, QUEUE_STRING):
New serialization keys.
($required_conf_file_queue): New file global.
(queue_required_conf_file, require_queued_conf_file): New
functions, to queue and dequeue requirements for aux dir files.
(require_conf_file): Enqueue if needed.
(get_number_of_threads): Can do threads with --add-missing now.
(handle_makefiles_threaded): Let worker threads enqueue, let
master attend to queued requirements at the right time.
* tests/parallel-am.test: Explain the purpose of the include
chain used here.
* tests/parallel-am2.test: Also cope with --add-missing.
* tests/parallel-am3.test: New test, test absence of races with
concurrent same-file installs stemming from --add-missing.
* tests/Makefile.am: Adjust.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
3fd0df9b
|
2008-10-26T20:11:12
|
|
Parallel automake: ordered output messages.
* lib/Automake/Channels.pm (%_default_options): New options
`ordered' default enabled, `queue', default zero (no queue),
`queue_key' default undefined.
(_merge_options): Ensure `ordered' channels cannot have fatal
messages or backtrace output.
(_enqueue, _dequeue): New functions, to push messages onto a
Thread::Queue, and output messages from such a queue, suitably
weeded for duplicates in the same manner as _print_message.
(_print_message): If the channel is ordered and has an
associated queue, then enqueue messages instead of printing
them.
(setup_channel_queue, pop_channel_queue): New functions,
to set a Thread::Queue for channels, and to flush a queue.
* lib/Automake/ChannelDefs.pm: Unset channel option `ordered'
for fatal, automake, and verb channels.
* automake.in (QUEUE_MESSAGE): New global constant, used as
serialization key.
(handle_makefiles_threaded): Create message queues for each
input file; workers queue messages, and the master outputs them
ordered, using the new Channels.pm functions.
* tests/parallel-am.test: Also check for ordered output (in the
absence of --add-missing races).
* tests/parallel-am2.test: New test; check for ordered output of
warning and (regular) error messages.
* tests/Makefile.am: Adjust.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
|
937775c8
|
2008-10-26T19:29:25
|
|
Parallel automake execution: AUTOMAKE_JOBS.
* lib/Automake/Config.in (perl_threads): New global.
* automake.in: Use it. If the perl supports interpreter-based
threading, then use `threads' and `Thread::Queue'.
(handle_makefile, handle_makefiles_serial): New functions,
factored out from main.
(get_number_of_threads): New function, compute number of threads
to use, based on environment variable `AUTOMAKE_JOBS' and number
of independent makefiles.
(handle_makefiles_threaded): New function. Spawn threads, use
thread queue to distribute handling the different makefiles.
Collect $exit_code values from threads.
(main): Use new functions.
* aclocal.in: No threads here.
* configure.ac: Substitute PERL_THREADS; enabled with perl >=
5.7.2 and when ithreads are available.
* bootstrap (dosubst): Likewise.
* Makefile.am (do_subst): Likewise.
* lib/Automake/Makefile.am (do_subst): Likewise.
* lib/Automake/ChannelDefs.pm: Use `Automake::Config' and
`threads'.
(verb): Prepend thread ID (tid) to verbose messages.
* lib/Automake/Channels.pm (msg): Before exiting, flush stderr,
needed for worker threads.
* lib/Automake/tests/Makefile.am (TESTS_ENVIRONMENT): Also
include the build tree path, so Config.pm is found.
* tests/parallel-am.test: New test.
* tests/Makefile.am: Update.
* doc/automake.texi (Invoking Automake): Document AUTOMAKE_JOBS.
* NEWS, THANKS: Update.
Report about long execution times by Joakim Tjernlund and others.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|