aboutsummaryrefslogtreecommitdiff
path: root/build2/version
AgeCommit message (Collapse)AuthorFilesLines
2019-08-01Move version build system module to separate libraryKaren Arutyunov11-1242/+0
2019-07-24Move in build system module to separate libraryBoris Kolpackov2-2/+2
2019-07-05Move config, dist, test, and install modules into libraryKaren Arutyunov2-3/+4
2019-07-01Split build system into library and driverBoris Kolpackov9-23/+23
2019-06-19Improve diagnosticsBoris Kolpackov1-1/+1
2019-05-24Adapt to increasing standard version major, minor, and patch max values up ↵Karen Arutyunov1-1/+1
to 99999
2019-05-17Diagnose package/project name mismatch in version moduleBoris Kolpackov1-0/+18
2019-04-09Add dry-run support to install/uninstall rulesBoris Kolpackov1-44/+47
2019-03-08Use real package names rather than sanitized ones for diagnostics in version ↵Karen Arutyunov3-25/+44
module
2019-03-07Move bunch of root scope-only data members to root_extraBoris Kolpackov2-3/+3
2019-01-30Add support for $ and shortcut operator in dependency constraintKaren Arutyunov2-23/+28
2019-01-16Update copyright yearKaren Arutyunov11-11/+11
2019-01-12Adapt to standard version API changeKaren Arutyunov1-4/+7
2018-11-16Adjust tracing level for few noisy casesBoris Kolpackov1-2/+5
2018-10-26Add config.{c,cxx}.{id,version,target} configuration variablesBoris Kolpackov1-3/+4
These variables allow overriding guessed compiler id/version/target, for example, in case of mis-guesses or when working with compilers that don't report their base (e.g., GCC, Clang) with -v/--version (common in the embedded space).
2018-07-30Make project variable to be of project_name typeKaren Arutyunov2-8/+19
2018-07-20Implement bash moduleBoris Kolpackov2-11/+13
2018-07-17Reimplement version::in_rule in terms of in::ruleBoris Kolpackov4-434/+157
Significantly, the version::in_rule rule now track changes to the substitution values.
2018-07-16Implement in moduleBoris Kolpackov2-28/+12
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-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 Arutyunov11-11/+11
2018-05-19Clean up version module (remove doc_rule, tighten manifest target type)Boris Kolpackov3-148/+1
2018-05-19Get rid of doc{version} and types for testscript and manifest in buildfilesKaren Arutyunov1-3/+3
2018-05-19Add missing build2/version/utility.?xx filesBoris Kolpackov2-0/+103
2018-05-19Implement manifest installation rule in version moduleBoris Kolpackov4-62/+87
2018-05-14Search for .git in directories outer to src_rootBoris Kolpackov1-5/+11
Failed that we can't handle multi-package projects.
2018-04-24Fix git commit timestamp extraction to be (really) in UTC (I promise)Boris Kolpackov1-4/+8
2018-03-20Add support for config.dist.uncommittedBoris Kolpackov2-4/+24
2018-03-20Come up with better version for uncommitted snapshotsBoris Kolpackov4-23/+59
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-03-20Use 12 instead of 16-characters for abbreviated git commit idBoris Kolpackov1-1/+1
This should help a bit with long paths on Windows.
2018-03-20Change git <snapsn> format in stdver to YYYYMMDDhhmmssBoris Kolpackov1-3/+12
2018-02-03Get rid of action rule override semanticsBoris Kolpackov3-25/+25
Instead we now have two more or less separate match states for outer and inner parts of an action.
2018-01-08Complete runtime/stdlib detectionBoris Kolpackov1-1/+4
2018-01-04Load config.build in init(), not boot()Boris Kolpackov2-2/+4
We now make sure the config module is init'ed first.
2018-01-02Fix few undefined behavior (ubsan) bugsBoris Kolpackov1-1/+1
2017-12-16Improve process execution diagnostics by reusing run_*() APIBoris Kolpackov1-3/+5
2017-12-09Fix git commit id calculationBoris Kolpackov1-58/+83
2017-11-11Add in.substitution={strict|lax}Boris Kolpackov3-18/+103
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 Kolpackov3-18/+70
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-09-25Make use of libpkgconf libraryKaren Arutyunov1-1/+1
2017-09-11Add ability to pass scope to buildfile functions, add $install.resolve()Boris Kolpackov1-2/+2
2017-09-06Handle git submodules in version moduleBoris Kolpackov1-2/+4
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-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-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 Arutyunov9-55/+55