build2/0.16.0-a.0.20230124113841.53d082d06f4d

[full]

build2 build system

This package contains the build2 build system.

build2 is an open source, cross-platform toolchain for building and packaging
C++ code. Its aim is a modern build system and dependency manager for the C++
language that provide a consistent, out of the box interface across multiple
platforms and compilers. For more information see:

https://build2.org/

See the NEWS file for the user-visible changes from the previous release.

See the LICENSE file for the distribution conditions.

See the INSTALL file... More
version 0.16.0-a.0.20230124113841.53d082d06f4d
license MIT
repository https://stage.build2.org/1
download build2-0.16.0-a.0.20230124113841.53d082d06f4d.tar.gz
sha256 a0df2a3081b3fec17ff6d229cab510ba6ecc7470c2114de0989605aecb5e4d5d
project build2
url build2.org
doc-url build2.org/doc.xhtml
src-url git.build2.org/cgit/build2/tree/
topics build systembuild toolchain

Depends (2)

libbutl [0.16.0-a.0.1 0.16.0-a.1)
libpkg-config ^0.1.0

Requires (1)

c++14

Builds

toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-clang_14.0-static_O3
timestamp 2023-01-27 19:33:36 UTC (10:59:09 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.2
tgt config windows_10-clang_13.0_llvm_msvc_16.11_lld
timestamp 2023-01-27 13:35:10 UTC (16:57:36 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.2
tgt config windows_10-clang_13.0_llvm_msvc_16.11-static_O2
timestamp 2023-01-27 13:28:38 UTC (17:04:07 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_14.0_llvm_msvc_17.2_lld
timestamp 2023-01-27 13:25:29 UTC (17:07:17 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.2
tgt config windows_10-clang_13.0_llvm_msvc_16.11-O2
timestamp 2023-01-27 13:23:46 UTC (17:09:00 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_14.0_llvm_msvc_17.2-static_O2
timestamp 2023-01-27 13:19:08 UTC (17:13:38 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.2
tgt config windows_10-clang_13.0_llvm_msvc_16.11
timestamp 2023-01-27 13:15:39 UTC (17:17:06 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_14.0_llvm_msvc_17.2-O2
timestamp 2023-01-27 13:13:37 UTC (17:19:09 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_14.0_llvm_msvc_17.2
timestamp 2023-01-27 13:02:29 UTC (17:30:16 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-clang_14.0_libc++-static_O3
timestamp 2023-01-27 12:48:20 UTC (17:44:26 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-clang_14.0_libc++-O3
timestamp 2023-01-27 12:43:22 UTC (17:49:23 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-clang_14.0_libc++
timestamp 2023-01-27 12:35:22 UTC (17:57:23 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-clang_14.0-O3
timestamp 2023-01-27 12:29:50 UTC (18:02:56 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11_tsan-gcc_11.3
timestamp 2023-01-27 12:24:52 UTC (18:07:53 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-clang_14.0
timestamp 2023-01-27 12:22:08 UTC (18:10:37 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.2
tgt config windows_10-msvc_16.11-static_O2
timestamp 2023-01-27 11:55:48 UTC (18:36:57 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11_asan-clang_14.0
timestamp 2023-01-27 11:55:34 UTC (18:37:12 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.2
tgt config windows_10-msvc_16.11-O2
timestamp 2023-01-27 11:47:21 UTC (18:45:24 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.2
tgt config windows_10-msvc_16.11
timestamp 2023-01-27 11:33:02 UTC (18:59:43 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-w64-mingw32
tgt config windows_10-gcc_12.2_mingw_w64
timestamp 2023-01-27 11:31:59 UTC (19:00:46 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-gcc_12.1-static_O3
timestamp 2023-01-27 11:21:37 UTC (19:11:09 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-gcc_12.1-ndebug_O3
timestamp 2023-01-27 11:15:46 UTC (19:16:59 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.2-static_O2
timestamp 2023-01-27 11:13:33 UTC (19:19:13 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.2-O2
timestamp 2023-01-27 11:08:41 UTC (19:24:05 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-w64-mingw32
tgt config windows_10-gcc_12.2_mingw_w64-O2
timestamp 2023-01-27 11:07:39 UTC (19:25:07 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-gcc_12.1-O3
timestamp 2023-01-27 11:04:50 UTC (19:27:55 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.2
timestamp 2023-01-27 11:01:17 UTC (19:31:29 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-w64-mingw32
tgt config windows_10-gcc_12.2_mingw_w64-static_O2
timestamp 2023-01-27 10:57:49 UTC (19:34:56 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-apple-darwin21.6.0
tgt config macos_12-clang_13.1-O3
timestamp 2023-01-27 10:56:03 UTC (19:36:43 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-gcc_12.1
timestamp 2023-01-27 10:53:17 UTC (19:39:28 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target aarch64-linux-gnu
tgt config linux_debian_11-clang_14_libc++-static_O3
timestamp 2023-01-27 10:43:41 UTC (19:49:04 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target aarch64-linux-gnu
tgt config linux_debian_11-clang_14_libc++-O3
timestamp 2023-01-27 10:40:35 UTC (19:52:11 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target aarch64-linux-gnu
tgt config linux_debian_11-clang_14_libc++
timestamp 2023-01-27 10:36:07 UTC (19:56:39 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target aarch64-linux-gnu
tgt config linux_debian_11-clang_14-static_O3
timestamp 2023-01-27 10:32:01 UTC (20:00:45 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target aarch64-linux-gnu
tgt config linux_debian_11-clang_14-O3
timestamp 2023-01-27 10:28:40 UTC (20:04:05 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-apple-darwin21.6.0
tgt config macos_12-gcc_12.1_homebrew-O3
timestamp 2023-01-27 10:24:19 UTC (20:08:27 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target aarch64-linux-gnu
tgt config linux_debian_11-clang_14
timestamp 2023-01-27 10:23:49 UTC (20:08:56 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-apple-darwin21.6.0
tgt config macos_12-clang_13.1-static_O3
timestamp 2023-01-27 10:22:36 UTC (20:10:10 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-clang_13.0_libc++
timestamp 2023-01-27 10:14:19 UTC (20:18:26 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-apple-darwin21.6.0
tgt config macos_12-clang_13.1
timestamp 2023-01-27 10:12:14 UTC (20:20:31 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_10-clang_12.0_libc++
timestamp 2023-01-27 10:12:01 UTC (20:20:45 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-apple-darwin21.6.0
tgt config macos_12-gcc_12.1_homebrew-static_O3
timestamp 2023-01-27 10:11:17 UTC (20:21:28 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.1
tgt config windows_10-msvc_15.9
timestamp 2023-01-27 10:10:49 UTC (20:21:57 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_9_tsan-gcc_7.4
timestamp 2023-01-27 10:10:46 UTC (20:22:00 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.0
tgt config windows_10-msvc_14.3
timestamp 2023-01-27 10:10:00 UTC (20:22:45 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_10-clang_11.0_libc++
timestamp 2023-01-27 10:07:45 UTC (20:25:00 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-clang_13.0
timestamp 2023-01-27 10:07:30 UTC (20:25:15 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-freebsd13.1
tgt config freebsd_13-clang_13.0-static_O3
timestamp 2023-01-27 10:05:24 UTC (20:27:22 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_10-clang_12.0
timestamp 2023-01-27 10:04:47 UTC (20:27:58 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-apple-darwin21.6.0
tgt config macos_12-gcc_12.1_homebrew
timestamp 2023-01-27 10:04:04 UTC (20:28:41 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target aarch64-linux-gnu
tgt config linux_debian_11-gcc_12-static_O3
timestamp 2023-01-27 10:03:39 UTC (20:29:07 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11_asan-gcc_11.3
timestamp 2023-01-27 10:03:37 UTC (20:29:09 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_10-clang_10.0_libc++
timestamp 2023-01-27 10:02:19 UTC (20:30:27 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-freebsd13.1
tgt config freebsd_13-clang_13.0-O3
timestamp 2023-01-27 10:01:49 UTC (20:30:56 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target aarch64-linux-gnu
tgt config linux_debian_11-gcc_12-ndebug_O3
timestamp 2023-01-27 10:00:00 UTC (20:32:46 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_10-clang_11.0
timestamp 2023-01-27 09:58:59 UTC (20:33:46 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11_tsan-clang_14.0
timestamp 2023-01-27 09:58:27 UTC (20:34:18 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_10-clang_9.0_libc++
timestamp 2023-01-27 09:57:35 UTC (20:35:10 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-freebsd13.1
tgt config freebsd_13-clang_13.0
timestamp 2023-01-27 09:56:32 UTC (20:36:13 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_10-clang_10.0
timestamp 2023-01-27 09:55:35 UTC (20:37:11 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target aarch64-linux-gnu
tgt config linux_debian_11-gcc_12-O3
timestamp 2023-01-27 09:54:42 UTC (20:38:04 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_9-clang_8.0_libc++
timestamp 2023-01-27 09:54:05 UTC (20:38:40 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_10-clang_9.0
timestamp 2023-01-27 09:49:59 UTC (20:42:46 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target aarch64-linux-gnu
tgt config linux_debian_11-gcc_12
timestamp 2023-01-27 09:49:23 UTC (20:43:22 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-microsoft-win32-msvc14.2
tgt config windows_10_devmode-msvc_16.11
timestamp 2023-01-27 09:48:52 UTC (20:43:53 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_9-clang_8.0
timestamp 2023-01-27 09:48:11 UTC (20:44:35 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_10-gcc_9.3
timestamp 2023-01-27 09:43:53 UTC (20:48:53 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-freebsd11.4
tgt config freebsd_11-clang_10.0
timestamp 2023-01-27 09:42:51 UTC (20:49:54 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_10-gcc_10.2
timestamp 2023-01-27 09:39:38 UTC (20:53:07 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-freebsd12.3
tgt config freebsd_12-clang_10.0
timestamp 2023-01-27 09:38:49 UTC (20:53:56 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_9-clang_6.0_libc++
timestamp 2023-01-27 09:36:38 UTC (20:56:07 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_9-clang_7.0_libc++
timestamp 2023-01-27 09:35:00 UTC (20:57:46 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_9-clang_6.0
timestamp 2023-01-27 09:32:50 UTC (20:59:55 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_9-gcc_8.4
timestamp 2023-01-27 09:31:43 UTC (21:01:02 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_9-clang_7.0
timestamp 2023-01-27 09:30:31 UTC (21:02:15 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-apple-darwin20.5.0
tgt config macos_11-clang_13.0
timestamp 2023-01-27 09:29:37 UTC (21:03:08 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_ubuntu_16.04-clang_3.7_libc++
timestamp 2023-01-27 09:27:05 UTC (21:05:40 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_11-gcc_11.3
timestamp 2023-01-27 09:25:37 UTC (21:07:08 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_8-gcc_4.9
timestamp 2023-01-27 09:21:52 UTC (21:10:53 hours ago)
result success | log | rebuild
toolchain stage-0.16.0-a.0.20230125121410.be2f8b3f7424
target x86_64-linux-gnu
tgt config linux_debian_9-gcc_7.4
timestamp 2023-01-27 09:21:36 UTC (21:11:09 hours ago)
result success | log | rebuild
target wasm32-emscripten
tgt config linux_debian_11-emcc_3.1.6
result excluded

Changes

Version 0.16.0

  * Support for Objective-C/C++ compilation.

    Specifically, the c and cxx modules now provide the c.objc and cxx.objcxx
    submodules which can be loaded in order to register the m{}/mm{} target
    types and enable Objective-C/C++ compilation in the c and cxx compile
    rules. Note that c.objc and cxx.objcxx must be loaded after the c and cxx
    modules, respectively, and while the m{}/mm{} target types are registered
    unconditionally, compilation is only enabled if the C/C++ compiler
    supports Objective-C/C++ for this target platform. Typical usage:

    # root.build
    #
    using cxx
    using cxx.objcxx

    # buildfile
    #
    lib{hello}: {hxx cxx}{*}
    lib{hello}: mm{*}: include = ($cxx.target.class  == 'macos')

    Note also that while there is support for linking Objective-C/C++
    executables and libraries, this is done using the C/C++ compiler driver
    and no attempt to automatically link any necessary Objective-C runtime
    (such as -lobjc) is made.

  * Low verbosity diagnostics rework.

    The low verbosity (level 1) rule diagnostics format has been adjusted to
    include the output target where appropriate. The implementation has also
    been redesigned to go through the uniform print_diag() API, including for
    the `diag` pseudo-builtin in ad hoc recipes. Specifically, the `diag`
    builtin now expects its arguments to be in one of the following two forms
    (which correspond to the two forms of print_diag()):

    diag <prog> <l-target> <comb> <r-target>...
    diag <prog> <r-target>...

    If the `diag` builtin is not specified, the default diagnostics is now
    equivalent to, for update:

    diag <prog> ($<[0]) -> $>

    And for other operations:

    diag <prog> $>

    For details, see the print_diag() API description in diagnostics.hxx. See
    also GH issue #40 for additional background/details.

  * The in.substitution variable has been renamed to in.mode.

    The original name is still recognized for backwards compatibility.

  * Support for post hoc prerequisites.

    Unlike normal and ad hoc prerequisites, a post hoc prerequisite is built
    after the target, not before. It may also form a dependency cycle together
    with normal/ad hoc prerequisites. In other words, all this form of
    dependency guarantees is that a post hoc prerequisite will be built if its
    dependent target is built.

    A canonical example where this can be useful is a library with a plugin:
    the plugin depends on the library while the library would like to make
    sure the plugin is built whenever the library is built so that programs
    that link the library can be executed without having to specify explicit
    dependency on the plugin (at least for the dynamic linking case):

    lib{hello}: ...
    lib{hello-plugin}: ... lib{hello}
    libs{hello}: libs{hello-plugin}: include = posthoc

    Note that there is no guarantee that post hoc prerequisites will be built
    before the dependents of the target "see" it as built. Rather, it is
    guaranteed that post hoc prerequisites will be built before the end of the
    overall build (more precisely, before the current operation completes).
    As a result, post hoc prerequisites should not be relied upon if the
    result (for example, a source code generator) is expected to be used
    during build (more precisely, within the same operation).

    Note also that the post hoc semantics is not the same as order-only in
    GNU make. In fact, it is an even more "relaxed" form of dependency.
    Specifically, while order-only prerequisite is guaranteed to be built
    before the target, post hoc prerequisite is only guaranteed to be built
    before the end of the overall build.

Version 0.15.0

  * Generated C/C++ headers and ad hoc sources are now updated during match.

    Specifically, all headers as well as ad hoc headers and sources are now
    treated by the cc::link_rule as if they had update=match unless explicit
    update=execute is specified (see below on the update operation-specific
    variable).

    This change should be transparent to most projects. For background and
    discussion of rare cases where you may wish to disable this, see:

    https://github.com/build2/HOWTO/blob/master/entries/handle-auto-generated-headers.md

  * Support for rule hints.

    A rule hint is a target attribute, for example:

    [rule_hint=cxx] exe{hello}: c{hello}

    Rule hints can be used to resolve ambiguity when multiple rules match the
    same target as well as to override an unambiguous match.

    In cc::link_rule we now support "linking" libraries without any sources or
    headers with a hint. This can be useful for creating "metadata libraries"
    whose only purpose is to convey metadata (options to use and/or libraries
    to link).

  * UTF-8 is now the default input/source character set for C/C++ compilation.

    Specifically, the cc module now passes the appropriate compiler option... More