Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-12-14 | Improve empty simple value to empty list of names reduction heuristics | Boris Kolpackov | 1 | -1/+1 | |
Specifically, do not reduce typed RHS empty simple values for prepend/append and additionally for assignment provided LHS is typed and is a container. | |||||
2022-12-12 | Adapt to dir_iterator API change | Karen Arutyunov | 1 | -2/+18 | |
2022-12-02 | Fail if scope or target qualification in variable expansion is unknown | Boris Kolpackov | 1 | -1/+5 | |
There are three options here: we can "fall through" to an outer scope (there is always the global scope backstop; this is the old semantics, sort of), we can return NULL straight away, or we can fail. It feels like in most cases unknown scope or target is a mistake and doing anything other than failing is just making things harder to debug. | |||||
2022-11-29 | Move buildfiles to root_extra, use vector instead of unordered_set | Boris Kolpackov | 1 | -2/+2 | |
2022-11-16 | Initial low verbosity diagnostics rework | Boris Kolpackov | 1 | -8/+15 | |
2022-11-09 | Make process exit diagnostics in executable metadata extraction consistent | Boris Kolpackov | 1 | -11/+30 | |
2022-11-08 | Make process exit diagnostics consistent | Boris Kolpackov | 1 | -0/+2 | |
In particular, we now always print error message on non-0 exit except in cases where such exit is ignored. | |||||
2022-10-13 | Work around Clang 6, 7 codegen issues | Boris Kolpackov | 1 | -33/+25 | |
2022-10-13 | Optimize by going straight to public variable pool where applicable | Boris Kolpackov | 1 | -1/+3 | |
2022-10-13 | Switch to public/private variables model | Boris Kolpackov | 1 | -4/+6 | |
Now unqualified variables are project-private and can be typified. | |||||
2022-10-11 | Factor variable patterns out of variable_pool into separate variable_patterns | Boris Kolpackov | 1 | -1/+1 | |
We have patterns only for the public variables pool. | |||||
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 | |