Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-05-02 | Enable full header unit functionality test | Boris Kolpackov | 1 | -1/+1 | |
2019-04-30 | Initial take on header unit and include translation support | Boris Kolpackov | 5 | -44/+87 | |
2019-04-11 | Sync up with latest C++ modules support in GCC | Boris Kolpackov | 1 | -2/+5 | |
2019-03-23 | Cleanup some files replacing tabs with spaces | Karen Arutyunov | 1 | -3/+3 | |
2019-03-14 | Add support for multiple variable overrides | Boris Kolpackov | 1 | -0/+30 | |
Now we can do: $ b config.cxx.coptions=-O3 config.cxx.coptions=-O0 Or even: $ b config.cxx.coptions=-O3 config.cxx.coptions+=-g | |||||
2019-03-13 | Cutoff append/prepend overrides that come before assignment override | Boris Kolpackov | 1 | -0/+29 | |
For example: $ b x+=1 x=2 x+=3 Should result in '2 3', not '1 2 3'. | |||||
2019-01-24 | Add testscript sleep builtin | Karen Arutyunov | 5 | -4/+37 | |
2019-01-16 | Update copyright year | Karen Arutyunov | 103 | -103/+103 | |
2018-12-04 | Adjust module tests to comply with the merged proposal (P1103) | Boris Kolpackov | 1 | -8/+5 | |
Specifically, import can no longer be inside an export block. | |||||
2018-12-03 | Suppress MSVC warnings at project level | Boris Kolpackov | 1 | -0/+6 | |
2018-11-21 | Add support for target and prerequisite specific variable blocks | Boris Kolpackov | 7 | -7/+154 | |
For example, now instead of: lib{foo}: cxx.loptions += -static lib{foo}: cxx.libs += -lpthread We can write: lib{foo}: { cxx.loptions += -static cxx.libs += -lpthread } The same works for prerequisites as well as target type/patterns. For example: exe{*.test}: { test = true install = false } | |||||
2018-11-19 | Fix expected diagnostics in test | Boris Kolpackov | 1 | -1/+1 | |
2018-11-17 | Print id of failed test | Karen Arutyunov | 9 | -11/+123 | |
2018-11-16 | Implement support for dependency chains | Boris Kolpackov | 3 | -4/+53 | |
Now instead of: ./: exe{foo} exe{foo}: cxx{*} We can write: ./: exe{foo}: cxx{*} Or even: ./: exe{foo}: libue{foo}: cxx{*} This can be combined with prerequisite-specific variables (which naturally only apply to the last set of prerequisites in the chain): ./: exe{foo}: libue{foo}: bin.whole = false | |||||
2018-11-14 | Tweak assert directive diagnostics | Boris Kolpackov | 1 | -1/+1 | |
2018-10-23 | Treat invalid names as values if they are quoted | Boris Kolpackov | 1 | -1/+11 | |
2018-09-05 | Create .buildignore file in testscript root working directory | Karen Arutyunov | 3 | -3/+24 | |
2018-09-04 | Rename .test/test{} to .testscript/testscript{} | Boris Kolpackov | 73 | -138/+139 | |
2018-08-09 | Fix tests some more | Boris Kolpackov | 1 | -3/+3 | |
2018-08-09 | Fix test failures on Windows | Boris Kolpackov | 2 | -8/+23 | |
2018-08-09 | Handle few corner cases in concatenated expansion | Boris Kolpackov | 1 | -0/+28 | |
2018-08-09 | Add support for name patterns without wildcard characters | Boris Kolpackov | 1 | -2/+5 | |
In particular, this allows the "if-exists" specification of prerequisites, for example: for t: $tests exe{$t}: cxx{$t} test{+$t} | |||||
2018-08-07 | Add support for default extension specification, trailing dot escaping | Boris Kolpackov | 1 | -0/+71 | |
For example: cxx{*}: extension = cxx cxx{foo} # foo.cxx cxx{foo.test} # foo.test (probably what we want...) cxx{foo.test...} # foo.test.cxx (... is this) cxx{foo..} # foo. cxx{foo....} # foo.. cxx{foo.....} # error (must come in escape pair) | |||||
2018-07-30 | Make project variable to be of project_name type | Karen Arutyunov | 2 | -4/+4 | |
2018-07-24 | Handle leading 'module;' marker (p0713) | Boris Kolpackov | 1 | -0/+17 | |
2018-07-20 | Implement bash module | Boris Kolpackov | 3 | -1/+233 | |
2018-07-17 | Add --after <ref-file> option for testscript touch builtin | Karen Arutyunov | 2 | -9/+30 | |
2018-07-17 | Add temporary sleep to in test to verify debugging hypothesis | Boris Kolpackov | 1 | -0/+3 | |
2018-07-17 | Handle executables (permissions, extensions) in in::rule | Boris Kolpackov | 1 | -0/+17 | |
2018-07-16 | Implement in module | Boris Kolpackov | 2 | -0/+101 | |
Given test.in containing something along these lines: foo = $foo$ Now we can do: using in file{test}: in{test.in} file{test}: foo = FOO The alternative variable substitution symbol can be specified with the in.symbol variable and lax (instead of the default strict) mode with in.substitution. For example: file{test}: in.symbol = '@' file{test}: in.substitution = lax | |||||
2018-07-16 | Resolve function overload via the argument reversal to untyped | Boris Kolpackov | 2 | -14/+2 | |
2018-07-14 | Add testscript mv builtin | Karen Arutyunov | 1 | -0/+252 | |
2018-07-12 | Adjust modules test to maybe-cleanup .ii files (no longer there for VC) | Boris Kolpackov | 1 | -1/+1 | |
2018-06-20 | Regularize .gitignore files | Karen Arutyunov | 1 | -0/+2 | |
2018-06-20 | Add $process.run() and $process.run_regex() functions | Boris Kolpackov | 2 | -0/+35 | |
$process.run(<prog>[ <args>...]) Return trimmed stdout. $process.run_regex(<prog>[ <args>...], <pat> [, <fmt>]) Return stdout lines matched and optionally processed with regex. Each line of stdout (including the customary trailing blank) is matched (as a whole) against <pat> and, if successful, returned, optionally processed with <fmt>, as an element of a list. | |||||
2018-05-24 | Remove target/scope irregularity workarounds | Boris Kolpackov | 3 | -5/+4 | |
2018-05-19 | Update copyright year | Karen Arutyunov | 90 | -90/+90 | |
2018-05-19 | Fix testscripts using types for testscript and manifest targets | Karen Arutyunov | 4 | -9/+9 | |
2018-05-19 | Get rid of doc{version} and types for testscript and manifest in buildfiles | Karen Arutyunov | 17 | -17/+17 | |
2018-05-19 | Support for deriving target type from file name, handle testscript, buildfile | Boris Kolpackov | 1 | -1/+1 | |
In particular, instead of: exe{test}: test{testscript} We should now write: exe{test}: testscript | |||||
2018-05-16 | Redo testscript diagnostics not to rely on invalid paths | Karen Arutyunov | 1 | -3/+6 | |
2018-05-03 | Regularize directory target/scope-specific variable assignment syntax | Boris Kolpackov | 7 | -6/+131 | |
2018-04-27 | Redo run directive diagnostics not to rely on invalid paths | Boris Kolpackov | 1 | -2/+3 | |
2018-04-27 | Add support for build hooks | Boris Kolpackov | 2 | -0/+35 | |
The following buildfiles are loaded (if present) at appropriate times from the out_root subdirectories of a project: build/bootstrap/pre-*.build # before loading bootstrap.build build/bootstrap/post-*.build # after loading bootstrap.build build/root/pre-*.build # before loading root.build build/root/post-*.build # after loading root.build | |||||
2018-04-26 | Fix bug in directive/run test | Boris Kolpackov | 1 | -4/+4 | |
2018-04-26 | Implement run buildfile directive | Boris Kolpackov | 1 | -0/+36 | |
Now we can do: run echo 'foo = bar' print $foo | |||||
2018-03-19 | Add missed file to builtins tests buildfile | Karen Arutyunov | 1 | -1/+1 | |
2018-03-19 | Add support for cp builtin -p option | Karen Arutyunov | 2 | -3/+73 | |
2018-02-14 | Enable modules support only for VC 15u5 and up, drop hacks for earlier | Boris Kolpackov | 1 | -48/+10 | |
2018-02-09 | Fix broken test (and few other things) | Boris Kolpackov | 11 | -64/+48 | |