aboutsummaryrefslogtreecommitdiff
path: root/build2/version/init.cxx
AgeCommit message (Collapse)AuthorFilesLines
2019-08-01Move version build system module to separate libraryKaren Arutyunov1-392/+0
2019-07-05Move config, dist, test, and install modules into libraryKaren Arutyunov1-2/+2
2019-07-01Split build system into library and driverBoris Kolpackov1-4/+4
2019-06-19Improve diagnosticsBoris Kolpackov1-1/+1
2019-05-17Diagnose package/project name mismatch in version moduleBoris Kolpackov1-0/+18
2019-03-08Use real package names rather than sanitized ones for diagnostics in version ↵Karen Arutyunov1-5/+9
module
2019-03-07Move bunch of root scope-only data members to root_extraBoris Kolpackov1-1/+1
2019-01-30Add support for $ and shortcut operator in dependency constraintKaren Arutyunov1-15/+19
2019-01-16Update copyright yearKaren Arutyunov1-1/+1
2019-01-12Adapt to standard version API changeKaren Arutyunov1-4/+7
2018-07-30Make project variable to be of project_name typeKaren Arutyunov1-4/+12
2018-07-17Reimplement version::in_rule in terms of in::ruleBoris Kolpackov1-8/+5
Significantly, the version::in_rule rule now track changes to the substitution values.
2018-07-16Implement in moduleBoris Kolpackov1-27/+7
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-07-03Enter config.dist.uncommitted in dist module, make omittedBoris Kolpackov1-9/+1
One side-effect of doing this in the version module (where it is still used and enforced) was that dist module configuration (e.g., in an amalgamation) did not include this variable (and which was then duplicated in each subproject).
2018-05-19Update copyright yearKaren Arutyunov1-1/+1
2018-05-19Clean up version module (remove doc_rule, tighten manifest target type)Boris Kolpackov1-5/+0
2018-05-19Implement manifest installation rule in version moduleBoris Kolpackov1-59/+26
2018-03-20Add support for config.dist.uncommittedBoris Kolpackov1-4/+22
2018-03-20Come up with better version for uncommitted snapshotsBoris Kolpackov1-8/+12
Instead of leaving it as .z we now take the date of the previous commit and increment it by a second. The main benefit of doing it this way is that once committed, the new version does not "jump back" behind .z.
2018-02-03Get rid of action rule override semanticsBoris Kolpackov1-8/+8
Instead we now have two more or less separate match states for outer and inner parts of an action.
2018-01-04Load config.build in init(), not boot()Boris Kolpackov1-1/+3
We now make sure the config module is init'ed first.
2017-11-11Add in.substitution={strict|lax}Boris Kolpackov1-7/+29
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-0/+10
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-10-03Adapt to modularization of libbutlKaren Arutyunov1-2/+2
2017-08-01Add version, project.summary, project.url built-in variablesBoris Kolpackov1-3/+14
Extract them from manifest in the version module. Use them when generating the pkg-config's .pc files.
2017-05-01Add hxx extension for headersKaren Arutyunov1-11/+11
2017-04-29Set version.stub variableBoris Kolpackov1-0/+2
2017-04-29Add support for stub versions in version moduleBoris Kolpackov1-2/+6
2017-04-28Align build.version.* variables with standard version/version moduleBoris Kolpackov1-14/+5
2017-04-28Use standard_version for module versioning checksBoris Kolpackov1-6/+1
2017-04-28Implement support for pre-processing version headers (or other files)Boris Kolpackov1-4/+74
Also implement the build system version check.
2017-04-26Implement version moduleBoris Kolpackov1-0/+295