Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-10-14 | Make -w|--whitespace to be default for for-loop | Karen Arutyunov | 2 | -7/+18 | |
2022-10-14 | Fix printing test id multiple times on test failure | Karen Arutyunov | 3 | -14/+70 | |
2022-10-14 | Fix typo in Testscript manual | Boris Kolpackov | 1 | -1/+1 | |
2022-10-14 | Describe how to test multiple executables in single testscript | Boris Kolpackov | 1 | -3/+74 | |
2022-10-14 | Add notes on serial execution in Testscript manual | Boris Kolpackov | 1 | -0/+7 | |
2022-10-14 | Proofreading changes to Testscript manual (for/while loops) | Boris Kolpackov | 1 | -75/+61 | |
2022-10-13 | Work around Clang 6, 7 codegen issues | Boris Kolpackov | 3 | -36/+28 | |
2022-10-13 | Reorder functions to help MinGW GCC with DLL symbol exporting | Boris Kolpackov | 1 | -8/+8 | |
2022-10-13 | Fix bug in pkg-config metadata extraction logic | Boris Kolpackov | 1 | -6/+9 | |
2022-10-13 | Fix script 'for' loop tests | Karen Arutyunov | 2 | -3/+3 | |
2022-10-13 | Fix couple of corner cases in public/private variable model | Boris Kolpackov | 2 | -45/+49 | |
2022-10-13 | Improve diagnostics | Boris Kolpackov | 1 | -0/+12 | |
2022-10-13 | Add support for 'for' loop second (... | for x) and third (for x <...) forms ↵ | Karen Arutyunov | 37 | -444/+4634 | |
in script | |||||
2022-10-13 | Fix include directive example in testscript manual | Karen Arutyunov | 1 | -1/+1 | |
2022-10-13 | Update old tests to public/private variable model | Boris Kolpackov | 4 | -77/+77 | |
2022-10-13 | Add test for public/private variable model | Boris Kolpackov | 2 | -0/+50 | |
2022-10-13 | Optimize by going straight to public variable pool where applicable | Boris Kolpackov | 16 | -62/+112 | |
2022-10-13 | Add visibility, overridable variable attributes | Boris Kolpackov | 3 | -11/+77 | |
2022-10-13 | Switch to public/private variables model | Boris Kolpackov | 21 | -189/+336 | |
Now unqualified variables are project-private and can be typified. | |||||
2022-10-11 | Factor variable patterns out of variable_pool into separate variable_patterns | Boris Kolpackov | 6 | -94/+168 | |
We have patterns only for the public variables pool. | |||||
2022-10-10 | Preparatory work for public/private variable distinction | Boris Kolpackov | 31 | -112/+357 | |
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool(). | |||||
2022-10-10 | Use term shared instead of global for scope, var pool, etc | Boris Kolpackov | 4 | -30/+32 | |
2022-10-05 | Check for `-`-spelled cl.exe options in addition to `/`-spelled | Boris Kolpackov | 1 | -19/+29 | |
2022-09-30 | Move integer and bool function to separate source/testscript files | Boris Kolpackov | 7 | -197/+249 | |
2022-09-29 | Tighten low-verbosity diagnostics name deduction logic | Boris Kolpackov | 3 | -4/+61 | |
Specifically, don't try to derive low-verbosity name from what looks like an eval context of a function call. | |||||
2022-09-29 | Add $find(<sequence>, <value>), $find_index(<sequence>, <value>) functions | Boris Kolpackov | 8 | -4/+215 | |
The $find() function returns true if the sequence contains the specified value. The $find_index() function returns the index of the first element in the sequence that is equal to the specified value or $size(<sequence>) if none is found. For string sequences, it's possible to request case- insensitive comparison with a flag. | |||||
2022-09-29 | Fix variable append logic in script | Boris Kolpackov | 8 | -91/+105 | |
2022-09-28 | Don't print true and false script builtins at verbosity level 2 | Karen Arutyunov | 1 | -1/+4 | |
2022-09-28 | Add support for 'for' loop first form (for x:...) in script | Karen Arutyunov | 13 | -103/+1067 | |
2022-09-28 | Add support for 'while' loop in script | Karen Arutyunov | 27 | -318/+1102 | |
2022-09-28 | Omit -l for binless libraries, metadata from common .pc file | Boris Kolpackov | 2 | -4/+26 | |
Having -l options for binless (header-only) libraries makes it unusable from other build systems. But omitting them could make the metadata incomplete (for example, importable headers), so we omit that as well. | |||||
2022-09-28 | Add support for typed value subscript | Boris Kolpackov | 1 | -5/+37 | |
2022-09-27 | Fix test for handling of name patterns with trailing dot | Karen Arutyunov | 1 | -1/+1 | |
2022-09-27 | List dbghelp and mincore as system Windows libraries | Boris Kolpackov | 1 | -0/+2 | |
2022-09-27 | List winhttp and powrprof as system Windows libraries | Boris Kolpackov | 1 | -0/+2 | |
2022-09-27 | Fix bug in handling of name patterns with trailing dot | Karen Arutyunov | 1 | -1/+8 | |
2022-09-27 | Allow search to find implied alias targets | Boris Kolpackov | 1 | -2/+7 | |
Allowing this seems harmless since all the alias does is pull its prerequisites. And they are handy to use as metadata carriers. | |||||
2022-09-27 | Improve diagnostics for multiple targets sharing path | Boris Kolpackov | 1 | -3/+13 | |
2022-09-23 | Add $is_a(<name>, <target-type>), $filter[_out](<names>, <target-types>) ↵ | Boris Kolpackov | 2 | -12/+154 | |
functions $is_a() returns true if the <name>'s target type is-a <target-type>. Note that this is a dynamic type check that takes into account target type inheritance. $filter[_out]() return names with target types which are-a (filter) or not are-a (filter_out) one of <target-types>. In particular, these functions are useful for filtering prerequisite targets ($<) in ad hoc recipes and rules. | |||||
2022-09-22 | Add $integer_sequence(<begin>, <end>[, <step>]) function | Boris Kolpackov | 2 | -0/+39 | |
It returns the list of uint64 integers starting from <begin> (including) to <end> (excluding) with the specified <step> or 1 if unspecified. For example: hdr = foo.hxx bar.hxx baz.hxx src = foo.cxx bar.cxx baz.cxx assert ($size($hdr) == $size($src)) "hdr and src expected to be parallel" for i: $integer_sequence(0, $size($hdr)) { h = ($hdr[$i]) s = ($src[$i]) ... } | |||||
2022-09-22 | Add support for hex notation for uint64 type | Boris Kolpackov | 4 | -13/+93 | |
Specifically, now we can do: x = [uint64] 0x0000ffff cxx.poptions += "-DOFFSET=$x" # -DOFFSET=65535 cxx.poptions += "-DOFFSET=$string($x, 16)" # -DOFFSET=0xffff cxx.poptions += "-DOFFSET=$string($x, 16, 8)" # -DOFFSET=0x0000ffff Note that there is no hex notation support for the int64 (signed) type. | |||||
2022-09-21 | Add winrt Platform SDK header search path for MSVC | Boris Kolpackov | 1 | -3/+4 | |
This is required, for example, to build QtGui. | |||||
2022-09-21 | Fix regression in dynamic dependency extraction, byproduct mode | Boris Kolpackov | 4 | -15/+43 | |
2022-09-19 | Fix race between load and match phase logic in cc:search_library() | Boris Kolpackov | 1 | -12/+25 | |
2022-09-19 | Add target_lock::first to distinguish first lock of target | Boris Kolpackov | 3 | -11/+15 | |
2022-09-19 | Allow computed variables in depdb preamble similar to impure functions | Boris Kolpackov | 5 | -15/+77 | |
2022-09-16 | Register fallback dist meta-operation rule for out of project targets | Boris Kolpackov | 3 | -4/+18 | |
The problematic scenario this fixes is an ad hoc pattern rule (which we register for dist in order to inject any additional sources; see parser.cxx for details) that pulls a tool imported from the system (say /usr/bin/xxd). | |||||
2022-09-13 | Add $builtin.concat(dir_path, dir_path) and $builtin.concat(dir_path, path) ↵ | Karen Arutyunov | 1 | -0/+10 | |
overloads | |||||
2022-09-13 | Fix bug in handling of disabled recipes in ad hoc pattern rules | Boris Kolpackov | 1 | -3/+16 | |
2022-09-12 | Add note on backlink=overwrite mode | Boris Kolpackov | 1 | -1/+23 | |