Repository navigation
0.21.0: CMake cross contracts and owned accelerator targets - #52
Merged
Merged
Conversation
…e's contract
When the build's target is not the machine, the subproject is configured with
the compilers, words and archiver of the engine's contract for the
configuration (${mcpp.contract}, mcpp 2026.10.30.1+), read when the action
runs, under Ninja; CMAKE_SYSTEM_NAME is the target's system and the
try-compile builds a static library. The package needs mcpp 2026.10.30.1.
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…e whole list of an older engine mcpp 2026.10.27.1 lists zip and single-file among the built-in formats. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…g, as CMake splits it Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Read the channel through the UTF-8 environment API instead of the CRT narrow environment. Exercise disabled channels, Unicode paths and optional write failure on Linux, macOS and Windows, recording the Windows ANSI code page.
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
2026.11.7.1 keeps the consumer's link inputs out of a foreign build's contract, which the cmake-cross fixture's independent executable needs; the docs named the unreleased 2026.11.5.2. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…upported DPC++ 7.1.0's offload bundler matches five-part bundle IDs to every NVPTX request (intel/llvm#23767, mcpp#899). Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
The library's device link reads its own objects, so a consumer never asks the SDK to unbundle an archive of several architectures; the documented limitation is narrowed to a prebuilt multi-architecture archive or a cross-package SYCL_EXTERNAL call (mcpp#899), with its workaround. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…r, no preprocessor branch The rules and dist members ask programs for facts through mcpp::plugins::tool::capture (argv, no shell), the CUDA rule opens the driver through os::library, the test kit states each case's environment in its spawn options, and platform differences are if constexpr. CI refuses an #include or #if in a unit. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…nnot read back from an importer Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…est the collection loads on Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
mcpp-plugins 0.21.0. Tracks mcpp-community/mcpp#885 (design 2026-11-07, §4.3) and closes #887 on release.
Changes
tests/cmake-cross).sycl+{nvptx64-sm_89,nvptx64-sm_90}emits both NVIDIA images,sycl+{spir64,nvptx64-sm_89}emits SPIR-V beside NVIDIA; the CUDA toolkit is requested only for SYCL NVIDIA targets; the older target-inheritance spelling is accepted with a migration warning; unknown SYCL targets and unavailable AMD routes are refused. CUDA, HIP and Vulkan share the reader.plugins-progressprovides an atomic, rate-limited worker writer; CMake reports its configure and build-install stages and continues when the channel is absent or unwritable. The worker reads the channel through the UTF-8 environment API (Windows ACP 1252 verified).restatdoes not hide a changed payload behind an unchanged.incbinpath.mcpp::plugins::tool::capture(its arguments as a vector, no shell); the CUDA rule opens the driver throughmcpplibs::os::library; the test kit states each case's environment in its spawn options instead of writing its own; a platform difference of the building machine isif constexpr (mcpplibs::os::is_windows), so every host compiles every branch.mcpplibs.os(exactly 0.4.0, the release mcpp names) is a dependency ofplugins-coreandplugins-progress.docs/plugin-development.md§4 states the rule and the route for a C macro (mcpplibs.mwrap.libc).Verification
all-rules-compile,embed-consumer,embed-module-consumer,plugin-logicandisland-interfacebuild with the C-library change.Release pins
mcpplibs.os = "0.4.0").SYCL libraries of several NVIDIA architectures
Each package's device link reads its own objects, so a library built for
sycl+{nvptx64-sm_89,nvptx64-sm_90}links into a program with each image its own architecture's;tests/sycl-library-consumerbuilds it in CI and inspects the images. Not supported, and documented with the workaround: handing the SDK an archive of several NVIDIA architectures to device-link (a prebuilt SYCL.a, or a kernel calling another package'sSYCL_EXTERNALfunction) -- DPC++ 7.1.0's offload bundler matches its five-part bundle IDs to every NVPTX request (mcpp#899, an SDK defect).