6bd7e6f852
Object builder changes in preparation for adding SharedObject
2017-05-30 16:26:39 -04:00
19a23c2aa9
Create builder features
...
Pass desired features to Builder#produces?
Allow features to be passed in to Environment#register_builds.
Use features in Environment#get_build_fname to determine build file name.
2017-05-30 15:30:15 -04:00
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
6f242a1c64
Merge branch 'parallelization' - close #23
2017-05-29 10:58:55 -04:00
c7943bc2cc
ignore .bundle
2017-05-29 10:57:27 -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
a11fab43cb
Update spec task to preserve simplecov coverage info for previous full spec runs when doing a partial spec run
2017-05-24 16:29:17 -04:00
83226e894d
add backwards-compatibility test for Builder#standard_build
2017-05-24 16:16:53 -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
f3bf325c88
add a little more leeway in the multi-threading timing test
2017-05-24 15:58:11 -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
2655c119e4
add spec for Environment#find_finished_thread to fully cover
2017-05-23 16:47:00 -04:00
221cde7e5f
update run_builder, build_sources integration tests for more coverage
2017-05-23 16:45:21 -04:00
adcee373df
add integration test for Environment#build_sources
2017-05-23 16:28:13 -04:00
e58b8bd109
add integration test for Environment#run_builder
2017-05-23 16:25:03 -04:00
8a1dfb0785
do not catch NameError when looking up Builder#run method
2017-05-23 16:24:45 -04:00
d315f86a36
remove unit tests for Environment#run_builder, #build_sources
2017-05-23 16:20:41 -04:00
0d46d616dd
change user dependency test to use BuildTarget#depends
2017-05-23 16:09:29 -04:00
032e6d5d0a
add some integration tests for the CLI
2017-05-23 16:06:21 -04:00
c9946da193
integration tests: only pass -f when a specific rsconsfile is specified
2017-05-23 15:55:28 -04:00
599d10b50f
add integration test for overriding PROGSUFFIX
2017-05-23 15:32:55 -04:00
18c6c69871
do not use ThreadsWait to wait for threads; it does not work properly
2017-05-23 15:24:52 -04:00
2ffdf82d9a
add multi-threading build test
2017-05-23 14:24:14 -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
c7bba77581
remove Program builder non-integration specs
2017-05-22 16:57:35 -04:00
957fd8c86d
convert Library builder specs to integration tests
2017-05-22 16:54:10 -04:00
7e707e7e3b
convert Object builder specs to integration tests
2017-05-22 16:38:57 -04:00
2be738be4f
Including trailing newline when printing failed command
2017-05-22 16:26:12 -04:00
7b3bffd329
update some non-integration-test specs
2017-05-22 16:25:49 -04:00
06cb4b7a55
migrate some Cache tests to integration tests
2017-05-22 15:55:18 -04:00
bfbbc19728
fix simplecov setup to get coverage for integration build tests
2017-05-22 11:19:55 -04:00
28e56251dd
update build_tests_spec to invoke rscons in a subprocess for each test
2017-05-20 15:15:07 -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