Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
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/*). | |||||
2016-04-19 | Redesign src/out scoping | Boris Kolpackov | 1 | -1/+7 | |
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-11 | Simplify unconfigured module interface | Boris Kolpackov | 1 | -1/+1 | |
2016-04-05 | Implement --buildfile option, overrides default buildfile, supports '-' | Boris Kolpackov | 1 | -2/+3 | |
2016-04-04 | Implement value typing, null support via value attributes | Boris Kolpackov | 1 | -1/+1 | |
For example: v = [null] v = [string] abc v += ABC # abcABC |