Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Shorten scheduler queue depth, make it customizable via command line | Boris Kolpackov | 2017-03-17 | 1 | -1/+1 | |
| | ||||||
* | Make line numbers signify argument numbers in buildspec | Boris Kolpackov | 2017-03-17 | 1 | -8/+3 | |
| | ||||||
* | Implement alternative command line buildspec and variable assignment syntax | Boris Kolpackov | 2017-03-17 | 1 | -2/+60 | |
| | | | | | b test: foo/ bar/ b config.import.libhello = ../libhello/ | |||||
* | Implement create meta-operation | Boris Kolpackov | 2017-03-17 | 1 | -4/+5 | |
| | ||||||
* | Add ability for meta-operation to preprocess buildspec | Boris Kolpackov | 2017-03-16 | 1 | -40/+74 | |
| | ||||||
* | Add support for passing parameters to (meta-) operations | Boris Kolpackov | 2017-03-16 | 1 | -41/+64 | |
| | ||||||
* | Implement implied buildfile support | Boris Kolpackov | 2017-03-14 | 1 | -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 patterns | Boris Kolpackov | 2017-03-10 | 1 | -2/+6 | |
| | ||||||
* | Implement parallel match | Boris Kolpackov | 2017-03-02 | 1 | -5/+16 | |
| | ||||||
* | Add MT-safe variable_cache, use for variable overrides | Boris Kolpackov | 2017-02-13 | 1 | -1/+5 | |
| | ||||||
* | Implement parallel error propagation, keep_going mode | Boris Kolpackov | 2017-02-13 | 1 | -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 happen | Boris Kolpackov | 2017-02-13 | 1 | -3/+13 | |
| | ||||||
* | Add bin.vars module | Boris Kolpackov | 2017-02-13 | 1 | -0/+1 | |
| | | | | Use in cc to make sure hint variables are already registered. | |||||
* | Add scheduling calls to operation's match() | Boris Kolpackov | 2017-02-13 | 1 | -15/+9 | |
| | ||||||
* | Add model mutex, make var_pool const by default | Boris Kolpackov | 2017-02-13 | 1 | -12/+18 | |
| | ||||||
* | Add sed builtin | Karen Arutyunov | 2017-02-03 | 1 | -1/+15 | |
| | ||||||
* | Add more comments to meta/operation loop | Boris Kolpackov | 2017-01-20 | 1 | -6/+6 | |
| | ||||||
* | Get rid of extension_pool | Boris Kolpackov | 2017-01-19 | 1 | -1/+3 | |
| | ||||||
* | Make use of operator<<(ostream, exception) | Karen Arutyunov | 2017-01-09 | 1 | -1/+1 | |
| | ||||||
* | Update copyright year | Boris Kolpackov | 2017-01-05 | 1 | -2/+2 | |
| | ||||||
* | Use config macros from libbutl | Boris Kolpackov | 2016-12-13 | 1 | -4/+0 | |
| | ||||||
* | Initial parallel scheduler implementation, use to run testscrips | Boris Kolpackov | 2016-12-09 | 1 | -7/+52 | |
| | ||||||
* | Add missing non-existent src_base diagnostics | Boris Kolpackov | 2016-11-22 | 1 | -0/+13 | |
| | ||||||
* | Implement noop meta-operation | Boris Kolpackov | 2016-11-18 | 1 | -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 Kolpackov | 2016-11-04 | 1 | -1/+2 | |
| | ||||||
* | Factor global initialization into init() analogous to reset() | Boris Kolpackov | 2016-11-04 | 1 | -14/+4 | |
| | ||||||
* | Add io_error alias for std::ios_base::failure | Karen Arutyunov | 2016-09-15 | 1 | -4/+4 | |
| | ||||||
* | Fix crashing on unhandled system_error thrown by file_exists() | Karen Arutyunov | 2016-09-13 | 1 | -2/+2 | |
| | ||||||
* | Add support for config.build file versioning | Boris Kolpackov | 2016-08-30 | 1 | -10/+6 | |
| | ||||||
* | Add pkg-config support for import installed | Boris Kolpackov | 2016-08-26 | 1 | -0/+4 | |
| | | | | Redesign library importing/exporting while at it. | |||||
* | Split cli module into cli.config and cli | Boris Kolpackov | 2016-08-23 | 1 | -0/+1 | |
| | ||||||
* | Add cc.config in addition to cc | Boris Kolpackov | 2016-08-23 | 1 | -0/+1 | |
| | ||||||
* | Rename cc.{vars,config} modules to cc.core.{vars,config} | Boris Kolpackov | 2016-08-23 | 1 | -2/+2 | |
| | | | | We are going to use cc.config for something else. | |||||
* | Add workaround for Windows baseutils /bin search issue | Boris Kolpackov | 2016-08-22 | 1 | -1/+25 | |
| | ||||||
* | Add few extra tracing statements | Boris Kolpackov | 2016-08-22 | 1 | -4/+7 | |
| | ||||||
* | Include host machine in --version output | Boris Kolpackov | 2016-08-15 | 1 | -0/+1 | |
| | ||||||
* | Rename module to init | Boris Kolpackov | 2016-08-12 | 1 | -7/+7 | |
| | ||||||
* | Implement support for C compilation | Boris Kolpackov | 2016-08-12 | 1 | -13/+33 | |
| | | | | We now have two new modules: cc (c-common) and c. | |||||
* | Add -V option as equivalent to --verbose 3 | Boris Kolpackov | 2016-08-03 | 1 | -1/+1 | |
| | ||||||
* | Trace PATH environment variable | Boris Kolpackov | 2016-08-02 | 1 | -2/+6 | |
| | ||||||
* | Actualize project root directories | Boris Kolpackov | 2016-07-30 | 1 | -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 line | Boris Kolpackov | 2016-07-25 | 1 | -2/+0 | |
| | | | | | This will make things more convenient on Windows provided we use "sane" paths (no spaces, no (), etc). | |||||
* | Adapt to fdstream extension | Karen Arutyunov | 2016-07-23 | 1 | -0/+3 | |
| | ||||||
* | Change default var override from 'projects and subprojects' to amalgamation | Boris Kolpackov | 2016-07-22 | 1 | -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 build | Boris Kolpackov | 2016-07-20 | 1 | -0/+1 | |
| | | | | This way we don't load/configure what we don't need. | |||||
* | Get src_root value if we have already bootstrapped this project | Boris Kolpackov | 2016-07-12 | 1 | -0/+2 | |
| | | | | This fixes a core dump in out-of-source 'clean update' run. | |||||
* | Add bin.rc module (resource compiler) | Boris Kolpackov | 2016-07-11 | 1 | -0/+1 | |
| | ||||||
* | Add bin.ld sub-module | Boris Kolpackov | 2016-07-11 | 1 | -0/+1 | |
| | ||||||
* | Move filesystem-related functions from context to new filesystem files | Boris Kolpackov | 2016-07-08 | 1 | -1/+1 | |
| | ||||||
* | Port to MSVC | Karen Arutyunov | 2016-07-01 | 1 | -4/+0 | |
| |