aboutsummaryrefslogtreecommitdiff
path: root/build2/b.cxx
AgeCommit message (Collapse)AuthorFilesLines
2017-08-06Print progress to terminal by defaultKaren Arutyunov1-0/+7
2017-08-05Add --match-only optionBoris Kolpackov1-6/+15
2017-07-25Actualize target path that came from command lineBoris Kolpackov1-1/+1
2017-05-01Add hxx extension for headersKaren Arutyunov1-29/+29
2017-04-28Use version id for printingBoris Kolpackov1-2/+2
2017-04-26Implement version moduleBoris Kolpackov1-0/+2
2017-04-25Rename version header to version-impl to give way to version moduleBoris Kolpackov1-1/+0
2017-03-22Make use of throw_generic_error()Karen Arutyunov1-1/+1
2017-03-17Shorten scheduler queue depth, make it customizable via command lineBoris Kolpackov1-1/+1
2017-03-17Make line numbers signify argument numbers in buildspecBoris Kolpackov1-8/+3
2017-03-17Implement alternative command line buildspec and variable assignment syntaxBoris Kolpackov1-2/+60
b test: foo/ bar/ b config.import.libhello = ../libhello/
2017-03-17Implement create meta-operationBoris Kolpackov1-4/+5
2017-03-16Add ability for meta-operation to preprocess buildspecBoris Kolpackov1-40/+74
2017-03-16Add support for passing parameters to (meta-) operationsBoris Kolpackov1-41/+64
2017-03-14Implement implied buildfile supportBoris Kolpackov1-9/+27
In essence, if the buildfile is: ./: */ Then it can be omitted entirely (provided there is at least one subdirectory).
2017-03-10Implement support for wildcard patternsBoris Kolpackov1-2/+6
2017-03-02Implement parallel matchBoris Kolpackov1-5/+16
2017-02-13Add MT-safe variable_cache, use for variable overridesBoris Kolpackov1-1/+5
2017-02-13Implement parallel error propagation, keep_going modeBoris Kolpackov1-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.
2017-02-13Pass const scope& where modification should not happenBoris Kolpackov1-3/+13
2017-02-13Add bin.vars moduleBoris Kolpackov1-0/+1
Use in cc to make sure hint variables are already registered.
2017-02-13Add scheduling calls to operation's match()Boris Kolpackov1-15/+9
2017-02-13Add model mutex, make var_pool const by defaultBoris Kolpackov1-12/+18
2017-02-03Add sed builtinKaren Arutyunov1-1/+15
2017-01-20Add more comments to meta/operation loopBoris Kolpackov1-6/+6
2017-01-19Get rid of extension_poolBoris Kolpackov1-1/+3
2017-01-09Make use of operator<<(ostream, exception)Karen Arutyunov1-1/+1
2017-01-05Update copyright yearBoris Kolpackov1-2/+2
2016-12-13Use config macros from libbutlBoris Kolpackov1-4/+0
2016-12-09Initial parallel scheduler implementation, use to run testscripsBoris Kolpackov1-7/+52
2016-11-22Add missing non-existent src_base diagnosticsBoris Kolpackov1-0/+13
2016-11-18Implement noop meta-operationBoris Kolpackov1-8/+9
The effect is loading all the buildfiles but not searching/matching/executing any targets/operations. Useful for testing.
2016-11-04Add build.driver variable with build system driver path (argv[0])Boris Kolpackov1-1/+2
2016-11-04Factor global initialization into init() analogous to reset()Boris Kolpackov1-14/+4
2016-09-15Add io_error alias for std::ios_base::failureKaren Arutyunov1-4/+4
2016-09-13Fix crashing on unhandled system_error thrown by file_exists()Karen Arutyunov1-2/+2
2016-08-30Add support for config.build file versioningBoris Kolpackov1-10/+6
2016-08-26Add pkg-config support for import installedBoris Kolpackov1-0/+4
Redesign library importing/exporting while at it.
2016-08-23Split cli module into cli.config and cliBoris Kolpackov1-0/+1
2016-08-23Add cc.config in addition to ccBoris Kolpackov1-0/+1
2016-08-23Rename cc.{vars,config} modules to cc.core.{vars,config}Boris Kolpackov1-2/+2
We are going to use cc.config for something else.
2016-08-22Add workaround for Windows baseutils /bin search issueBoris Kolpackov1-1/+25
2016-08-22Add few extra tracing statementsBoris Kolpackov1-4/+7
2016-08-15Include host machine in --version outputBoris Kolpackov1-0/+1
2016-08-12Rename module to initBoris Kolpackov1-7/+7
2016-08-12Implement support for C compilationBoris Kolpackov1-13/+33
We now have two new modules: cc (c-common) and c.
2016-08-03Add -V option as equivalent to --verbose 3Boris Kolpackov1-1/+1
2016-08-02Trace PATH environment variableBoris Kolpackov1-2/+6
2016-07-30Actualize project root directoriesBoris Kolpackov1-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:\.
2016-07-25Only do "effective escaping" (['"\$(]) on the command lineBoris Kolpackov1-2/+0
This will make things more convenient on Windows provided we use "sane" paths (no spaces, no (), etc).