josh
568b78e2e2
test tracking object file source language - #87
2019-04-09 19:52:25 -04:00
josh
3b00016278
Program builder cleanup, track object file source language - #94 , #87
2019-04-09 19:41:13 -04:00
josh
a655d04541
Add Depfile builder mixin - #94
2019-04-09 18:41:02 -04:00
josh
5534878f68
Object builder cleanup - #94
2019-04-09 18:28:42 -04:00
josh
1efee50b2c
add Builders::Mixins::ObjectDeps to commonize some builder functionality
2019-03-16 22:34:07 -04:00
josh
3ff09978f4
remove Builder.features and Builder.produces?
2019-03-16 21:54:20 -04:00
josh
ac1fc6d106
move default construction variables into one place
2019-03-13 21:17:37 -04:00
josh
06b9c98ed0
support false :use value for configure operations - close #93
2019-02-28 21:09:56 -05:00
josh
f58744d31f
mv build_dist.rb -> rb/build_dist.rb
2019-02-28 21:00:39 -05:00
josh
bf136e79f2
rework showing failed command - close #89
2019-02-26 06:52:43 -05:00
josh
ab2fa1662f
Replace specialized Cache accessors with general #[]/#[]= methods.
2019-02-25 21:22:54 -05:00
josh
68118c2707
Remove Cache dirty-tracking
...
It really wasn't necessary since Cache#write is not called often.
2019-02-25 21:16:48 -05:00
josh
6ce3d59ad9
Add integration test for copying multiple sources with Copy builder
2019-02-25 21:13:57 -05:00
josh
983862a528
update builder messages - close #77
2019-02-18 22:30:11 -05:00
josh
658b73e4de
add build test for a builder waiting on another builder
2019-02-17 22:20:51 -05:00
josh
b882f8de99
Rework builder interface to only use #run method - close #91
...
The builder's #run method will be called repeatedly until it returns
true or false. The Builder#wait_for method can be used to cause a
builder to wait for a Thread, Command, or another Builder.
2019-02-17 22:08:39 -05:00
josh
8426a54a57
replace JobSet with BuilderSet
2019-02-17 14:17:31 -05:00
josh
ee1640008c
simplify JobSet logic a little
2019-02-17 13:59:03 -05:00
josh
7cfd23e16f
remove :builder and :cache from build_operation
2019-02-16 19:12:33 -05:00
josh
5c3b615aee
remove unused :which parameter to Environment#wait_for_threaded_commands
2019-02-16 18:36:44 -05:00
josh
935848c3b5
remove some builder-tracked fields from the build_operation Hash
2019-02-16 18:21:19 -05:00
josh
d047a1bf29
JobSet only stores builders instead of build info hashes
2019-02-16 18:06:03 -05:00
josh
016bf5eac7
use Builder instance variables as much as possible in #finalize
2019-02-16 17:53:21 -05:00
josh
33504f586b
pass Builder object to build hooks instead of build_operation Hash
2019-02-13 21:13:13 -05:00
josh
86594c62b6
begin transitioning builders to using instance variables instead of #run options Hash fields
2019-02-11 22:53:41 -05:00
josh
ea25f62f7c
remove deprecated Environment#add_target parameter - #84
2019-02-10 22:20:34 -05:00
josh
f2cfc25604
Remove Environment#run_builder :allow_delayed_execution option - #84
2019-02-10 22:13:37 -05:00
josh
a1f5f022d1
test build hooks overwriting entire vars hash as a non-backwards-compatiblity test
2019-02-10 22:07:08 -05:00
josh
7992450383
Drop support for 5-argument form of Builder#run - #84
2019-02-10 21:47:34 -05:00
josh
b41a368da1
alphabetize Util public methods
2019-02-10 21:26:37 -05:00
josh
1b63dc7503
move Environment.parse_makefile_deps to Util
2019-02-10 21:23:52 -05:00
josh
db788cdd35
Move Environment#command_to_s to Util.
2019-02-10 21:16:56 -05:00
josh
3f8b4d616f
Remove BuildTarget, Builder#create_build_target, and Builder#setup - close #90
2019-02-10 18:24:49 -05:00
josh
aac32d20b0
create Builder instance for each build operation - close #88
2019-02-10 17:27:40 -05:00
josh
12f1909d35
remove a few deprecated methods - #84
2019-01-04 13:55:00 -05:00
josh
31ef45258f
make global CLI options available under subcommands - close #86
2019-01-03 13:50:01 -05:00
josh
9f9b7f0bf4
preserve .mf dependency files - close #58
2019-01-01 21:17:28 -05:00
josh
918c629435
add verbose CLI option to set Environment default echo mode - close #70
2019-01-01 16:15:22 -05:00
josh
eaac473f44
provide Environment construction option to use stored configuration settings - close #78
2019-01-01 15:49:15 -05:00
josh
fa5aa51daa
Do not rebuild after building after auto-configuration. - close #80
...
Split Environment into BasicEnvironment and Environment.
2018-12-30 15:57:05 -05:00
josh
347d651ab6
Add builder construction variables to Environments before the builder is added.
2018-12-29 17:57:41 -05:00
josh
08085f09c4
libs found with check_lib should be added to LIBS - close #79
2018-12-17 23:05:18 -05:00
josh
5915ac2b95
ConfigureOp: refactor some logic into #store_common
2018-12-17 22:54:34 -05:00
josh
a98c111cd2
implement distclean operation - close #81
2018-12-17 22:47:00 -05:00
josh
93ffed2eb2
Use "Environment" instead of "Rscons::Environment" in build tests
2018-12-17 22:14:35 -05:00
josh
f8e6666a2c
Add 'build' DSL method.
...
Disallow processing Environments until configuration is performed.
2018-12-17 22:14:35 -05:00
josh
5720662b7c
avoid mkdir() race conditions - close #75
2018-12-11 22:13:52 -05:00
josh
432d221be2
remove build_dir functionality - close #65
2018-12-11 22:06:20 -05:00
josh
7c7ee142e0
implement autoconf - close #63 , close #68 , closes #67
2018-12-03 22:23:42 -05:00
josh
ba69f05e99
remove backtrace from stderr for unknown CLI options - close #69
2018-11-30 23:29:19 -05:00
josh
6180410cc4
add spec for Cache validating JSON contents
2018-11-30 23:11:52 -05:00
josh
2d44a88fb6
add spec for unknown CLI operation
2018-11-30 23:08:16 -05:00
josh
28e3781331
add configure spec testing --prefix
2018-11-30 23:05:41 -05:00
josh
c0a28d0207
add configure spec to check multiple set_define's being stored
2018-11-29 22:14:10 -05:00
josh
0e27e967d0
configure: fix handling build_dir and prefix options
2018-11-29 22:06:36 -05:00
josh
1ecce7e99e
add configure spec to check as much as possible
2018-11-29 22:02:42 -05:00
josh
25b73ebd8f
move logic to find an executable from ConfigureOp to Util
2018-11-29 21:51:30 -05:00
josh
bca963af5c
add configure spec for check_cfg not finding the specified program
2018-11-29 21:28:37 -05:00
josh
ba5377a1ce
add configure specs to check for unknown compiler names
2018-11-29 20:51:24 -05:00
josh
8d7fd4bda8
test all known compiler invocation commands - close #66
2018-11-29 17:44:36 -05:00
josh
e3e2e46d6e
fix configure :set_define handling to append to CPPDEFINES array
2018-11-25 22:00:55 -05:00
josh
9e0ce5a55c
add spec for check_cfg with a :package argument
2018-11-25 21:58:22 -05:00
josh
b88131eb2f
add specs testing configure :set_define option and fix the same
2018-11-25 21:45:46 -05:00
josh
dff80587ac
move Rscons.absolute_path?() to Util
2018-11-25 21:31:48 -05:00
josh
cd2696dd0b
add Util specs
2018-11-25 21:22:37 -05:00
josh
36643c1ab1
add Util module and Util.make_relative_path()
2018-11-25 21:17:11 -05:00
josh
778d9ed8b2
add simplecov filters to filter out spec/dspec tests when the opposite spec task is executed
2018-11-25 21:11:00 -05:00
josh
660d30558a
remove Environment#to_h
2018-11-25 21:00:29 -05:00
josh
82fbd34149
add dspec task to test dist file; revert spec task to normal behavior
2018-11-25 20:45:32 -05:00
josh
e0b82d37af
cache: remove obsolete "default_environment_vars" entry
2018-11-25 17:02:02 -05:00
josh
7a90325b67
set Environment build root automatically - close #64
2018-11-25 16:58:19 -05:00
josh
49116e6b59
store build_dir and prefix configuration options in cache
2018-11-25 16:06:36 -05:00
josh
90300a1606
pass operation options via Hash instead of setting Application attributes
2018-11-25 16:02:04 -05:00
josh
1eb07e9a22
use Rsconscript instead of Rsconsfile - close #62
2018-11-25 15:42:53 -05:00
josh
9975eec165
add build test for check_cfg - close #59
2018-11-23 22:23:01 -05:00
josh
04c0a6a86f
colorize configure messages more consistently
2018-11-23 21:55:02 -05:00
josh
bfdf3a12fd
load configuration data when constructing a new Environment - close #60
2018-11-23 21:23:19 -05:00
josh
6dd9c835ce
store configuration data more opaquely in Cache
2018-11-23 20:15:39 -05:00
josh
cfec0dcadc
simplify Application/Script/ConfigureOp interaction with direct calls to configure methods
2018-11-23 19:59:47 -05:00
josh
a1c1cc1855
check_cfg: print something
2018-11-15 17:14:11 -05:00
josh
add9f9c50d
save configured environment construction flags for separate build step - close #60
2018-11-15 17:04:04 -05:00
josh
ba3d656110
consolidate some configure check reporting
2018-11-14 23:30:47 -05:00
josh
ab4ca71ac7
implement ConfigureOp#check_cfg - not tested yet
2018-11-14 23:28:00 -05:00
josh
aba11155a4
rename check_executable to check_program
2018-11-14 23:00:40 -05:00
josh
3b586cb476
implement ConfigureOp#check_lib
2018-11-14 22:53:00 -05:00
josh
88fd4bd405
robustify Ansi module a bit
2018-11-12 21:50:16 -05:00
josh
7869d38dd8
implement ConfigureOp#check_executable
2018-11-07 22:22:07 -05:00
josh
e8990199ef
configure: output project name and build directory
2018-11-07 21:56:23 -05:00
josh
6078cb0977
implement ConfigureOp#check_d_import
2018-11-07 21:49:44 -05:00
josh
85b0111a6e
implement ConfigureOp#check_cxx_header
2018-11-07 21:44:04 -05:00
josh
6bb0a55a55
implement ConfigureOp#check_c_header
2018-11-07 21:39:42 -05:00
josh
95d5ada865
specs: run each build test from separate directory; keep directory if test fails
2018-11-07 21:33:28 -05:00
josh
cd9fffd828
Script: change the way configuration arguments are stored
2018-11-07 20:52:39 -05:00
josh
30511a3443
pass the Environment to configure to ConfigureOp; begin modifying it in the tests
2018-11-07 20:46:07 -05:00
josh
d656df5407
implement ConfigureOp#check_d_compiler
2018-11-07 19:05:08 -05:00
josh
d54d363a25
implement ConfigureOp#check_cxx_compiler
2018-11-07 18:53:06 -05:00
josh
697db2a987
specs: check_c_compiler: also test when no arguments are given
2018-11-06 22:39:13 -05:00
josh
daa90e431c
check_c_compiler: add integration test for finding second listed C compiler
2018-11-06 22:28:23 -05:00
josh
bdeaec11ba
Ansi: add some other colors
2018-11-06 22:19:49 -05:00
josh
7eeb6312ba
check_c_compiler: print output; add a integration test
2018-11-06 22:16:38 -05:00