[build2] build2 0.13.0 released
mkrupcale at matthewkrupcale.com
Mon Jul 20 22:20:34 UTC 2020
On Mon, Jul 20, 2020 at 10:14 AM Boris Kolpackov
<boris at codesynthesis.com> wrote:
> We have released build2 toolchain version 0.13.0.
Congratulations on the latest release. Updates[1,2] are pending for
Fedora 32 and 31.
> The main focus of this release is build system support for project-specific configurations and
> ad hoc recipes.
Very nice, that is two of the strategic/foundational items on the
roadmap. I think project-specific configurations might have been
one of the last things missing in my mind for a minimum viable
production build system. As you point out in the documentation,
it's not without drawbacks, but I think a lot of production codes have
at least some level of build-time configurability either for
dependencies or features, etc.
> - Gentoo ebuild file: https://packages.gentoo.org/packages/dev-util/build2
Nice, looks like this was recently added. Glad to see more Linux
distros picking it up officially. Still missing Debian/Ubuntu, SUSE,
> * Support for value subscripts.
> A value subscript is only recognized in evaluation contexts (due to
> ambiguity with wildcard patterns; consider: $x.txt) and should be
> unseparated from the previous token. For example:
> x = ($y)
> x = (($f ? $y : $z))
> x = ($identity($y)[$z])
> * Generation of a common pkg-config .pc file in addition to static/shared-
This should make it easier for other systems to use build2-installed
packages since they don't need to invoke pkg-config with the .shared
or .static suffix.
> * Reworked tool importation support.
> Specifically, now config.<tool> (like config.cli) is handled by the import
> machinery (it is a shorter alias for config.import.<tool>.<tool>.exe that
> we already had).
> This also adds support for uniform tool metadata extraction that is
> handled by the import machinery. As a result, a tool that follows the
> "build2 way" can be imported with metadata by the buildfile and/or
> corresponding module without any tool-specific code or brittleness
> associated with parsing --version or similar outputs. See the cli
> tool/module for an example of how this all fits together.
> * Backtick (`) and bit-or (|) are reserved in eval context for future use.
> Specifically, they are reserved for planned support of arithmetic eval
> contexts and evaluation pipelines, respectively.
More information about the users