aboutsummaryrefslogtreecommitdiff
path: root/build2
AgeCommit message (Collapse)AuthorFilesLines
2016-04-25Suppress Clang warningBoris Kolpackov1-1/+1
2016-04-25Fix bug in C++ compiler guessing logicBoris Kolpackov1-1/+1
2016-04-25Add missing variable assignmentsBoris Kolpackov1-4/+4
2016-04-25Add workaround for GCC 4.8 bug in default initialization of union memberBoris Kolpackov1-3/+9
It appears to silently ignore this C++11 feature and leave the data uninitialized.
2016-04-23Add missing file to buildfileBoris Kolpackov1-1/+1
2016-04-23Revert back to using root scope in src_out()/out_src()Boris Kolpackov6-20/+22
Relaxing it to base was not wise since we can have "sideways" prerequisites (those from parallel directories such as brep's ../web/*).
2016-04-22Bump version to 0.3.0Boris Kolpackov1-3/+3
2016-04-22Clarify few @@ notesBoris Kolpackov2-2/+2
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