Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-10-20 | Diagnose incorrect output directory specification | Boris Kolpackov | 4 | -22/+90 | |
2022-10-20 | Implement parallel execution of post hoc prerequisites | Boris Kolpackov | 2 | -9/+48 | |
2022-10-19 | Handle operation-specific variable values in post hoc logic | Boris Kolpackov | 1 | -1/+19 | |
2022-10-19 | Minor tweaks to target_lock passing semantics | Boris Kolpackov | 2 | -3/+9 | |
This should also get rid of the bogus -Wdangling-pointer issued by GCC 12. | |||||
2022-10-19 | Add support for post hoc prerequisites | Boris Kolpackov | 13 | -136/+443 | |
Unlike normal and ad hoc prerequisites, a post hoc prerequisite is built after the target, not before. It may also form a dependency cycle together with normal/ad hoc prerequisites. In other words, all this form of dependency guarantees is that a post hoc prerequisite will be built if its dependent target is built. See the NEWS file for details and an example. | |||||
2022-10-18 | Fix unexpected 'unterminated double-quoted sequence' script error | Karen Arutyunov | 11 | -54/+152 | |
2022-10-18 | Add unexpected 'unterminated double-quoted sequence' error testscript ↵ | Karen Arutyunov | 2 | -0/+26 | |
reproducers | |||||
2022-10-18 | Invent diag preamble for buildscript | Karen Arutyunov | 6 | -140/+354 | |
2022-10-17 | Add pkg-config search tracing | Boris Kolpackov | 1 | -2/+14 | |
2022-10-17 | Tolerate case differences when looking for pkg-config files | Boris Kolpackov | 1 | -18/+26 | |
2022-10-14 | Fix 'for [<attrs>] x: ...' to treat <attrs> as value attributes | Karen Arutyunov | 8 | -57/+37 | |
2022-10-14 | Make -w|--whitespace to be default for for-loop | Karen Arutyunov | 1 | -1/+1 | |
2022-10-14 | Fix printing test id multiple times on test failure | Karen Arutyunov | 2 | -14/+44 | |
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 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 | 33 | -403/+3104 | |
in script | |||||
2022-10-13 | Optimize by going straight to public variable pool where applicable | Boris Kolpackov | 15 | -61/+109 | |
2022-10-13 | Add visibility, overridable variable attributes | Boris Kolpackov | 3 | -11/+77 | |
2022-10-13 | Switch to public/private variables model | Boris Kolpackov | 18 | -128/+275 | |
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 | 4 | -158/+202 | |
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 | 4 | -2/+155 | |
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 | 11 | -103/+903 | |
2022-09-28 | Add support for 'while' loop in script | Karen Arutyunov | 23 | -298/+1040 | |
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 | 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 | 1 | -12/+118 | |
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 | 1 | -0/+31 | |
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 | 3 | -13/+85 | |
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 | 4 | -10/+50 | |
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 |