summaryrefslogtreecommitdiffstats
path: root/build2/b.cxx
Commit message (Collapse)AuthorAgeFilesLines
...
* Shorten scheduler queue depth, make it customizable via command lineBoris Kolpackov2017-03-171-1/+1
|
* Make line numbers signify argument numbers in buildspecBoris Kolpackov2017-03-171-8/+3
|
* Implement alternative command line buildspec and variable assignment syntaxBoris Kolpackov2017-03-171-2/+60
| | | | | b test: foo/ bar/ b config.import.libhello = ../libhello/
* Implement create meta-operationBoris Kolpackov2017-03-171-4/+5
|
* Add ability for meta-operation to preprocess buildspecBoris Kolpackov2017-03-161-40/+74
|
* Add support for passing parameters to (meta-) operationsBoris Kolpackov2017-03-161-41/+64
|
* Implement implied buildfile supportBoris Kolpackov2017-03-141-9/+27
| | | | | | | | In essence, if the buildfile is: ./: */ Then it can be omitted entirely (provided there is at least one subdirectory).
* Implement support for wildcard patternsBoris Kolpackov2017-03-101-2/+6
|
* Implement parallel matchBoris Kolpackov2017-03-021-5/+16
|
* Add MT-safe variable_cache, use for variable overridesBoris Kolpackov2017-02-131-1/+5
|
* Implement parallel error propagation, keep_going modeBoris Kolpackov2017-02-131-26/+31
| | | | | | | Keep going is the default but there is now the -s|--serial-stop that makes the driver run serially and stop at first error. Also fix some lockups, other minor improvements/features.
* Pass const scope& where modification should not happenBoris Kolpackov2017-02-131-3/+13
|
* Add bin.vars moduleBoris Kolpackov2017-02-131-0/+1
| | | | Use in cc to make sure hint variables are already registered.
* Add scheduling calls to operation's match()Boris Kolpackov2017-02-131-15/+9
|
* Add model mutex, make var_pool const by defaultBoris Kolpackov2017-02-131-12/+18
|
* Add sed builtinKaren Arutyunov2017-02-031-1/+15
|
* Add more comments to meta/operation loopBoris Kolpackov2017-01-201-6/+6
|
* Get rid of extension_poolBoris Kolpackov2017-01-191-1/+3
|
* Make use of operator<<(ostream, exception)Karen Arutyunov2017-01-091-1/+1
|
* Update copyright yearBoris Kolpackov2017-01-051-2/+2
|
* Use config macros from libbutlBoris Kolpackov2016-12-131-4/+0
|
* Initial parallel scheduler implementation, use to run testscripsBoris Kolpackov2016-12-091-7/+52
|
* Add missing non-existent src_base diagnosticsBoris Kolpackov2016-11-221-0/+13
|
* Implement noop meta-operationBoris Kolpackov2016-11-181-8/+9
| | | | | The effect is loading all the buildfiles but not searching/matching/executing any targets/operations. Useful for testing.
* Add build.driver variable with build system driver path (argv[0])Boris Kolpackov2016-11-041-1/+2
|
* Factor global initialization into init() analogous to reset()Boris Kolpackov2016-11-041-14/+4
|
* Add io_error alias for std::ios_base::failureKaren Arutyunov2016-09-151-4/+4
|
* Fix crashing on unhandled system_error thrown by file_exists()Karen Arutyunov2016-09-131-2/+2
|
* Add support for config.build file versioningBoris Kolpackov2016-08-301-10/+6
|
* Add pkg-config support for import installedBoris Kolpackov2016-08-261-0/+4
| | | | Redesign library importing/exporting while at it.
* Split cli module into cli.config and cliBoris Kolpackov2016-08-231-0/+1
|
* Add cc.config in addition to ccBoris Kolpackov2016-08-231-0/+1
|
* Rename cc.{vars,config} modules to cc.core.{vars,config}Boris Kolpackov2016-08-231-2/+2
| | | | We are going to use cc.config for something else.
* Add workaround for Windows baseutils /bin search issueBoris Kolpackov2016-08-221-1/+25
|
* Add few extra tracing statementsBoris Kolpackov2016-08-221-4/+7
|
* Include host machine in --version outputBoris Kolpackov2016-08-151-0/+1
|
* Rename module to initBoris Kolpackov2016-08-121-7/+7
|
* Implement support for C compilationBoris Kolpackov2016-08-121-13/+33
| | | | We now have two new modules: cc (c-common) and c.
* Add -V option as equivalent to --verbose 3Boris Kolpackov2016-08-031-1/+1
|
* Trace PATH environment variableBoris Kolpackov2016-08-021-2/+6
|
* Actualize project root directoriesBoris Kolpackov2016-07-301-4/+8
| | | | | | | | | | | | | | | | | | | | | | This solves the problem of changing path spelling on platforms with case- insensitive filesystems. For example, you may build a project in the current working directory without specifying any paths. This means the current working directory will be used as the project's root. On Windows this could be C:\x. Now you are building another project that imports the above project and you specify config.import.x variable pointing to the above build. But you are lazy to type capital C so you spell it as config.import.x=c:\x. What happens now is the value from config.import.x is used as the project root. And now it is a different spelling compared to your original build. This is not a problem when the build system itself is concerned -- it is smart enough to use case-insensitive comparison. However, we often use roots to derive other things, say, -I options that we pass to compilers. And these options are normally no longer treated as (case-insensitive) paths. If they are hashed and the result stored in depdb, then we end up with rebuilds that are triggered by changes from C:\ to c:\.
* Only do "effective escaping" (['"\$(]) on the command lineBoris Kolpackov2016-07-251-2/+0
| | | | | This will make things more convenient on Windows provided we use "sane" paths (no spaces, no (), etc).
* Adapt to fdstream extensionKaren Arutyunov2016-07-231-0/+3
|
* Change default var override from 'projects and subprojects' to amalgamationBoris Kolpackov2016-07-221-3/+33
| | | | | | | | | | | 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
* Move ar/ranlib to bin.ar sub-module, load in cxx unless shared-only buildBoris Kolpackov2016-07-201-0/+1
| | | | This way we don't load/configure what we don't need.
* Get src_root value if we have already bootstrapped this projectBoris Kolpackov2016-07-121-0/+2
| | | | This fixes a core dump in out-of-source 'clean update' run.
* Add bin.rc module (resource compiler)Boris Kolpackov2016-07-111-0/+1
|
* Add bin.ld sub-moduleBoris Kolpackov2016-07-111-0/+1
|
* Move filesystem-related functions from context to new filesystem filesBoris Kolpackov2016-07-081-1/+1
|
* Port to MSVCKaren Arutyunov2016-07-011-4/+0
|