aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/algorithm.cxx
AgeCommit message (Expand)AuthorFilesLines
2024-02-14Avoid duplicate fsdir{} in inject_fsdir(), match_prerequisite*() call sequencesBoris Kolpackov1-4/+27
2024-02-13Add ability to omit matching in inject_fsdir()Boris Kolpackov1-2/+4
2024-01-16Add add_adhoc_member_identity(), use to fix ad hoc pattern rule logicBoris Kolpackov1-0/+43
2024-01-11Properly split injected ad hoc group member name in regex pattern ruleBoris Kolpackov1-2/+3
2023-12-03Reimplement search_existing() functions via target_type::searchBoris Kolpackov1-9/+13
2023-12-03Search in src for existing prerequisites with unspecified outBoris Kolpackov1-8/+4
2023-11-07Account for match options re-locking when checking if target is matchedBoris Kolpackov1-0/+15
2023-11-03Fix data race in match options logicBoris Kolpackov1-1/+22
2023-11-01Tighten/optimize cleaning of fsdir{} during matchBoris Kolpackov1-1/+10
2023-11-01Add support for adjusting match options of post hoc prerequisitesBoris Kolpackov1-10/+69
2023-11-01Add notion of match optionsBoris Kolpackov1-102/+220
2023-10-26Add inject_fsdir_direct(), fsdir_rule::perform_clean_direct() functionsBoris Kolpackov1-1/+24
2023-10-26Add clean_during_match*() functionsBoris Kolpackov1-0/+180
2023-10-06Handle 0 mask in update_during_match_prerequisites()Boris Kolpackov1-4/+4
2023-07-20Change inner rule/prerequisites match order in install::file_ruleBoris Kolpackov1-0/+14
2023-06-12Hack around GCC 13 -Wdangling-reference false positivesBoris Kolpackov1-1/+1
2023-06-08Add support for buildfile importationBoris Kolpackov1-2/+2
2023-06-01Resolve (but disable for now) target_count issue in resolve_members()Boris Kolpackov1-22/+50
2023-05-31Provide implied configure_* and dist_* action registration for ad hoc recipesBoris Kolpackov1-27/+73
2023-05-29Extend special match_rule() logic to all groups with dynamic targetsBoris Kolpackov1-24/+27
2023-05-29Disable counts verification if matched but not executed in resolve_members()Boris Kolpackov1-0/+7
2023-05-29Explicit group: static membersBoris Kolpackov1-10/+71
2023-04-05Allow creating context with bare minimum of initializationsBoris Kolpackov1-25/+25
2022-12-12Adapt to dir_iterator API changeKaren Arutyunov1-2/+1
2022-11-29Fix backlink logic for target groupsBoris Kolpackov1-107/+266
2022-11-23Take into account ad hoc recipes in rule::sub_match() (fixed GH issue #227)Boris Kolpackov1-61/+69
2022-11-18Complete low verbosity diagnostics reworkBoris Kolpackov1-12/+41
2022-11-16Initial low verbosity diagnostics reworkBoris Kolpackov1-13/+50
2022-10-20Don't create targets for non-existent source filesBoris Kolpackov1-2/+14
2022-10-19Handle operation-specific variable values in post hoc logicBoris Kolpackov1-1/+19
2022-10-19Minor tweaks to target_lock passing semanticsBoris Kolpackov1-2/+8
2022-10-19Add support for post hoc prerequisitesBoris Kolpackov1-50/+164
2022-09-19Add target_lock::first to distinguish first lock of targetBoris Kolpackov1-7/+9
2022-09-12Do not treat primary ad hoc group member as group for variable lookupBoris Kolpackov1-4/+6
2022-09-07Fix assert after cycle detection in ad hoc groupsBoris Kolpackov1-31/+31
2022-09-07Fix fsdir{} handling corner cases in ad hoc buildscript recipes/rulesdist-remapBoris Kolpackov1-2/+2
2022-07-13Work around "storing address of local variable" warning issued by GCC 12Boris Kolpackov1-1/+1
2022-06-23Minor enhancements to algorithmsBoris Kolpackov1-10/+49
2022-06-21Add --trace-{match,execute} optionsBoris Kolpackov1-1/+95
2022-04-19Use target recipe for auxiliary data storage during match-applyBoris Kolpackov1-4/+5
2022-04-19Skip find() inside target_set::insert*() if target is unlikely to be thereBoris Kolpackov1-1/+2
2022-04-19Cache "recipe is group_action" information, clear recipes after executionBoris Kolpackov1-6/+12
2022-04-18Avoid locking target set if in load phaseBoris Kolpackov1-16/+22
2022-04-08Optimize update_during_match()Boris Kolpackov1-7/+14
2022-04-08Add hint-less rule match pass for non-perform meta-operations as fallbackBoris Kolpackov1-116/+143
2022-04-07Rename {match,execute}() to *_sync(), add *_complete()Boris Kolpackov1-59/+35
2022-04-06Add support for rule hintsBoris Kolpackov1-17/+13
2022-03-10Add reverse_execute_prerequisites() variantBoris Kolpackov1-7/+102
2022-03-09Rename execute_wait() to execute()Boris Kolpackov1-1/+4
2022-03-09Parallel implementation of update_during_match_prerequisites()Boris Kolpackov1-22/+96