142 Commits

Author SHA1 Message Date
44f61da571 Only configure if necessary - close #131 2022-02-12 23:18:00 -05:00
ef7e9259cb Add shortcut method for creating environments - close #149
Add env() method to create environments.
Process all environments created at build script top level before
executing any autoconf-enabled tasks, or if no tasks are specified by
the user.
2022-02-12 21:59:52 -05:00
6d5f44d4e5 Allow passing spawn options to sh - close #153 2022-02-06 14:02:26 -05:00
8b2387f7a3 Add download script method - close #152 2022-02-05 16:51:52 -05:00
bd9cf55b85 Add tasks - close #139 2022-01-30 13:45:06 -05:00
f5ab51c477 Add ^^/ shortcut to top-level build directory - close #146 2022-01-21 20:45:05 -05:00
c1dcfa297f Add FileUtils class methods to script DSL - close #144 2022-01-17 16:41:36 -05:00
b5d5fe7a7b Add 'sh' script DSL method - close #142 2022-01-17 15:57:34 -05:00
610b8f1266 Add Size builder - close #143 2022-01-17 12:50:38 -05:00
a316c4f922 Support naming environments - close #140 2022-01-13 12:56:23 -05:00
f011b23499 Add PATH manipulation methods - close #126 2021-11-17 21:39:58 -05:00
ca747232cd Support passing a directory to rscons() method - close #128 2021-11-13 11:36:25 -05:00
7c8becc3f9 env.depends() does not work with build-root-relative "^/" paths - close #121 2021-10-22 16:03:10 -04:00
d1a35501ef Support subsidiary Rsconscript files - close #125 2021-10-22 13:58:38 -04:00
5bac91f92f add failure messages for failed configuration checks - close #119 2020-10-12 21:01:04 -04:00
5ec74604c6 improve support for MSYS2 - close #120 2020-10-08 19:04:50 -04:00
8d05516c40 distinguish object files built from multiple sources with the same base name but different extensions - close #113 2019-12-14 00:10:42 -05:00
397639849d call print_run_message() in json_to_yaml build test 2019-10-12 17:59:08 -04:00
5378afb6f8 Install builder cannot replace a currently executing binary on Linux - close #112 2019-09-28 23:18:31 -04:00
efa77066bf allow ConfigureOp#log_and_test_command to be passed standard input data - close #111 2019-09-01 21:50:57 -04:00
0344f02cb1 build tests: use -m instead of -lc for mingw 2019-08-27 19:32:36 -04:00
1e157c79ec fix dependency parsing with ldc2 - close #110 2019-08-19 22:56:54 -04:00
0ccf43cc96 custom config checks - close #108 2019-08-17 16:06:37 -04:00
51a9dd365f add :check_libpath option to check_lib configuration method - #107 2019-07-29 21:00:52 -04:00
6e590b62a6 add :check_cpppath option to check_c_header and check_cxx_header
configuration methods
add :check_d_import_path option to check_d_import configuration method - #107
2019-07-09 23:53:17 -04:00
ba98af1424 default configure checks :fail option to false if :set_define is specified 2019-07-09 22:00:50 -04:00
b02a7573b9 speed up handling of registered side-effect files - #92 2019-05-08 22:15:44 -04:00
a4fead7dc6 show build progress - close #98 2019-04-28 22:40:50 -04:00
fd054a07c4 implement install and uninstall operations - close #82
add "prefix" construction variable - close #99
add InstallDirectory builder - close #100
2019-04-23 22:01:09 -04:00
c60589a9c9 move a few Install builder tests to Copy builder 2019-04-19 14:32:25 -04:00
7a807575b2 only use build_tests/typical/install.rb for Install builder specs 2019-04-19 14:12:33 -04:00
787b3249a7 raise error if user constructs an Environment before configuration is complete 2019-04-14 20:45:31 -04:00
921f0d2cb1 expose glob method directly to Rsconscript - close #97 2019-04-14 12:51:37 -04:00
ea2b1e73d1 add direct mode to Program builder - close #61 2019-04-14 12:35:28 -04:00
9bf4b8fa96 add barriers - close #53 2019-04-09 22:29:22 -04:00
008fa4844d allow passing Builder objects as sources to build targets - close #95 2019-04-09 20:35:46 -04:00
568b78e2e2 test tracking object file source language - #87 2019-04-09 19:52:25 -04:00
5534878f68 Object builder cleanup - #94 2019-04-09 18:28:42 -04:00
3ff09978f4 remove Builder.features and Builder.produces? 2019-03-16 21:54:20 -04:00
06b9c98ed0 support false :use value for configure operations - close #93 2019-02-28 21:09:56 -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
658b73e4de add build test for a builder waiting on another builder 2019-02-17 22:20:51 -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
935848c3b5 remove some builder-tracked fields from the build_operation Hash 2019-02-16 18:21:19 -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
f2cfc25604 Remove Environment#run_builder :allow_delayed_execution option - #84 2019-02-10 22:13:37 -05:00
a1f5f022d1 test build hooks overwriting entire vars hash as a non-backwards-compatiblity test 2019-02-10 22:07:08 -05:00
7992450383 Drop support for 5-argument form of Builder#run - #84 2019-02-10 21:47:34 -05:00