aboutsummaryrefslogtreecommitdiff
path: root/build2
AgeCommit message (Collapse)AuthorFilesLines
2016-04-21Move target state reset back to recipe()Boris Kolpackov4-10/+8
Doing it in target::reset() (which is called by match()) didn't play well with delegated recipes.
2016-04-21Implement short-circuiting to group stateBoris Kolpackov6-62/+87
This is necessary to get rid of bogus restarts in inject_prerequisites() where it think a group member was updated since its state changed from unknown to (group's) changed.
2016-04-21Delete target_key assignment operators since we need tracking referencesBoris Kolpackov1-3/+14
2016-04-21Use hash map/set for targets/prerequisites to resolve key change issueBoris Kolpackov7-38/+127
2016-04-20Print variable/value attributes in dump()Boris Kolpackov1-16/+45
2016-04-20Add missing cast() specializationBoris Kolpackov1-0/+9
2016-04-20Type install.mode variableBoris Kolpackov1-1/+2
2016-04-19Redesign src/out scopingBoris Kolpackov29-478/+544
We no longer enter paths from the src tree into scope map. Instead, targets from the src tree now include their out tree directory (in essence their "configuration"). This is then used to find a target's scope. See the comment in class target for details. The result of this change is that we can now again build multiple configurations (out trees) for same project at once.
2016-04-18Add support for using value attributes in eval contextBoris Kolpackov8-272/+498
For example: if ($x == [null]) Or: if ([uint64] 01 == [uint64] 1)
2016-04-12Change BACK to BC (backwards-compatibility) markerBoris Kolpackov1-1/+1
2016-04-12Add support for scope-qualification of overrides, scope visibilityBoris Kolpackov1-17/+51
2016-04-12Mark non-BC changes for futureBoris Kolpackov2-6/+4
2016-04-11Simplify unconfigured module interfaceBoris Kolpackov4-27/+47
2016-04-11Separate config variable for different modules with blanksBoris Kolpackov1-0/+32
2016-04-11Cleanup find_override() implementationBoris Kolpackov1-69/+91
2016-04-11Redo config inheritance logicBoris Kolpackov9-27/+118
2016-04-11Adjust abs_dir_path usage to take advantage of inheritanceBoris Kolpackov2-19/+19
2016-04-11Add basic support for variable value inheritanceBoris Kolpackov4-7/+34
Currently, only abs_dir_path inherits from dir_path.
2016-04-11New configuration logic, iteration 1Boris Kolpackov31-257/+338
2016-04-09Tweak override logic WRT location of overridden valueBoris Kolpackov4-35/+62
2016-04-09Add abs_dir_path type, auto-complete if initialized from namesBoris Kolpackov5-11/+114
2016-04-09Add overview of variable override implementationBoris Kolpackov1-5/+18
2016-04-06Add support for printing overrides in dump()Boris Kolpackov2-13/+69
2016-04-06Test and fix override logicBoris Kolpackov1-44/+85
2016-04-06Fix NULL variable value assignment bugBoris Kolpackov1-18/+28
2016-04-06Set src/out_path on global_scopeBoris Kolpackov1-2/+8
2016-04-05Add support for scope/target-qualified variable expansionBoris Kolpackov4-109/+185
For example: print $(dir/:var) print $(file{target}:var) print $(dir/file{target}:var) Note that if the scope/target does not (yet) exists, it will be created.
2016-04-05Make name::pair char againBoris Kolpackov6-7/+38
The plan is to represent scope/target-qualified variables as ':'-style pairs.
2016-04-05Fix bug in variable override codeBoris Kolpackov1-1/+1
2016-04-05Implement --buildfile option, overrides default buildfile, supports '-'Boris Kolpackov8-9/+70
2016-04-04Implement value typing, null support via value attributesBoris Kolpackov12-217/+429
For example: v = [null] v = [string] abc v += ABC # abcABC
2016-04-02Implement variable typing (via attributes)Boris Kolpackov3-27/+92
Now we can do: [string] str = foo
2016-04-02Add attribute syntax infrastructureBoris Kolpackov6-49/+192
2016-04-02Improve override cache typing to handle value-typed stemsBoris Kolpackov1-4/+11
2016-04-02Get rid of test.exe, respect type/pattern-specific variables in test moduleBoris Kolpackov1-126/+49
We now use target type/pattern-specific variables for that, for example: tests/exe{*}: test = true Note that this is a backwards-incompatible change
2016-04-02Add notion of lookup depth, fix bug with NULL overridesBoris Kolpackov4-59/+117
2016-04-02Add backwards compatibility mark (@@ BACK)Boris Kolpackov1-1/+1
2016-04-01Allow specifying scope in target type/pattern-specific variable assignmentBoris Kolpackov1-38/+43
For example: tests/exe{*}: test = true
2016-04-01Get part of variable override implementationBoris Kolpackov7-37/+276
2016-03-31Clean up variable lookup interfacesBoris Kolpackov15-167/+121
2016-03-31Set part of variable override implementationBoris Kolpackov20-192/+402
2016-03-30Minor parser interface reworkBoris Kolpackov4-20/+21
2016-03-29Reset build state for each meta-operationBoris Kolpackov5-181/+203
2016-03-28Clean up variable usageBoris Kolpackov16-159/+429
2016-03-28Add variable cast from lookupBoris Kolpackov18-70/+90
2016-03-28New variable architectureBoris Kolpackov34-1339/+1649
2016-03-28Add support for pair representation reversibilityBoris Kolpackov6-46/+100
2016-03-28Change pairs semantics from separated to unseparatedBoris Kolpackov1-14/+29
Before we use to recognize 'x @ y' as a pair. Now it has to be written unseparated, as 'x@y'. See tests/pairs for details on the new semantics.
2016-03-28Enable @-delimited pairs mode everywhereBoris Kolpackov12-82/+128
2016-03-28Add few notes, comment cleanupsBoris Kolpackov3-3/+7