aboutsummaryrefslogtreecommitdiff
path: root/build2/version/rule.cxx
AgeCommit message (Collapse)AuthorFilesLines
2019-08-01Move version build system module to separate libraryKaren Arutyunov1-334/+0
2019-07-24Move in build system module to separate libraryBoris Kolpackov1-1/+1
2019-07-01Split build system into library and driverBoris Kolpackov1-3/+3
2019-03-08Use real package names rather than sanitized ones for diagnostics in version ↵Karen Arutyunov1-15/+20
module
2019-03-07Move bunch of root scope-only data members to root_extraBoris Kolpackov1-2/+2
2019-01-30Add support for $ and shortcut operator in dependency constraintKaren Arutyunov1-8/+9
2019-01-16Update copyright yearKaren Arutyunov1-1/+1
2018-11-16Adjust tracing level for few noisy casesBoris Kolpackov1-2/+5
2018-07-20Implement bash moduleBoris Kolpackov1-9/+8
2018-07-17Reimplement version::in_rule in terms of in::ruleBoris Kolpackov1-412/+140
Significantly, the version::in_rule rule now track changes to the substitution values.
2018-07-16Implement in moduleBoris Kolpackov1-1/+5
Given test.in containing something along these lines: foo = $foo$ Now we can do: using in file{test}: in{test.in} file{test}: foo = FOO The alternative variable substitution symbol can be specified with the in.symbol variable and lax (instead of the default strict) mode with in.substitution. For example: file{test}: in.symbol = '@' file{test}: in.substitution = lax
2018-06-28Implement support for excluded and ad hoc prerequisitesBoris Kolpackov1-0/+3
The inclusion/exclusion is controlled via the 'include' prerequisite-specific variable. Valid values are: false - exclude true - include adhoc - include but treat as an ad hoc input For example: lib{foo}: cxx{win32-utility}: include = ($cxx.targe.class == 'windows') exe{bar}: libs{plugin}: include = adhoc
2018-05-19Update copyright yearKaren Arutyunov1-1/+1
2018-05-19Clean up version module (remove doc_rule, tighten manifest target type)Boris Kolpackov1-126/+1
2018-05-19Implement manifest installation rule in version moduleBoris Kolpackov1-3/+43
2018-02-03Get rid of action rule override semanticsBoris Kolpackov1-11/+11
Instead we now have two more or less separate match states for outer and inner parts of an action.
2018-01-02Fix few undefined behavior (ubsan) bugsBoris Kolpackov1-1/+1
2017-11-11Add in.substitution={strict|lax}Boris Kolpackov1-10/+72
In the strict mode every substitution symbol is expected to start a substitution with the double symbol (e.g., $$) serving as an escape sequence. In the lax mode a pair of substitution symbols is only treated as a substitution if what's between them looks like a build2 variable name (i.e., doesn't contain spaces, etc). Everything else, including unterminated substitution symbols is copied as is. Note also that in this mode the double symbol is not treated as an escape sequence. The lax mode is mostly useful when trying to reuse existing .in files, for example from autoconf. Note, however, that the lax mode is still stricter than the autoconf's semantics which also leaves unknown substitutions as is.
2017-11-10Relax substitution requirements, add alternative symbol in version .in supportBoris Kolpackov1-18/+58
Give this (legacy) version.h.in: Can now do: h{version}: in{version} file{$src_root/manifest} h{version}: in.symbol = '@' h{version}: FOO = $project.version
2017-09-11Add ability to pass scope to buildfile functions, add $install.resolve()Boris Kolpackov1-2/+2
2017-08-23Move support for disabling cleaning to common functionsBoris Kolpackov1-5/+0
2017-08-20Add support for not cleaning generated version fileBoris Kolpackov1-0/+5
2017-06-19Dereference pointer when printingBoris Kolpackov1-1/+1
2017-06-12Remove few unused lambda capturesBoris Kolpackov1-1/+1
2017-05-01Add hxx extension for headersKaren Arutyunov1-12/+12
2017-04-29Add support for stub versions in version moduleBoris Kolpackov1-1/+1
2017-04-28Improve version checkBoris Kolpackov1-3/+10
2017-04-28Implement support for pre-processing version headers (or other files)Boris Kolpackov1-29/+445
Also implement the build system version check.
2017-04-27Pass target to prerequisite searchBoris Kolpackov1-1/+1
2017-04-26Implement version moduleBoris Kolpackov1-0/+151