Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-04-18 | Avoid locking target set if in load phase | Boris Kolpackov | 1 | -0/+3 | |
2022-02-16 | Add pre/post hooks to load_root() | Boris Kolpackov | 1 | -1/+15 | |
2022-02-14 | Add ability to override amalgamation and subprojects in bootstrap_src() | Boris Kolpackov | 1 | -2/+33 | |
2021-12-15 | Return stable imported target name from import_direct() | Boris Kolpackov | 1 | -17/+41 | |
2021-10-26 | Add comment | Boris Kolpackov | 1 | -2/+4 | |
2021-10-15 | Allow explicit amalgamation by simple projects | Boris Kolpackov | 1 | -9/+8 | |
2021-09-02 | Add diag_frame around export stub loading | Boris Kolpackov | 1 | -2/+11 | |
This gives the location of the importer in case the export stub issues any diagnostics. | |||||
2021-08-13 | Fix amalgamation discovery logic some more | Boris Kolpackov | 1 | -1/+5 | |
2021-08-03 | Fix incorrect assumption in amalgamation discovery logic | Boris Kolpackov | 1 | -8/+10 | |
2021-07-30 | Fix issue in amalgamation discovery | Boris Kolpackov | 1 | -41/+53 | |
2021-05-07 | Various improvements and clarifications in metadata handling | Boris Kolpackov | 1 | -42/+81 | |
2021-04-22 | Incorporate project environment checksum into cc::compiler_info cache key | Boris Kolpackov | 1 | -1/+2 | |
2021-04-07 | Register environment variables for hermetic build configurations | Boris Kolpackov | 1 | -5/+25 | |
2021-04-02 | Add support for propagating project environment | Boris Kolpackov | 1 | -5/+32 | |
2021-03-19 | Redo entering of src directories into scope_map | Boris Kolpackov | 1 | -13/+13 | |
2021-02-08 | Enter scope src directories into scope map | Boris Kolpackov | 1 | -16/+32 | |
2021-01-12 | Diagnose typed and project-qualified empty names | Boris Kolpackov | 1 | -0/+5 | |
2020-12-15 | Cache more results of executing programs (compilers, etc) | Boris Kolpackov | 1 | -8/+23 | |
2020-12-14 | Fix bug in create_new_target_locked() | Karen Arutyunov | 1 | -1/+1 | |
2020-11-13 | Minor tracing fix and addition | Boris Kolpackov | 1 | -1/+1 | |
2020-11-06 | Add support for test timeouts | Karen Arutyunov | 1 | -0/+1 | |
2020-10-28 | Pad config report to maximum name length | Boris Kolpackov | 1 | -10/+32 | |
2020-09-24 | Give hints for common causes of "no rule to update ..." error | Boris Kolpackov | 1 | -1/+1 | |
2020-09-24 | Add post-boot module function | Boris Kolpackov | 1 | -1/+10 | |
2020-09-22 | Add ability to skip external modules during bootstrap (--no-external-modules) | Boris Kolpackov | 1 | -1/+7 | |
2020-09-15 | Handle infinite output when extracting metadata (GitHub issue #102) | Boris Kolpackov | 1 | -2/+22 | |
2020-08-26 | Fix bug in module initialization order | Boris Kolpackov | 1 | -21/+13 | |
2020-08-24 | Only suggest ad hoc path import for path-based targets | Boris Kolpackov | 1 | -6/+10 | |
2020-08-16 | Add ability to initialize bootstrapped modules after loading root.build | Boris Kolpackov | 1 | -5/+23 | |
2020-08-16 | Redo modules map as vector | Boris Kolpackov | 1 | -8/+4 | |
2020-07-12 | Cache subprojects variable value in scope::root_extra | Boris Kolpackov | 1 | -35/+17 | |
2020-07-10 | Add support for project-local importation | Boris Kolpackov | 1 | -11/+19 | |
An import without a project name or with the same name as the importing project's is now treated as importation from the same project. For example, given the libhello project that exports the lib{hello} target, a buildfile for an executable in the same project instead of doing something like this: include ../libhello/ exe{hello}: ../libhello/lib{hello} Can now do this: import lib = libhello%lib{hello} Or: import lib = lib{hello} And then: exe{hello}: $lib Note that a target in project-local importation must still be exported in the project's export stub. In other words, project-local importation goes through the same mechanisms as normal import. | |||||
2020-07-09 | Add support for ad hoc importation | Boris Kolpackov | 1 | -68/+299 | |
2020-07-08 | Fix bug in switch_scope() | Boris Kolpackov | 1 | -1/+1 | |
2020-07-03 | Cutoff amalgamation and subproject for simple projects | Boris Kolpackov | 1 | -40/+35 | |
2020-07-02 | Optimize variable extraction in bootstrap_src() | Boris Kolpackov | 1 | -64/+58 | |
2020-07-02 | Cache project name in root_extra | Boris Kolpackov | 1 | -8/+29 | |
2020-06-09 | Make importation of unqualified targets illegal | Boris Kolpackov | 1 | -6/+9 | |
2020-06-09 | Move recipe build directory to build/build/recipes/ | Boris Kolpackov | 1 | -6/+9 | |
Our new scheme is to have any "out" content in a subdirectory called build/ (build/build/ for the build system core, build/<module>/build/ for modules). This way we can ignore them in .gitignore with a generic entry. | |||||
2020-06-09 | Make metadata variable prefix mandatory | Boris Kolpackov | 1 | -28/+10 | |
While we could automatically set it if the target is imported, there is nothing we can do if the target is used in the same project. So to avoid confusion we make it mandatory. | |||||
2020-06-03 | Add clarifying comment | Boris Kolpackov | 1 | -0/+5 | |
2020-06-01 | Extend target metadata to include variable prefix, stable name | Boris Kolpackov | 1 | -26/+76 | |
2020-05-27 | Initial support for ad hoc recipes (still work in progress) | Boris Kolpackov | 1 | -18/+47 | |
2020-05-27 | Amalgamation cutoff support | Boris Kolpackov | 1 | -44/+106 | |
Now a project that disables amalgamation will not logically "see" an outer project even if it's physically inside its scope. | |||||
2020-04-30 | Verify path set by {src,out}-root.build files is absolute | Boris Kolpackov | 1 | -31/+50 | |
2020-04-27 | Get rid of warnings | Boris Kolpackov | 1 | -1/+1 | |
2020-04-27 | Rework tool importation along with cli module | Boris Kolpackov | 1 | -136/+710 | |
Specifically, now config.<tool> (like config.cli) is handled by the import machinery (it is like a shorter alias for config.import.<tool>.<tool>.exe that we already had). And the cli module now uses that instead of custom logic. This also adds support for uniform tool metadata extraction that is handled by the import machinery. As a result, a tool that follows the "build2 way" can be imported with metadata by the buildfile and/or corresponding module without any tool-specific code or brittleness associated with parsing --version or similar outputs. See the cli tool/module for details. Finally, two new flavors of the import directive are now supported: import! triggers immediate importation skipping any rule-specific logic while import? is optional import (analogous to using?). Note that optional import is always immediate. There is also the import-specific metadata attribute which can be specified for these two import flavors in order to trigger metadata importation. For example: import? [metadata] cli = cli%exe{cli} if ($cli != [null]) info "cli version $($cli:cli.version)" | |||||
2020-04-27 | Don't switch projects when switching scopes during bootstrap | Boris Kolpackov | 1 | -10/+12 | |
2020-04-08 | Allow configuration variables in unnamed projects | Boris Kolpackov | 1 | -4/+13 | |
While generally a bad idea, there are valid situations where this may happen, such as a standalone build of the tests subproject in test-installed. | |||||
2020-04-08 | Document project-specific configuration support | Boris Kolpackov | 1 | -1/+2 | |