Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-03-07 | Move bunch of root scope-only data members to root_extra | Boris Kolpackov | 1 | -32/+29 | |
2019-03-07 | Add support for alternative build file/directory naming scheme | Boris Kolpackov | 1 | -109/+272 | |
Now the build/*.build, buildfile, and .buildignore filesystem entries in a project can alternatively (but consistently) be called build2/*.build2, build2file, and .build2ignore. See a note at the beginning of the Project Structure section in the manual for details (motivation, restrictions, etc). | |||||
2019-01-16 | Update copyright year | Karen Arutyunov | 1 | -1/+1 | |
2018-11-14 | Fallback to loading outer buildfile if there isn't one in src_base | Boris Kolpackov | 1 | -7/+9 | |
This covers the case where the target is defined in the outer buildfile which is common with non-intrusive project conversions where everything is built from a single root buildfile. | |||||
2018-11-09 | Add support for relative to base scope command line variable overrides | Boris Kolpackov | 1 | -2/+2 | |
Currently, if we say: $ b dir/ ./foo=bar The scope the foo=bar is set on is relative to CWD, not dir/. While this may seem wrong at first, this is the least surprising behavior when we take into account that there can be multiple dir/'s. Sometimes, however, we do want the override directory to be treated relative to (every) target's base scope that we are building. To support this we are extending the '.' and '..' special directory names (which are still resolved relative to CWD) with '...', which means "relative to the base scope of every target in the buildspec". For example: $ b dir/ .../foo=bar Is equivalent to: $ b dir/ dir/foo=bar And: $ b liba/ libb/ .../tests/foo=bar Is equivalent to: $ b liba/ libb/ liba/tests/foo=bar libb/tests/foo=bar | |||||
2018-08-30 | Handle missing export directive in export stub | Boris Kolpackov | 1 | -2/+11 | |
If none were executed, then we assume the requested target is not exported. | |||||
2018-08-29 | Fix typo in diagnostics | Boris Kolpackov | 1 | -1/+1 | |
2018-07-30 | Make project variable to be of project_name type | Karen Arutyunov | 1 | -37/+22 | |
2018-07-23 | Sanitize project name when forming config.import.<proj> variable | Boris Kolpackov | 1 | -5/+23 | |
Specifically, '-', '+', and '.' are replaced with '_' to form a "canonical" variable name. | |||||
2018-05-23 | Fix bug in inner project bootstrap during configure/disfigure | Boris Kolpackov | 1 | -2/+7 | |
2018-05-19 | Update copyright year | Karen Arutyunov | 1 | -1/+1 | |
2018-05-18 | Pass ignore_dangling flag to dir_iterator() ctor | Karen Arutyunov | 1 | -74/+80 | |
2018-05-14 | Tolerate misconfigured src_root in info and disfigure meta-operations | Boris Kolpackov | 1 | -18/+63 | |
2018-04-27 | Add support for build hooks | Boris Kolpackov | 1 | -43/+135 | |
The following buildfiles are loaded (if present) at appropriate times from the out_root subdirectories of a project: build/bootstrap/pre-*.build # before loading bootstrap.build build/bootstrap/post-*.build # after loading bootstrap.build build/root/pre-*.build # before loading root.build build/root/post-*.build # after loading root.build | |||||
2018-04-26 | Implement forwarded configurations and backlinking | Boris Kolpackov | 1 | -48/+116 | |
2018-04-24 | Minor code reuse improvement | Boris Kolpackov | 1 | -1/+1 | |
2018-01-05 | Add support for variable aliases | Boris Kolpackov | 1 | -1/+1 | |
2018-01-04 | Load config.build in init(), not boot() | Boris Kolpackov | 1 | -6/+10 | |
We now make sure the config module is init'ed first. | |||||
2017-12-13 | Implement info meta operation | Boris Kolpackov | 1 | -7/+25 | |
This meta operation can be used to print basic information (name, version, source/output roots, etc) for one or more projects. | |||||
2017-11-29 | Reimplement module sidebuilding using an ad hoc subproject | Boris Kolpackov | 1 | -15/+39 | |
2017-09-06 | Call dist callback in subprojects | Boris Kolpackov | 1 | -1/+0 | |
This fixes a bug with no updating manifest versions in build2-toolchain subprojects. | |||||
2017-09-03 | Cleanup project src/out_root/base discovery logic | Boris Kolpackov | 1 | -14/+9 | |
Specifically, we no longer support specifying the out_base explicitly and assuming work is src_base. | |||||
2017-07-28 | Restrict exe{} search to PATH when importing | Boris Kolpackov | 1 | -1/+3 | |
2017-05-13 | Fix VC15 warnings (/W3) | Karen Arutyunov | 1 | -1/+1 | |
2017-05-01 | Add hxx extension for headers | Karen Arutyunov | 1 | -11/+11 | |
2017-03-02 | Implement parallel match | Boris Kolpackov | 1 | -3/+3 | |
2017-02-13 | Track variable value modifications | Boris Kolpackov | 1 | -1/+1 | |
2017-02-13 | Tighten code that operates during both search/match and execute | Boris Kolpackov | 1 | -17/+29 | |
2017-02-13 | Pass const scope& where modification should not happen | Boris Kolpackov | 1 | -17/+19 | |
2017-02-13 | Implement pattern-based variable typing, tighten variable type update | Boris Kolpackov | 1 | -4/+8 | |
2017-02-13 | Add notion of phase, enforce | Boris Kolpackov | 1 | -4/+5 | |
2017-02-13 | Add model mutex, make var_pool const by default | Boris Kolpackov | 1 | -42/+41 | |
2017-01-23 | Implement automatic loading of directory buildfiles | Boris Kolpackov | 1 | -3/+46 | |
Now instead of explicitly writing: d = foo/ bar/ ./: $d include $d We can (usually) just write: ./: foo/ bar/ | |||||
2017-01-19 | Get rid of extension_pool | Boris Kolpackov | 1 | -3/+6 | |
2017-01-19 | Get rid of project_name_pool | Boris Kolpackov | 1 | -8/+8 | |
With small string optimizations this is most likely a hindrance rather that an optimization. | |||||
2017-01-09 | Make use of operator<<(ostream, exception) | Karen Arutyunov | 1 | -3/+3 | |
2017-01-05 | Update copyright year | Boris Kolpackov | 1 | -1/+1 | |
2016-12-17 | Add support for specifying individual paths of imported targets | Boris Kolpackov | 1 | -44/+101 | |
The new config.import.* variable format is: config.import.<proj>.<name>[.<type>] For example: b config.import.build2.b=/opt/build2/bin/b b config.import.build2.b.exe=b-boot | |||||
2016-12-17 | Use PATH search as fallback import mechanism for exe{} targets | Boris Kolpackov | 1 | -7/+52 | |
2016-11-22 | Use diagnostics facility from libbutl | Boris Kolpackov | 1 | -6/+3 | |
2016-11-18 | Implement noop meta-operation | Boris Kolpackov | 1 | -0/+1 | |
The effect is loading all the buildfiles but not searching/matching/executing any targets/operations. Useful for testing. | |||||
2016-11-04 | Change token type 'name' to more general 'word' | Boris Kolpackov | 1 | -1/+1 | |
2016-11-04 | Various design/implementation cleanups | Boris Kolpackov | 1 | -2/+2 | |
2016-09-15 | Add io_error alias for std::ios_base::failure | Karen Arutyunov | 1 | -3/+3 | |
2016-09-13 | Fix crashing on subprojects that have no project variable set | Karen Arutyunov | 1 | -2/+2 | |
2016-09-13 | Fix crashing on unhandled system_error thrown by file_exists() | Karen Arutyunov | 1 | -9/+8 | |
2016-09-06 | Don't search for subprojects recursively, only at top-level | Boris Kolpackov | 1 | -1/+7 | |
2016-08-30 | Add support for config.build file versioning | Boris Kolpackov | 1 | -9/+22 | |
2016-08-23 | Treat empty config.import.* value as instruction to skip subproject search | Boris Kolpackov | 1 | -39/+53 | |
Also, change explicit config.import.* value to take precedence over subproject search. | |||||
2016-08-22 | Add few extra tracing statements | Boris Kolpackov | 1 | -0/+10 | |