Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Significantly, the version::in_rule rule now track changes to the substitution
values.
|
|
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
|
|
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).
|
|
|
|
|
|
|
|
|
|
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.
|
|
Instead we now have two more or less separate match states for outer and
inner parts of an action.
|
|
We now make sure the config module is init'ed first.
|
|
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.
|
|
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
|
|
|
|
Extract them from manifest in the version module. Use them when generating
the pkg-config's .pc files.
|
|
|
|
|
|
|
|
|
|
|
|
Also implement the build system version check.
|
|
|