aboutsummaryrefslogtreecommitdiff
path: root/build2/variable.txx
AgeCommit message (Collapse)AuthorFilesLines
2019-01-16Update copyright yearKaren Arutyunov1-1/+1
2018-05-19Update copyright yearKaren Arutyunov1-1/+1
2017-12-13Implement info meta operationBoris Kolpackov1-0/+6
This meta operation can be used to print basic information (name, version, source/output roots, etc) for one or more projects.
2017-12-05Add support for first-access value typification during non-load phasesBoris Kolpackov1-3/+3
2017-11-09Add support for for-loopBoris Kolpackov1-0/+2
The semantics is similar to the C++11 range-based for: list = 1 2 3 for i: $list print $i Note that there is no scoping of any kind for the loop variable ('i' in the above example). See tests/loop/for.test for some examples/ideas. In the future the plan is to also support more general while-loop as well as break and continue.
2017-07-31Experimental (and probably broken) pkg-config generation supportBoris Kolpackov1-0/+22
2017-05-01Add hxx extension for headersKaren Arutyunov1-1/+1
2017-04-19Fix typification bug in variable_cacheBoris Kolpackov1-2/+8
2017-03-17Implement create meta-operationBoris Kolpackov1-1/+1
2017-02-13Use variable_cache for target type/pattern-specific prepend/appendBoris Kolpackov1-24/+34
2017-02-13Add MT-safe variable_cache, use for variable overridesBoris Kolpackov1-0/+69
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-12-06Work around wrong static initialization order in VCBoris Kolpackov1-9/+24
2016-12-05Add comma, ternary, logical operators support in eval contextBoris Kolpackov1-0/+14
2016-11-30Add support for typed/untyped concatenated expansionBoris Kolpackov1-7/+33
2016-11-26Add support for VC15Karen Arutyunov1-2/+2
2016-11-22Use diagnostics facility from libbutlBoris Kolpackov1-27/+15
2016-11-18Add function machinery, implement path.normalize()Boris Kolpackov1-0/+29
Note that multi-argument functions are not yet "callable" since there is no support for value packs.
2016-08-23Reverse empty simple values as an empty names sequence rather than empty nameBoris Kolpackov1-1/+15
This way we get: config.import.foo = Rather than: config.import.foo = {}
2016-07-20Switch to dynamic empty() implementation in variable valueBoris Kolpackov1-34/+43
The current model fell apart when we modified values directly.
2016-07-16Add support for prepend/append in target type/pattern-specific varsBoris Kolpackov1-15/+21
Semantically, these are similar to variable overrides and are essentially treated as "templates" that are applied on lookup to the "stem" value that is specific to the target type/name. For example: x = [string] a file{f*}: x =+ b sub/: { file{*}: x += c print $(file{foo}:x) # abc print $(file{bar}:x) # ac }
2016-07-01Port to MSVCKaren Arutyunov1-2/+2
2016-06-28Work around static initialization order issueBoris Kolpackov1-3/+3
value_traits<T>::value_type initialization is not constexpr in VC because of pointers to function template instantiations (which apparently are not constexpr).
2016-04-18Add support for using value attributes in eval contextBoris Kolpackov1-30/+77
For example: if ($x == [null]) Or: if ([uint64] 01 == [uint64] 1)
2016-04-11Add basic support for variable value inheritanceBoris Kolpackov1-0/+2
Currently, only abs_dir_path inherits from dir_path.
2016-04-05Make name::pair char againBoris Kolpackov1-2/+19
The plan is to represent scope/target-qualified variables as ':'-style pairs.
2016-03-28New variable architectureBoris Kolpackov1-98/+303
2016-03-28Add support for pair representation reversibilityBoris Kolpackov1-5/+22
2016-03-28Enable @-delimited pairs mode everywhereBoris Kolpackov1-2/+2
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-11/+9
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+168