aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/file.cxx
AgeCommit message (Collapse)AuthorFilesLines
3 daysHandle config.import.*.<name>.{liba,libs} in cc::search_library()Boris Kolpackov1-4/+7
In particular, this provides support for using prefixed/suffixed installed libraries (GH issue #449). Note that the current implementation only supports immediate import but it feels like this limitation can be removed with some effort in the future.
2024-08-29Improve diagnostics around importationBoris Kolpackov1-9/+12
2024-06-24Fail instead of aborting on src and out directories naming scheme mismatch ↵Karen Arutyunov1-2/+3
(GH issue #394)
2024-04-25Skip hidden filesystem entries when looking for subprojectsBoris Kolpackov1-2/+9
2024-03-21Improve import diagnosticsBoris Kolpackov1-0/+12
2024-03-01Use original variable name in config reportBoris Kolpackov1-15/+40
2024-02-06Fix bunch of maybe used uninitialized warningsBoris Kolpackov1-1/+1
2024-01-16Fix bug in import_load() (GH issue #357)Boris Kolpackov1-0/+6
2024-01-15Automatically alias unknown target types of imported targetsBoris Kolpackov1-21/+70
2024-01-15Fail with unable to import rather than unknown target typeBoris Kolpackov1-7/+62
2024-01-09Allow imported buildfiles to using config.* variables from own projectBoris Kolpackov1-8/+21
2023-11-01Add notion of match optionsBoris Kolpackov1-1/+1
Now, when matching a rule, the caller may request a subset of the full functionality of performing an operation on a target. This is achieved with match options.
2023-09-06Don't crash if config.report.variable names undefined variableBoris Kolpackov1-2/+2
2023-08-23Replace assert with diagnostics in bootstrap_src() (GH issue #322)Boris Kolpackov1-0/+9
2023-06-09Add explicit move as recommended by Clang warningBoris Kolpackov1-1/+1
2023-06-08Add support for buildfile importationBoris Kolpackov1-32/+210
2023-05-29Explicit group: dynamic membersBoris Kolpackov1-1/+1
2023-05-16Enter export stub targets with correct outBoris Kolpackov1-1/+1
2023-04-19Fix several issues in build system module importation logicmodule-importBoris Kolpackov1-4/+7
2022-12-14Improve empty simple value to empty list of names reduction heuristicsBoris Kolpackov1-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-12Adapt to dir_iterator API changeKaren Arutyunov1-2/+18
2022-12-02Fail if scope or target qualification in variable expansion is unknownBoris Kolpackov1-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-29Move buildfiles to root_extra, use vector instead of unordered_setBoris Kolpackov1-2/+2
2022-11-16Initial low verbosity diagnostics reworkBoris Kolpackov1-8/+15
2022-11-09Make process exit diagnostics in executable metadata extraction consistentBoris Kolpackov1-11/+30
2022-11-08Make process exit diagnostics consistentBoris Kolpackov1-0/+2
In particular, we now always print error message on non-0 exit except in cases where such exit is ignored.
2022-10-13Work around Clang 6, 7 codegen issuesBoris Kolpackov1-33/+25
2022-10-13Optimize by going straight to public variable pool where applicableBoris Kolpackov1-1/+3
2022-10-13Switch to public/private variables modelBoris Kolpackov1-4/+6
Now unqualified variables are project-private and can be typified.
2022-10-11Factor variable patterns out of variable_pool into separate variable_patternsBoris Kolpackov1-1/+1
We have patterns only for the public variables pool.
2022-10-10Preparatory work for public/private variable distinctionBoris Kolpackov1-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-28Add support for rule-specific import phase 2Boris Kolpackov1-10/+80
For example: import! [metadata, rule_hint=cxx.link] lib = libhello%lib{hello}
2022-06-17Add ability to ignore subprojects in create_bootstrap_outer()Boris Kolpackov1-3/+3
2022-04-20Add explicit flag to more efficiently avoid repeated load_root() callsBoris Kolpackov1-19/+21
2022-04-20Add import cacheBoris Kolpackov1-2/+57
2022-04-18Avoid locking target set if in load phaseBoris Kolpackov1-0/+3
2022-02-16Add pre/post hooks to load_root()Boris Kolpackov1-1/+15
2022-02-14Add ability to override amalgamation and subprojects in bootstrap_src()Boris Kolpackov1-2/+33
2021-12-15Return stable imported target name from import_direct()Boris Kolpackov1-17/+41
2021-10-26Add commentBoris Kolpackov1-2/+4
2021-10-15Allow explicit amalgamation by simple projectsBoris Kolpackov1-9/+8
2021-09-02Add diag_frame around export stub loadingBoris Kolpackov1-2/+11
This gives the location of the importer in case the export stub issues any diagnostics.
2021-08-13Fix amalgamation discovery logic some moreBoris Kolpackov1-1/+5
2021-08-03Fix incorrect assumption in amalgamation discovery logicBoris Kolpackov1-8/+10
2021-07-30Fix issue in amalgamation discoveryBoris Kolpackov1-41/+53
2021-05-07Various improvements and clarifications in metadata handlingBoris Kolpackov1-42/+81
2021-04-22Incorporate project environment checksum into cc::compiler_info cache keyBoris Kolpackov1-1/+2
2021-04-07Register environment variables for hermetic build configurationsBoris Kolpackov1-5/+25
2021-04-02Add support for propagating project environmentBoris Kolpackov1-5/+32
2021-03-19Redo entering of src directories into scope_mapBoris Kolpackov1-13/+13