aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-04-21Implement short-circuiting to group stateBoris Kolpackov7-65/+90
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 Kolpackov12-275/+526
For example: if ($x == [null]) Or: if ([uint64] 01 == [uint64] 1)
2016-04-17Update NEWS fileBoris Kolpackov1-0/+101
2016-04-12Change text.exe to exe{*}:test (BC change)Boris Kolpackov1-1/+2
2016-04-12Change BACK to BC (backwards-compatibility) markerBoris Kolpackov1-1/+1
2016-04-12Add support for scope-qualification of overrides, scope visibilityBoris Kolpackov2-19/+93
2016-04-12Mark non-BC changes for futureBoris Kolpackov2-6/+4
2016-04-12Update INSTALL fileBoris Kolpackov2-7/+6
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 Kolpackov8-44/+451
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 Kolpackov7-109/+227
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 Kolpackov17-221/+533
For example: v = [null] v = [string] abc v += ABC # abcABC
2016-04-02Implement variable typing (via attributes)Boris Kolpackov6-27/+118
Now we can do: [string] str = foo
2016-04-02Add attribute syntax infrastructureBoris Kolpackov16-59/+223
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 Kolpackov22-194/+404
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 Kolpackov8-46/+116
2016-03-28Adjust tests/quote now that we support escaping in double-quoted stringsBoris Kolpackov2-0/+5