aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/in
AgeCommit message (Collapse)AuthorFilesLines
2022-09-02Rename in.substitution variable to in.modeBoris Kolpackov2-2/+6
The original name is still recognized for backwards compatibility.
2022-04-19Use target recipe for auxiliary data storage during match-applyBoris Kolpackov1-2/+3
In particular, we now have separate auxiliary data storage for inner and outer operations.
2022-04-15Get rid of target::dynamic_type() virtual functionBoris Kolpackov1-2/+5
Instead of overriding this function, derived targets must now set the dynamic_type variable to their static_type in their constructor body.
2022-04-06Add support for rule hintsBoris Kolpackov3-3/+3
A rule hint is a target attribute, for example: [rule_hint=cxx] exe{hello}: c{hello} Rule hints can be used to resolve ambiguity when multiple rules match the same target as well as to override an unambiguous match.
2022-02-07Use target::as instead of static_cast everywhereBoris Kolpackov1-2/+2
2022-01-20Add in::rule::perform_update_{pre,post}() hooksBoris Kolpackov2-9/+41
Also fix bug in depdb line parsing.
2021-11-29Fix bug in in::ruleBoris Kolpackov2-4/+4
2021-11-24Add ability to add extra depdb entries in in::ruleBoris Kolpackov2-6/+21
2021-11-03Add line processing customization hook to in::ruleBoris Kolpackov2-140/+254
2021-05-28Clean default target type extension logicBoris Kolpackov1-3/+1
2021-05-04Replace int_ with intf_ and imp_ with impl_ in namesBoris Kolpackov1-2/+2
2021-03-08Fix 'in' module to preserve line endingsKaren Arutyunov1-4/+29
2020-10-15Add ability to specify fallback value for NULL substitutions with in.nullBoris Kolpackov3-14/+49
2020-07-13Add ability to extend rule interface in source-compatible mannerBoris Kolpackov1-1/+1
2020-07-02Hopefully fix flaky permission denied in `in` module on WindowsBoris Kolpackov1-1/+9
2020-06-12Make order of imports stable in saved host build configurationBoris Kolpackov1-0/+2
2020-02-07Drop copyright notice from source codeKaren Arutyunov8-8/+0
2020-01-29Rename module_base to module, redo module boot/init argument passingBoris Kolpackov1-4/+2
2020-01-28Use scope::var_pool()Boris Kolpackov1-1/+1
2020-01-28Use scope::insert_rule()Boris Kolpackov1-13/+9
2020-01-27Improve module loading APIBoris Kolpackov1-2/+1
2019-11-15Use path_name_view in location and path_name_value in location_valueKaren Arutyunov1-2/+2
2019-08-28Make lib{build2} "implied interface dependency" of modulesBoris Kolpackov1-9/+3
This makes our compilation and linking command lines a little bit saner.
2019-08-28Add/update some module descriptionsKaren Arutyunov1-1/+2
2019-08-28Move bin build system module to separate libraryKaren Arutyunov1-0/+4
2019-08-26Make target types project-wideBoris Kolpackov1-1/+1
2019-08-23Introduce notion of build contextBoris Kolpackov2-5/+5
All non-const global state is now in class context and we can now have multiple independent builds going on at the same time.
2019-08-21Cleanup context.hxx and its usageBoris Kolpackov1-1/+0
2019-08-20Add build.version.interfaceBoris Kolpackov1-2/+4
This build system interface version should be embedded into build system modules as load_suffix.
2019-08-15Embed build core version into build system modules as load pathBoris Kolpackov1-4/+9
2019-08-12Use new fdstream constructorBoris Kolpackov1-1/+1
2019-07-24Move in build system module to separate libraryBoris Kolpackov8-0/+937