Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-03-16 | Add ability for meta-operation to preprocess buildspec | Boris Kolpackov | 1 | -40/+74 | |
2017-03-16 | Add support for passing parameters to (meta-) operations | Boris Kolpackov | 1 | -41/+64 | |
2017-03-14 | Implement implied buildfile support | Boris Kolpackov | 1 | -9/+27 | |
In essence, if the buildfile is: ./: */ Then it can be omitted entirely (provided there is at least one subdirectory). | |||||
2017-03-10 | Implement support for wildcard patterns | Boris Kolpackov | 1 | -2/+6 | |
2017-03-02 | Implement parallel match | Boris Kolpackov | 1 | -5/+16 | |
2017-02-13 | Add MT-safe variable_cache, use for variable overrides | Boris Kolpackov | 1 | -1/+5 | |
2017-02-13 | Implement parallel error propagation, keep_going mode | Boris Kolpackov | 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. | |||||
2017-02-13 | Pass const scope& where modification should not happen | Boris Kolpackov | 1 | -3/+13 | |
2017-02-13 | Add bin.vars module | Boris Kolpackov | 1 | -0/+1 | |
Use in cc to make sure hint variables are already registered. | |||||
2017-02-13 | Add scheduling calls to operation's match() | Boris Kolpackov | 1 | -15/+9 | |
2017-02-13 | Add model mutex, make var_pool const by default | Boris Kolpackov | 1 | -12/+18 | |
2017-02-03 | Add sed builtin | Karen Arutyunov | 1 | -1/+15 | |
2017-01-20 | Add more comments to meta/operation loop | Boris Kolpackov | 1 | -6/+6 | |
2017-01-19 | Get rid of extension_pool | Boris Kolpackov | 1 | -1/+3 | |
2017-01-09 | Make use of operator<<(ostream, exception) | Karen Arutyunov | 1 | -1/+1 | |
2017-01-05 | Update copyright year | Boris Kolpackov | 1 | -2/+2 | |
2016-12-13 | Use config macros from libbutl | Boris Kolpackov | 1 | -4/+0 | |
2016-12-09 | Initial parallel scheduler implementation, use to run testscrips | Boris Kolpackov | 1 | -7/+52 | |
2016-11-22 | Add missing non-existent src_base diagnostics | Boris Kolpackov | 1 | -0/+13 | |
2016-11-18 | Implement noop meta-operation | Boris Kolpackov | 1 | -8/+9 | |
The effect is loading all the buildfiles but not searching/matching/executing any targets/operations. Useful for testing. | |||||
2016-11-04 | Add build.driver variable with build system driver path (argv[0]) | Boris Kolpackov | 1 | -1/+2 | |
2016-11-04 | Factor global initialization into init() analogous to reset() | Boris Kolpackov | 1 | -14/+4 | |
2016-09-15 | Add io_error alias for std::ios_base::failure | Karen Arutyunov | 1 | -4/+4 | |
2016-09-13 | Fix crashing on unhandled system_error thrown by file_exists() | Karen Arutyunov | 1 | -2/+2 | |
2016-08-30 | Add support for config.build file versioning | Boris Kolpackov | 1 | -10/+6 | |
2016-08-26 | Add pkg-config support for import installed | Boris Kolpackov | 1 | -0/+4 | |
Redesign library importing/exporting while at it. | |||||
2016-08-23 | Split cli module into cli.config and cli | Boris Kolpackov | 1 | -0/+1 | |
2016-08-23 | Add cc.config in addition to cc | Boris Kolpackov | 1 | -0/+1 | |
2016-08-23 | Rename cc.{vars,config} modules to cc.core.{vars,config} | Boris Kolpackov | 1 | -2/+2 | |
We are going to use cc.config for something else. | |||||
2016-08-22 | Add workaround for Windows baseutils /bin search issue | Boris Kolpackov | 1 | -1/+25 | |
2016-08-22 | Add few extra tracing statements | Boris Kolpackov | 1 | -4/+7 | |
2016-08-15 | Include host machine in --version output | Boris Kolpackov | 1 | -0/+1 | |
2016-08-12 | Rename module to init | Boris Kolpackov | 1 | -7/+7 | |
2016-08-12 | Implement support for C compilation | Boris Kolpackov | 1 | -13/+33 | |
We now have two new modules: cc (c-common) and c. | |||||
2016-08-03 | Add -V option as equivalent to --verbose 3 | Boris Kolpackov | 1 | -1/+1 | |
2016-08-02 | Trace PATH environment variable | Boris Kolpackov | 1 | -2/+6 | |
2016-07-30 | Actualize project root directories | Boris Kolpackov | 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:\. | |||||
2016-07-25 | Only do "effective escaping" (['"\$(]) on the command line | Boris Kolpackov | 1 | -2/+0 | |
This will make things more convenient on Windows provided we use "sane" paths (no spaces, no (), etc). | |||||
2016-07-23 | Adapt to fdstream extension | Karen Arutyunov | 1 | -0/+3 | |
2016-07-22 | Change default var override from 'projects and subprojects' to amalgamation | Boris Kolpackov | 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 | |||||
2016-07-20 | Move ar/ranlib to bin.ar sub-module, load in cxx unless shared-only build | Boris Kolpackov | 1 | -0/+1 | |
This way we don't load/configure what we don't need. | |||||
2016-07-12 | Get src_root value if we have already bootstrapped this project | Boris Kolpackov | 1 | -0/+2 | |
This fixes a core dump in out-of-source 'clean update' run. | |||||
2016-07-11 | Add bin.rc module (resource compiler) | Boris Kolpackov | 1 | -0/+1 | |
2016-07-11 | Add bin.ld sub-module | Boris Kolpackov | 1 | -0/+1 | |
2016-07-08 | Move filesystem-related functions from context to new filesystem files | Boris Kolpackov | 1 | -1/+1 | |
2016-07-01 | Port to MSVC | Karen Arutyunov | 1 | -4/+0 | |
2016-06-27 | Add config.bin.target var/hint, use to decide libso{} install mode | Boris Kolpackov | 1 | -1/+1 | |
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-27 | Get rid of extern "C" in module boot()/init() | Boris Kolpackov | 1 | -12/+10 | |
We will have a separate (extern "C") register() function that will return the pointers to these two. This way we can still throw exceptions from boot() and init(). | |||||
2016-06-18 | Port to MinGW | Karen Arutyunov | 1 | -16/+1 | |
2016-04-23 | Revert back to using root scope in src_out()/out_src() | Boris Kolpackov | 1 | -1/+1 | |
Relaxing it to base was not wise since we can have "sideways" prerequisites (those from parallel directories such as brep's ../web/*). |