Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-10-10 | Preparatory work for public/private variable distinction | Boris Kolpackov | 1 | -3/+10 | |
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool(). | |||||
2022-06-28 | Add support for rule-specific import phase 2 | Boris Kolpackov | 1 | -10/+80 | |
For example: import! [metadata, rule_hint=cxx.link] lib = libhello%lib{hello} | |||||
2022-06-17 | Add ability to ignore subprojects in create_bootstrap_outer() | Boris Kolpackov | 1 | -3/+3 | |
2022-04-20 | Add explicit flag to more efficiently avoid repeated load_root() calls | Boris Kolpackov | 1 | -19/+21 | |
2022-04-20 | Add import cache | Boris Kolpackov | 1 | -2/+57 | |
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 | |