ab2fa1662f
Replace specialized Cache accessors with general #[]/#[]= methods.
2019-02-25 21:22:54 -05:00
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
6ce3d59ad9
Add integration test for copying multiple sources with Copy builder
2019-02-25 21:13:57 -05:00
983862a528
update builder messages - close #77
2019-02-18 22:30:11 -05:00
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
8426a54a57
replace JobSet with BuilderSet
2019-02-17 14:17:31 -05:00
ee1640008c
simplify JobSet logic a little
2019-02-17 13:59:03 -05:00
7cfd23e16f
remove :builder and :cache from build_operation
2019-02-16 19:12:33 -05:00
5c3b615aee
remove unused :which parameter to Environment#wait_for_threaded_commands
2019-02-16 18:36:44 -05:00
935848c3b5
remove some builder-tracked fields from the build_operation Hash
2019-02-16 18:21:19 -05:00
d047a1bf29
JobSet only stores builders instead of build info hashes
2019-02-16 18:06:03 -05:00
016bf5eac7
use Builder instance variables as much as possible in #finalize
2019-02-16 17:53:21 -05:00
33504f586b
pass Builder object to build hooks instead of build_operation Hash
2019-02-13 21:13:13 -05:00
86594c62b6
begin transitioning builders to using instance variables instead of #run options Hash fields
2019-02-11 22:53:41 -05:00
ea25f62f7c
remove deprecated Environment#add_target parameter - #84
2019-02-10 22:20:34 -05:00
f2cfc25604
Remove Environment#run_builder :allow_delayed_execution option - #84
2019-02-10 22:13:37 -05:00
7992450383
Drop support for 5-argument form of Builder#run - #84
2019-02-10 21:47:34 -05:00
b41a368da1
alphabetize Util public methods
2019-02-10 21:26:37 -05:00
1b63dc7503
move Environment.parse_makefile_deps to Util
2019-02-10 21:23:52 -05:00
db788cdd35
Move Environment#command_to_s to Util.
2019-02-10 21:16:56 -05:00
3f8b4d616f
Remove BuildTarget, Builder#create_build_target, and Builder#setup - close #90
2019-02-10 18:24:49 -05:00
aac32d20b0
create Builder instance for each build operation - close #88
2019-02-10 17:27:40 -05:00
12f1909d35
remove a few deprecated methods - #84
2019-01-04 13:55:00 -05:00
31ef45258f
make global CLI options available under subcommands - close #86
2019-01-03 13:50:01 -05:00
9f9b7f0bf4
preserve .mf dependency files - close #58
2019-01-01 21:17:28 -05:00
918c629435
add verbose CLI option to set Environment default echo mode - close #70
2019-01-01 16:15:22 -05:00
eaac473f44
provide Environment construction option to use stored configuration settings - close #78
2019-01-01 15:49:15 -05:00
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
347d651ab6
Add builder construction variables to Environments before the builder is added.
2018-12-29 17:57:41 -05:00
08085f09c4
libs found with check_lib should be added to LIBS - close #79
2018-12-17 23:05:18 -05:00
5915ac2b95
ConfigureOp: refactor some logic into #store_common
2018-12-17 22:54:34 -05:00
a98c111cd2
implement distclean operation - close #81
2018-12-17 22:47:00 -05:00
f8e6666a2c
Add 'build' DSL method.
...
Disallow processing Environments until configuration is performed.
2018-12-17 22:14:35 -05:00
5720662b7c
avoid mkdir() race conditions - close #75
2018-12-11 22:13:52 -05:00
432d221be2
remove build_dir functionality - close #65
2018-12-11 22:06:20 -05:00
John Lindgren
a1efb1c1b3
Reduce recursion of VarSet#expand_varref by expanding vars earlier.
...
It's common for a build command to contain a reference like:
${INCPREFIX}${CPPPATH}
Where ${INCPREFIX} is "-I" and ${CPPPATH} is an array of include
paths. Without this change, Rscons expands ${INCPREFIX} (and then
tries to expand "-I") repeatedly, once for each path.
This change simply makes Rscons intelligent enough to expand
${INCPREFIX} only once, then join the expanded value to each path.
In a mid-sized rake project, ruby-prof shows that the number of
calls to expand_varref is reduced from ~80,000 to ~30,000., and the
total CPU time spent in expand_varref is reduced by about 30%.
In a larger project, the improvement in real build time is small
but consistent enough to be measurable (~0.5 seconds off a total
of ~20 seconds).
2018-12-09 21:20:44 -05:00
7c7ee142e0
implement autoconf - close #63 , close #68 , closes #67
2018-12-03 22:23:42 -05:00
ba69f05e99
remove backtrace from stderr for unknown CLI options - close #69
2018-11-30 23:29:19 -05:00
0e27e967d0
configure: fix handling build_dir and prefix options
2018-11-29 22:06:36 -05:00
25b73ebd8f
move logic to find an executable from ConfigureOp to Util
2018-11-29 21:51:30 -05:00
8d7fd4bda8
test all known compiler invocation commands - close #66
2018-11-29 17:44:36 -05:00
e3e2e46d6e
fix configure :set_define handling to append to CPPDEFINES array
2018-11-25 22:00:55 -05:00
b88131eb2f
add specs testing configure :set_define option and fix the same
2018-11-25 21:45:46 -05:00
dff80587ac
move Rscons.absolute_path?() to Util
2018-11-25 21:31:48 -05:00
36643c1ab1
add Util module and Util.make_relative_path()
2018-11-25 21:17:11 -05:00
660d30558a
remove Environment#to_h
2018-11-25 21:00:29 -05:00
e0b82d37af
cache: remove obsolete "default_environment_vars" entry
2018-11-25 17:02:02 -05:00
7a90325b67
set Environment build root automatically - close #64
2018-11-25 16:58:19 -05:00
49116e6b59
store build_dir and prefix configuration options in cache
2018-11-25 16:06:36 -05:00
90300a1606
pass operation options via Hash instead of setting Application attributes
2018-11-25 16:02:04 -05:00