c7e4e1ad9b
Always use a build root and default it to "build"
2017-05-30 11:06:32 -04:00
43df46018c
Support redirecting standard output using the Command builder - close #28
2017-05-29 12:50:34 -04:00
8cbb9fa30e
Place object files for absolute source paths under build_root - close #30
2017-05-29 12:16:46 -04:00
1880e6650e
fix PROGSUFFIX handling - close #29
2017-05-29 11:40:01 -04:00
d31b4725d2
add LEXSUFFIX, YACCSUFFIX construction variables - close #31
2017-05-29 11:03:01 -04:00
b5826bd7f4
use new Builder#run signature for Command builder
2017-05-25 17:06:34 -04:00
05bbea6fa1
add Environment#build_after
2017-05-25 17:00:21 -04:00
68468b6422
fully parallelize the Command builder
2017-05-25 16:03:05 -04:00
80a80a7cb0
fully parallelize the Preprocess builder
2017-05-25 15:54:33 -04:00
178940cd5d
fully parallelize the CFile builder
2017-05-25 15:28:01 -04:00
145d51c825
fully parallelize the Disassemble builder
2017-05-25 14:59:51 -04:00
b454208117
fully parallelize the Library builder
2017-05-24 16:10:58 -04:00
df420fdf5c
use ThreadsWait (only for blocking thread waits)
2017-05-24 16:02:25 -04:00
f815952ab3
add Builder#standard_threaded_build, #standard_finalize
...
parallelize Program builder command
2017-05-24 15:41:39 -04:00
1af3c5c9a4
pass Builder#run options into Builder#finalize also
2017-05-24 15:13:59 -04:00
dce88ece14
pass entire build_operation Hash to Builder#run
2017-05-24 14:32:43 -04:00
8a1dfb0785
do not catch NameError when looking up Builder#run method
2017-05-23 16:24:45 -04:00
18c6c69871
do not use ThreadsWait to wait for threads; it does not work properly
2017-05-23 15:24:52 -04:00
15e5d15424
Avoid Environment#process race condition
...
Race condition could have occurred if the last threaded command
was gathered in the non-blocking wait and then a blocking wait was
started because there was no job to run. Do not do a blocking wait
in this case.
2017-05-23 14:12:38 -04:00
a99e6e81b2
simplify Environment#process looping
2017-05-23 14:10:45 -04:00
1509c95176
remove Cache.reset!
2017-05-23 14:05:29 -04:00
2be738be4f
Including trailing newline when printing failed command
2017-05-22 16:26:12 -04:00
2d8e08b493
add -j command-line option to set number of threads
2017-05-19 11:38:42 -04:00
5cef9896ac
consistently print failed build command if a builder fails
2017-05-19 10:57:30 -04:00
6344692087
update Object builder to support parallelization; update Program and Library builders to register object builds from #setup
2017-05-19 10:49:16 -04:00
267fc7124d
process threaded commands until they are all complete
2017-05-17 15:52:34 -04:00
e694199f33
delay building targets that depend on builds registered with Environment#register_builds
2017-05-17 15:45:04 -04:00
4ed584701a
pass setup_info to the builder's #run method
2017-05-17 13:50:31 -04:00
5de52620e4
JobSet#get_next_job_to_run: take into account targets still building
2017-05-17 10:19:43 -04:00
9cc59a35f0
handle threaded commands in Environment#process
2017-05-17 10:07:15 -04:00
ca445f5733
add JobSet#size
2017-05-17 09:36:27 -04:00
7534b29e26
add Environment#wait_for_threaded_commands, use from #run_builder if delayed execution is not allowed
2017-05-17 09:34:19 -04:00
800e7a51a4
add Environment#start_threaded_command
2017-05-17 09:14:42 -04:00
5d36aa74a0
add more fields to ThreadedCommand
2017-05-17 09:07:51 -04:00
01851c2872
refactor into new Environment#command_to_s
2017-05-17 09:04:05 -04:00
5fe55a584e
add short description field to ThreadedCommand
2017-05-17 08:49:53 -04:00
9c13634eaf
start adding support for threaded commands in Environment#run_builder
2017-05-17 08:47:17 -04:00
e4adaab003
add Builder#finalize
2017-05-16 09:18:08 -04:00
6b8fda706d
add ThreadedCommand class
2017-05-15 10:57:34 -04:00
ef4f9882cd
change Builder#run base class method to new signature
2017-05-12 21:08:14 -04:00
7a31039e35
add @since tags for new methods
2017-05-12 21:07:25 -04:00
3e4897c04b
store setup_info in the job
2017-05-12 16:30:30 -04:00
d46dc2014c
update JobSet interface to just take a Hash of job parameters
2017-05-12 16:30:02 -04:00
9cfc0c20b7
call Builder#setup
2017-05-12 16:27:43 -04:00
19a00a7b84
prepare to call new Builder#run interface
2017-05-12 16:25:34 -04:00
9b6d2c5111
add Environment#register_builds
2017-05-12 16:16:25 -04:00
6a0ccad804
add Builder#setup; add new Builder#run signature
2017-05-12 16:16:07 -04:00
dab870854a
add Rscons.n_threads
2017-05-12 14:38:18 -04:00
695bf84092
expand target and source paths when registering a builder
2017-05-10 15:06:16 -04:00
7cba8c8424
JobSet: target is already stored in job info
2017-05-10 14:57:04 -04:00