aboutsummaryrefslogtreecommitdiff
path: root/build2/context.cxx
AgeCommit message (Collapse)AuthorFilesLines
2016-12-05Use empty path for root scopeKaren Arutyunov1-5/+3
2016-11-21Change build.driver/path variable to build.path/process_pathBoris Kolpackov1-16/+9
2016-11-18Implement noop meta-operationBoris Kolpackov1-0/+1
The effect is loading all the buildfiles but not searching/matching/executing any targets/operations. Useful for testing.
2016-11-07Make build.driver path absoluteBoris Kolpackov1-1/+13
2016-11-04Add --no-line, --no-column optionsBoris Kolpackov1-2/+0
2016-11-04Add build.driver variable with build system driver path (argv[0])Boris Kolpackov1-0/+2
2016-11-04Change token type 'name' to more general 'word'Boris Kolpackov1-3/+3
2016-11-04Minor dependency cleanupBoris Kolpackov1-50/+3
2016-11-04Various design/implementation cleanupsBoris Kolpackov1-1/+1
2016-08-30Add support for target visibility, use for dist, test, installBoris Kolpackov1-1/+1
This means we can no longer write: install = false Now it should be: *: install = false
2016-08-30Remove backwards-compatibility kludgesBoris Kolpackov1-4/+0
2016-08-30Add support for config.build file versioningBoris Kolpackov1-0/+5
2016-08-28Limit c.std, cxx.std, and extension visibility to projectBoris Kolpackov1-1/+1
2016-08-19Implement uninstall operationBoris Kolpackov1-0/+1
2016-08-15Include host machine in --version outputBoris Kolpackov1-3/+0
2016-07-28Adjust to new path implementation, use to support reversibilityBoris Kolpackov1-26/+8
2016-07-25Only do "effective escaping" (['"\$(]) on the command lineBoris Kolpackov1-2/+7
This will make things more convenient on Windows provided we use "sane" paths (no spaces, no (), etc).
2016-07-22Change default var override from 'projects and subprojects' to amalgamationBoris Kolpackov1-0/+3
The 'projects and subprojects' semantics resulted in some counter-intuitive behavior. For example, in a project with tests/ as a subproject if one builds one of the tests directly with a non-global override (say C++ compiler), then the main project would be built without the overrides. I this light, overriding in the whole amalgamation seems like the right thing to do. The old behavior can still be obtained with scope qualification, for example: b ./:foo=bar
2016-07-08Move filesystem-related functions from context to new filesystem filesBoris Kolpackov1-86/+0
2016-07-08Implement limited rpath emulation for WindowsBoris Kolpackov1-13/+13
2016-06-27Add config.bin.target var/hint, use to decide libso{} install modeBoris Kolpackov1-1/+4
Normally the user doesn't need to specify config.bin.target explicitly since the cxx module will hint it. We now also have the whole set of target's components: bin.target.{cpu,vendor,system,version,class}
2016-06-18Port to MinGWKaren Arutyunov1-2/+4
2016-04-23Revert back to using root scope in src_out()/out_src()Boris Kolpackov1-10/+12
Relaxing it to base was not wise since we can have "sideways" prerequisites (those from parallel directories such as brep's ../web/*).
2016-04-19Redesign src/out scopingBoris Kolpackov1-17/+12
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-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-06Set src/out_path on global_scopeBoris Kolpackov1-2/+8
2016-04-05Implement --buildfile option, overrides default buildfile, supports '-'Boris Kolpackov1-0/+3
2016-04-04Implement value typing, null support via value attributesBoris Kolpackov1-7/+12
For example: v = [null] v = [string] abc v += ABC # abcABC
2016-04-02Add backwards compatibility mark (@@ BACK)Boris Kolpackov1-1/+1
2016-04-01Get part of variable override implementationBoris Kolpackov1-14/+3
2016-03-31Set part of variable override implementationBoris Kolpackov1-14/+79
2016-03-30Minor parser interface reworkBoris Kolpackov1-1/+1
2016-03-29Reset build state for each meta-operationBoris Kolpackov1-14/+54
2016-03-28Clean up variable usageBoris Kolpackov1-9/+7
2016-03-28Enable @-delimited pairs mode everywhereBoris Kolpackov1-2/+2
2016-03-16Cleanup variable typingBoris Kolpackov1-8/+8
2016-03-16Cleanup typed variable assignmentBoris Kolpackov1-15/+15
2016-03-15Temporarily make buildfiles compatible with build2 0.2.0Boris Kolpackov1-0/+4
2016-03-15Set build.version, build.version.{major,minor,patch,release,string}Boris Kolpackov1-1/+23
2016-03-11Implement --config-{guess,sub} optionsBoris Kolpackov1-22/+31
2016-03-10Set build.host.* variablesBoris Kolpackov1-7/+46
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-5/+1
2016-01-29Move work, home to build. namespaceBoris Kolpackov1-4/+4
2016-01-23Cleanup absolute/relative path diagnostics by introducing stream verbosityBoris Kolpackov1-19/+6
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+391