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
Depends (2)
Requires (1)
Builds
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16_libc++-static_O3 |
timestamp |
2024-04-28 00:17:04 UTC (18:14:40 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16_libc++ |
timestamp |
2024-04-28 00:11:58 UTC (18:19:46 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16_libc++-O3 |
timestamp |
2024-04-28 00:08:04 UTC (18:23:40 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16-O3 |
timestamp |
2024-04-27 23:51:07 UTC (18:40:37 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16 |
timestamp |
2024-04-27 23:44:01 UTC (18:47:43 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16-static_O3 |
timestamp |
2024-04-27 23:26:56 UTC (19:04:49 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_14.0-static_O3 |
timestamp |
2024-04-27 17:54:43 UTC (01 00:37:02 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_14.0-O3 |
timestamp |
2024-04-27 17:47:59 UTC (01 00:43:45 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_14.0 |
timestamp |
2024-04-27 17:43:50 UTC (01 00:47:55 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_13-O3 |
timestamp |
2024-04-27 06:39:58 UTC (01 11:51:46 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_13 |
timestamp |
2024-04-27 06:22:44 UTC (01 12:09:00 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_fedora_38-gcc_13-bindist |
timestamp |
2024-04-27 06:08:12 UTC (01 12:23:32 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_13-static_O3 |
timestamp |
2024-04-27 06:02:27 UTC (01 12:29:18 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_fedora_37-gcc_12.2-bindist |
timestamp |
2024-04-27 05:36:40 UTC (01 12:55:04 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-gcc_13_homebrew-static_O3 |
timestamp |
2024-04-27 03:26:46 UTC (01 15:04:58 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-gcc_13_homebrew-O3 |
timestamp |
2024-04-27 03:23:16 UTC (01 15:08:28 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-gcc_13_homebrew |
timestamp |
2024-04-27 03:18:16 UTC (01 15:13:29 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0-O3 |
timestamp |
2024-04-27 02:53:16 UTC (01 15:38:28 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0_libc++-O3 |
timestamp |
2024-04-27 02:37:29 UTC (01 15:54:15 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0_libc++-static_O3 |
timestamp |
2024-04-27 02:31:43 UTC (01 16:00:02 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0_libc++ |
timestamp |
2024-04-27 02:28:07 UTC (01 16:03:37 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0 |
timestamp |
2024-04-27 02:22:58 UTC (01 16:08:46 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0-static_O3 |
timestamp |
2024-04-27 02:09:20 UTC (01 16:22:24 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_12.2_mingw_w64 |
timestamp |
2024-04-27 01:43:29 UTC (01 16:48:15 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_16.0_llvm_msvc_17.6-O2 |
timestamp |
2024-04-27 01:13:38 UTC (01 17:18:07 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_12.2_mingw_w64-O2 |
timestamp |
2024-04-27 01:03:00 UTC (01 17:28:45 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_16.0_llvm_msvc_17.6 |
timestamp |
2024-04-27 00:55:36 UTC (01 17:36:09 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_16.0_llvm_msvc_17.6-static_O2 |
timestamp |
2024-04-27 00:45:35 UTC (01 17:46:09 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_15_libc++ |
timestamp |
2024-04-26 23:41:07 UTC (01 18:50:37 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.6-O2 |
timestamp |
2024-04-26 23:38:32 UTC (01 18:53:13 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_11-gcc_12 |
timestamp |
2024-04-26 23:25:18 UTC (01 19:06:26 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_11-gcc_10.2-bindist |
timestamp |
2024-04-26 23:18:51 UTC (01 19:12:53 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_12.2_mingw_w64-static_O2 |
timestamp |
2024-04-26 23:13:46 UTC (01 19:17:58 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_15 |
timestamp |
2024-04-26 23:12:52 UTC (01 19:18:52 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-freebsd13.2 |
tgt config |
freebsd_13-clang_14.0-static_O3 |
timestamp |
2024-04-26 23:10:11 UTC (01 19:21:34 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_11-clang_14 |
timestamp |
2024-04-26 23:07:00 UTC (01 19:24:44 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_11-gcc_12.1 |
timestamp |
2024-04-26 23:02:51 UTC (01 19:28:53 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.6-static_O2 |
timestamp |
2024-04-26 22:52:35 UTC (01 19:39:09 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_11-clang_14_libc++ |
timestamp |
2024-04-26 22:49:24 UTC (01 19:42:20 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_13.1-O3 |
timestamp |
2024-04-26 22:47:33 UTC (01 19:44:11 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.6 |
timestamp |
2024-04-26 22:44:04 UTC (01 19:47:40 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_12-bindist |
timestamp |
2024-04-26 22:25:11 UTC (01 20:06:34 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.5 |
timestamp |
2024-04-26 22:14:21 UTC (01 20:17:23 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_13.1 |
timestamp |
2024-04-26 22:13:50 UTC (01 20:17:54 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-freebsd13.2 |
tgt config |
freebsd_13-clang_14.0-O3 |
timestamp |
2024-04-26 22:11:15 UTC (01 20:20:30 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_13.1-static_O3 |
timestamp |
2024-04-26 22:10:11 UTC (01 20:21:33 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_15.0_msvc_msvc_17.6 |
timestamp |
2024-04-26 22:09:49 UTC (01 20:21:55 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-freebsd13.2 |
tgt config |
freebsd_13-clang_14.0 |
timestamp |
2024-04-26 22:06:02 UTC (01 20:25:42 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_15.0_libc++ |
timestamp |
2024-04-26 21:54:00 UTC (01 20:37:44 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_15.0 |
timestamp |
2024-04-26 21:42:42 UTC (01 20:49:02 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-freebsd12.4 |
tgt config |
freebsd_12-clang_13.0 |
timestamp |
2024-04-26 21:26:06 UTC (01 21:05:38 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_15.0-static_O3 |
timestamp |
2024-04-26 20:47:48 UTC (01 21:43:56 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_15.0-O3 |
timestamp |
2024-04-26 20:44:14 UTC (01 21:47:30 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_15.0 |
timestamp |
2024-04-26 20:40:22 UTC (01 21:51:22 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_13-ndebug_O3 |
timestamp |
2024-04-26 13:46:45 UTC (02 04:44:59 days ago) |
result |
warning (update) | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_13.1-ndebug_O3 |
timestamp |
2024-04-26 11:59:24 UTC (02 06:32:21 days ago) |
result |
warning (update) | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.2 |
tgt config |
windows_10-msvc_16.11 |
timestamp |
2024-04-26 11:33:37 UTC (02 06:58:07 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_14.0_llvm_msvc_17.2_lld |
timestamp |
2024-04-26 11:30:57 UTC (02 07:00:47 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.2 |
tgt config |
windows_10_devmode-msvc_16.11 |
timestamp |
2024-04-26 11:27:20 UTC (02 07:04:24 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-freebsd11.4 |
tgt config |
freebsd_11-clang_10.0 |
timestamp |
2024-04-26 11:25:29 UTC (02 07:06:16 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_10-clang_9.0 |
timestamp |
2024-04-26 11:25:25 UTC (02 07:06:19 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_10-clang_11.0 |
timestamp |
2024-04-26 11:25:11 UTC (02 07:06:33 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.0 |
tgt config |
windows_10-msvc_14.3 |
timestamp |
2024-04-26 10:50:30 UTC (02 07:41:14 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_11-clang_13.0_libc++ |
timestamp |
2024-04-26 10:44:31 UTC (02 07:47:13 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_11-clang_14.0_libc++ |
timestamp |
2024-04-26 10:43:44 UTC (02 07:48:00 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_11-clang_14.0 |
timestamp |
2024-04-26 10:42:06 UTC (02 07:49:38 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin21.6.0 |
tgt config |
macos_12-clang_14.0 |
timestamp |
2024-04-26 10:41:22 UTC (02 07:50:22 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_11-clang_13.0 |
timestamp |
2024-04-26 10:41:17 UTC (02 07:50:27 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.1 |
tgt config |
windows_10-msvc_15.9 |
timestamp |
2024-04-26 10:41:00 UTC (02 07:50:45 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_10-clang_12.0_libc++ |
timestamp |
2024-04-26 10:39:19 UTC (02 07:52:25 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_10-clang_12.0 |
timestamp |
2024-04-26 10:37:49 UTC (02 07:53:56 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_9-clang_8.0_libc++ |
timestamp |
2024-04-26 10:37:24 UTC (02 07:54:21 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_10-clang_11.0_libc++ |
timestamp |
2024-04-26 10:36:17 UTC (02 07:55:27 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_10-clang_10.0_libc++ |
timestamp |
2024-04-26 10:35:08 UTC (02 07:56:36 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_8-gcc_4.9 |
timestamp |
2024-04-26 10:34:48 UTC (02 07:56:57 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_9-gcc_7.4 |
timestamp |
2024-04-26 10:34:22 UTC (02 07:57:22 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_9-clang_8.0 |
timestamp |
2024-04-26 10:34:11 UTC (02 07:57:33 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_9-clang_6.0_libc++ |
timestamp |
2024-04-26 10:33:55 UTC (02 07:57:49 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_10-clang_9.0_libc++ |
timestamp |
2024-04-26 10:33:40 UTC (02 07:58:04 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_10-clang_10.0 |
timestamp |
2024-04-26 10:33:01 UTC (02 07:58:43 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_9-clang_7.0_libc++ |
timestamp |
2024-04-26 10:32:52 UTC (02 07:58:52 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_10-gcc_10.2 |
timestamp |
2024-04-26 10:32:43 UTC (02 07:59:01 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_9-gcc_8.4 |
timestamp |
2024-04-26 10:32:33 UTC (02 07:59:11 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_10-gcc_9.3 |
timestamp |
2024-04-26 10:32:30 UTC (02 07:59:14 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_11-gcc_11.3 |
timestamp |
2024-04-26 10:32:08 UTC (02 07:59:36 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_9-clang_7.0 |
timestamp |
2024-04-26 10:31:53 UTC (02 07:59:51 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_9-clang_6.0 |
timestamp |
2024-04-26 10:31:44 UTC (02 08:00:01 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_ubuntu_16.04-clang_3.7_libc++ |
timestamp |
2024-04-26 10:31:29 UTC (02 08:00:15 days ago) |
result |
success | log | rebuild |
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. For details, refer to "Objective-C Compilation"
and "Objective-C++ Compilation" in the manual.
* Support for Assembler with C Preprocessor (.S) compilation.
Specifically, the c module now provides the c.as-cpp submodule which can
be loaded in order to register the S{} target type and enable Assembler
with C Preprocessor compilation in the c compile rule. For details, refer
to "Assembler with C Preprocessor Compilation" in the manual.
* Support for buildfile importation.
A project can now export buildfiles that can then be imported by other
projects. This mechanism is primarily useful for exporting target type
definitions and ad hoc rules.
Specifically, a project can now place *.build files into its build/export/
subdirectory (or *.build2 and build2/export/ in the alternative naming
scheme). Such files can then be imported by other projects as buildfile{}
targets. For example:
import thrift%buildfile{thrift-cxx}
While for other target types the semantics of import is to load the
project's export stub and return the exported target, for buildfile{} the
semantics is to source the imported buildfile at the point of importation.
Note that care must be taken when authoring exported buildfiles since they
will be sourced by other projects in unpredictable circumstances. In
particular, the import directive by default does not prevent sourcing the
same buildfile multiple times (neither in the same project nor in the same
scope). As a result, if certain parts must only be sourced once per
project (such as target type definitions), then they must be factored into
a separate buildfile (in build/export/) that is imported by the "main"
exported buildfile with the `once` attribute. For example, the above
thrift-cxx.build may contain:
import [once] thrift%buildfile{thrift-cxx-target-type}
See also "install Module" in the manual for details on the exported
buildfile installation.
* Support for defining explicit (as opposed to ad hoc) target groups.
A user-defined explicit target group must be derived from the group base
target type. If desired, it can be marked as "see-through", meaning that
when it is listed as a prerequisite of a target, the matching rule will
"see" its members, rather than the group itself. For example:
define [see_through] thrift_cxx: group
define thrift: file
thrift{*}: extension = thrift
exe{hello}: cxx{hello} thrift_cxx{data}
thrift_cxx{data}: thrift{data}
Explicit group members can be specified statically, injected by an ad hoc
rule, or extracted dynamically by the depdb-dyndep builtin (see the next
NEWS item). For example:
thrift_cxx{data}<{hxx cxx}{data_constants}>: thrift{data} # Static.
thrift_cxx{~'/(.+)/'}<{hxx cxx}{^'/\1_types/'}>: thrift{~'/\1/'} # Inject.
{{
depdb dyndep --dyn-target ... # Dynamic.
}}
* Support for dynamic target extraction in addition to prerequisites.
This functionality is enabled with the depdb-dyndep --dyn-target option.
If the recipe target is an explicit group (see the previous NEWS item),
then the dynamically extracted targets are added as its members.
Otherwise, the listed targets are added as ad hoc group members. In both
cases the dynamically extracted target is ignored if it is already
specified as a static member or injected by a rule. Note that this
functionality is not available in the --byproduct mode. See the
depdb-dyndep builtin options description for details.
* New `lines` depdb-dyndep dependency format in addition to `make`.
The `lines` format lists targets and/or prerequisites one per line. See
the depdb-dyndep builtin options description for details.
* Low verbosity diagnostics rework.
The low verbosity (level 1) rule diagnostics format has been adjusted to... More