379 Commits

Author SHA1 Message Date
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
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