aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-06-07Try to enable C++20 modules tests for MinGW GCCBoris Kolpackov1-1/+3
2023-06-07Implement GCC module mapper protocol quoting/escaping (GH issues #203, #228)Boris Kolpackov1-14/+223
2023-06-05Remap Clang -Wunqualified-std-cast-call warning to -Wextra (GH issue #259)Boris Kolpackov1-0/+40
2023-06-02Fix another race in library metadata protocol logicBoris Kolpackov1-0/+8
2023-06-02Temporarily turn null include error into warning for backwards compatBoris Kolpackov1-11/+19
2023-06-02Fix data race in library metadata protocol logicBoris Kolpackov3-5/+14
2023-06-01Diagnose null include, operation-specific variable valuesBoris Kolpackov2-31/+47
While assigning null directly is unlikely, it's fairly easy via a variable expansion. Real-world example: ./: exe{tensor}: include = $config.Eigen.unsupported
2023-06-01Add inner_recipe for expressivenessBoris Kolpackov8-7/+11
2023-06-01Resolve (but disable for now) target_count issue in resolve_members()Boris Kolpackov7-70/+249
2023-05-31Improve diagnostics when dropping config.import.* valuesBoris Kolpackov1-0/+20
2023-05-31Provide implied configure_* and dist_* action registration for ad hoc recipesBoris Kolpackov2-29/+84
This makes it consistent with the existing ad hoc rules semantics.
2023-05-30Fix bugBoris Kolpackov1-2/+2
2023-05-30Fix previous commits to work in C++14Boris Kolpackov2-5/+8
2023-05-30Add support for fsdir{} dynamic prerequisites in the dyndep lines formatBoris Kolpackov3-21/+135
This can be used to handle situations where the dynamic targets are placed into subdirectories.
2023-05-30Add depdb-dyndep --target-extension-type optionBoris Kolpackov5-9/+122
This allows specifying custom extension to target type mapping.
2023-05-30Store dynamic group member types in depdb, use in cleanBoris Kolpackov5-102/+203
2023-05-30Add $path.posix_string() and $path.posix_representation() functionsKaren Arutyunov2-0/+188
2023-05-29Move old dynamic members cleanup from execute to applyBoris Kolpackov1-31/+40
2023-05-29New 'lines' dependency format in depdb-dyndepBoris Kolpackov4-11/+215
2023-05-29Extend special match_rule() logic to all groups with dynamic targetsBoris Kolpackov9-92/+89
2023-05-29Handle see-through groups with dynamic members in distBoris Kolpackov2-25/+126
2023-05-29Clean after each depdb-dyndep executionBoris Kolpackov1-11/+51
2023-05-29Disable counts verification if matched but not executed in resolve_members()Boris Kolpackov5-14/+41
2023-05-29Avoid group linkup deadlocks for dynamic and pattern-static membersBoris Kolpackov3-37/+64
2023-05-29Explicit group: pattern membersBoris Kolpackov8-71/+197
2023-05-29Explicit group: dynamic membersBoris Kolpackov10-134/+426
2023-05-29Explicit group: static membersBoris Kolpackov18-123/+580
2023-05-29Explicit group: syntax parsingBoris Kolpackov8-148/+477
2023-05-25Add find builtin description to Testscript manualKaren Arutyunov1-0/+50
2023-05-21Add support for dynamic target extraction in addition to prerequisitesBoris Kolpackov12-128/+864
This functionality is enabled with the depdb-dyndep --dyn-target option. Only the make format is supported, where the listed targets are added as ad hoc group members (unless already specified as static members). This functionality is not available in the --byproduct mode.
2023-05-16Implement dist meta-operation without invoking install (GH issue #190)Boris Kolpackov2-54/+122
The use of install (or another install-like program) can still be forced with config.dist.cmd=install.
2023-05-16Enter export stub targets with correct outBoris Kolpackov3-24/+46
2023-05-09Make quoted/display target names in JSON structured result consistent with dumpBoris Kolpackov3-40/+45
Specifically, before we had `target` (display) and `quoted_target` and now we have `target` (quoted) and `display_target`.
2023-05-09Document JSON dump format (GH issue #182)Boris Kolpackov4-14/+508
2023-05-09Add --load-only option in addition to --match-onlyBoris Kolpackov11-16/+103
This option has the effect of loading all the subdirectory buildfiles that are not explicitly included.
2023-05-09Add support for dumping build system state in JSON format (GH issue #182)Boris Kolpackov12-110/+1151
Specifically: 1. New --dump-format option. Valid values are `buildfile` and `json-v0.1`. 2. The --dump option now recognizes two additional values: `match-pre` and `match-post` to dump the state of pre/post-operations. The `match` value now only triggers dumping of the main operation.
2023-05-03Add --dump-scope and --dump-target options to limit --dump outputBoris Kolpackov11-61/+348
2023-04-21Make sure main module_functions entry is after submodulesBoris Kolpackov4-6/+6
2023-04-19Add note to buildfileBoris Kolpackov1-0/+2
2023-04-19Fix several issues in build system module importation logicmodule-importBoris Kolpackov7-100/+275
2023-04-19Clarify const-ness issues in configure implementationBoris Kolpackov4-13/+23
2023-04-18Add support for Assembler with C Preprocessor (.S) compilationBoris Kolpackov14-42/+249
Specifically, the c module now provides the c.as-cpp submodules which can be loaded in order to register the S{} target type and enable Assembler with C Preprocessor compilation in the c compile rule. For details, refer to "Assembler with C Preprocessor Compilation" in the manual.
2023-04-14Minor clarification in commentBoris Kolpackov1-1/+2
2023-04-13Move cli module to libbuild2-cli libraryBoris Kolpackov13-36/+152
This is a temporary measure (until we unboundle this module) needed for in-process configure support in bpkg.
2023-04-13Various minor generalizations for in-process configure support in bpkgBoris Kolpackov8-216/+298
2023-04-10Add support for negation in config.install.filterBoris Kolpackov3-13/+33
2023-04-10Fix inconsistent /usr/local/{include,lib} searchBoris Kolpackov4-32/+53
In particular, we were adding -L/usr/local/lib which means it is considered before built-in directories (/usr/lib, etc) but in our own library search code we were considering it after (because we were storing it at the end of sys_lib_dirs). Now in both sys_{hdr,lib}_dirs we store /usr/local/{include,lib} after mode and before built-in directories. Note that as part of this fix we now pass -isystem /usr/local/include instead of -idirafter (which is consistent with the -L behavior and also the customarily expected semantics).
2023-04-05Allow creating context with bare minimum of initializationsBoris Kolpackov16-106/+153
This is used by bpkg to detect forwarded configurations without incurring the full context creation overhead.
2023-04-04Remove global override restriction from config.install.filterBoris Kolpackov8-409/+360
2023-04-04Add support for installation filtering (GH issue #147)Boris Kolpackov10-66/+599