Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-11-19 | Remove target files on ad hoc rule update buildscript error | Karen Arutyunov | 1 | -13/+60 | |
2020-11-19 | Fix set buildscript builtin crash on Windows | Karen Arutyunov | 1 | -1/+8 | |
2020-11-17 | Generalize dot escaping in target name rules | Boris Kolpackov | 1 | -20/+223 | |
Now triple dot and escape sequence can appear almost anywhere in the target name (see target::split_name() for details). | |||||
2020-11-06 | Fix mistreating test operation timeout as test timeout in some case | Karen Arutyunov | 1 | -4/+8 | |
2020-11-06 | Add support for test timeouts | Karen Arutyunov | 9 | -22/+888 | |
2020-09-28 | Add $string.trim() function | Boris Kolpackov | 1 | -0/+7 | |
2020-08-03 | Fix buildscript diagnostics so diff output is always in unified format | Karen Arutyunov | 1 | -0/+22 | |
Also make sure diff refers program stdout as 'stdout' rather than '-' in the test rule diagnostics. | |||||
2020-07-18 | Add $regex.find_match() and $regex.find_search() functions | Karen Arutyunov | 1 | -0/+84 | |
2020-07-16 | Save original compiler path/mode in {c,cxx}.config.path/mode | Boris Kolpackov | 4 | -4/+4 | |
It turns out that when propagating {c,cxx}.config in tests we don't want to propagate any options (such as *.std) that have been folded into our project's mode. | |||||
2020-07-06 | Adjust variable block applicability in dependency chains | Boris Kolpackov | 2 | -0/+95 | |
Before the block used to apply to the set of prerequisites before the last `:`. This turned out to be counterintuitive and not very useful since prerequisite-specific variables are a lot less common than target specific. And it doesn't fit with ad hoc recipes. The new rule is if the chain ends with `:`, then the block applies to the last set of prerequisites. Otherwise, it applies to the last set of targets. For example: ./: exe{test}: cxx{main} { test = true # Applies to the exe{test} target. } ./: exe{test}: libue{test}: { bin.whole = false # Applies to the libue{test} prerequisite. } This is actually consistent with both non-chain and non-block cases. Consider: exe{test}: cxx{main} { test = true } exe{test}: libue{test}: { bin.whole = false } exe{test}: libue{test}: bin.whole = false The only exception we now have in this overall approach of "if the dependency declaration ends with a colon, then what follows is for a prerequisite" is for the first semicolon: exe{test}: { test = true } exe{test}: test = true But that's probably intuitive enough since there cannot be a prerequisite without a target. | |||||
2020-06-24 | Stop forcing modules support in tests | Boris Kolpackov | 1 | -15/+0 | |
2020-06-19 | Adapt mv builtin tests to terminology change | Karen Arutyunov | 1 | -1/+1 | |
2020-06-18 | Add env script pseudo-builtin | Karen Arutyunov | 4 | -143/+159 | |
Also disable C++ recipe tests when cross-testing. | |||||
2020-06-16 | Add metadata for exe{b}, including whether it is statically-linked | Boris Kolpackov | 3 | -1/+11 | |
Use this information to omit ad hoc C++ recipe tests is testing statically- linked build system. | |||||
2020-06-12 | Fix invalid regex in C++ recipe tests | Boris Kolpackov | 1 | -2/+2 | |
2020-06-11 | Add tests for ad hoc C++ recipes | Boris Kolpackov | 3 | -9/+168 | |
2020-06-10 | Add ad hoc recipe if-else, switch tests (and fix bug) | Boris Kolpackov | 1 | -0/+149 | |
2020-06-08 | Add buildscript recipe tests | Karen Arutyunov | 2 | -0/+100 | |
2020-06-08 | Cleanup script command failure diagnostics | Karen Arutyunov | 4 | -3/+12 | |
2020-06-05 | Add depdb buildscript builtin | Karen Arutyunov | 1 | -0/+1 | |
2020-06-05 | Add ability to specify ad hoc recipe actions | Boris Kolpackov | 1 | -38/+70 | |
We are reusing the buildspec syntax for that. | |||||
2020-06-04 | Properly handle diag directive in build script parser | Karen Arutyunov | 1 | -3/+4 | |
2020-06-03 | Allow process path values and targets as buildscript program names | Karen Arutyunov | 1 | -39/+297 | |
Also deduce the recipe name. | |||||
2020-06-03 | Add versioning for ad hoc C++ recipes | Boris Kolpackov | 1 | -2/+2 | |
This will allow us to deal with backward-incompatible changes to cxx_rule interface and semantics. | |||||
2020-05-27 | Add support for value subscript after expansions | Boris Kolpackov | 2 | -1/+98 | |
Value subscript is only recognized in evaluation contexts (due to ambiguity with wildcard patterns; consider: $x[123].txt) and should be unseparated from the previous token. For example: x = ($y[1]) x = (($f ? $y : $z)[1]) x = ($identity($y)[$z]) | |||||
2020-05-27 | Initial support for ad hoc recipes (still work in progress) | Boris Kolpackov | 8 | -39/+538 | |
2020-05-01 | Fix outstanding issue with directive vs assignment differentiation | Boris Kolpackov | 1 | -0/+23 | |
Specifically, now the following does the right thing: print +foo | |||||
2020-04-03 | Skip unmatched lines in $regex.replace_lines() if format_no_copy flag is ↵ | Karen Arutyunov | 1 | -0/+20 | |
specified | |||||
2020-03-31 | Handle duplicate config directives for same variable | Boris Kolpackov | 1 | -1/+9 | |
2020-03-27 | Implement project configuration reporting, similar to build system modules | Boris Kolpackov | 1 | -0/+64 | |
2020-03-20 | Initial implementation of config directive for project-specific configuration | Boris Kolpackov | 2 | -0/+166 | |
2020-03-17 | Adapt testscripts to ln builtin target path completion fix | Karen Arutyunov | 3 | -5/+5 | |
2020-03-17 | Add $defined(<variable>) function | Boris Kolpackov | 1 | -2/+17 | |
2020-03-11 | Optimize testscripts not to search for subprojects | Karen Arutyunov | 4 | -0/+5 | |
2020-02-25 | Disable global module fragment tests for MSVC due to issue 845845 | Boris Kolpackov | 1 | -0/+3 | |
2020-02-21 | Define __cpp_modules=201810 (merged modules) for MSVC 16.4 | Boris Kolpackov | 1 | -1/+1 | |
2020-02-12 | Add builtins support for $process.run*() functions | Karen Arutyunov | 1 | -16/+128 | |
2020-02-07 | Drop copyright notice from source code | Karen Arutyunov | 111 | -111/+0 | |
2019-11-15 | Test and document wildcard character escaping | Boris Kolpackov | 1 | -1/+11 | |
Also document the new bracket expression ([...]) wildcard support. | |||||
2019-11-15 | Generalize attributes to be comma-separated with arbitrary values | Boris Kolpackov | 1 | -3/+3 | |
Before: x = [string null] After: x = [string, null] | |||||
2019-11-14 | Require attributes to be separated from words and similar on RHS | Boris Kolpackov | 1 | -1/+1 | |
2019-11-14 | Tighten up attribute recognition during parsing | Boris Kolpackov | 1 | -6/+11 | |
Now it should be possible to use `[]` for wildcard patterns, for example: foo = foo.[hit]xx Note that a leading bracket expression will still be recognized as attributes and escaping or quoting it will inhibit pattern matching. To resolve this case we need to specify an empty attribute list: foo = [] [abc]-foo.cxx | |||||
2019-11-08 | Add $regex.replace_lines() function | Karen Arutyunov | 1 | -0/+82 | |
2019-11-05 | Fix tests | Boris Kolpackov | 5 | -4/+24 | |
2019-11-05 | Disable C++ modules tests for Clang 9 | Boris Kolpackov | 1 | -0/+8 | |
See the following post for details: http://lists.llvm.org/pipermail/cfe-dev/2019-October/063637.html | |||||
2019-10-22 | Rename global_mutex_shards to global_mutexes | Boris Kolpackov | 1 | -2/+2 | |
2019-10-22 | Move global mutex shards to context | Boris Kolpackov | 1 | -2/+5 | |
2019-10-18 | Use $quote() for quoting config.cxx option value in testscripts | Karen Arutyunov | 3 | -3/+3 | |
2019-10-16 | Quote config.{c,cxx} paths when passing to tests | Boris Kolpackov | 3 | -3/+3 | |
Without this Windows directory separators are treated as escapes. | |||||
2019-10-14 | Implement MSVC installation discovery for version 15 (2017) and later | Karen Arutyunov | 1 | -1/+1 | |
In particular, this removes the requirement to build from the Visual Studio command prompt. Note that since MSVC compiler binaries are target-specific (i.e., there are no -m32/-m64 options nor something like /MACHINE), in this case we default to a 64-bit build (a 32-bit build can still be achieved by running from a suitable command prompt). Finally, this mechanism is also used to find Clang bundled with MSVC. |