diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f040d71..0e56303 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-24.04 timeout-minutes: 40 env: - MCPP_VERSION: 2026.8.20.2 + MCPP_VERSION: 2026.9.3.2 XLINGS_VERSION: v2026.8.17.2 XLINGS_NON_INTERACTIVE: '1' steps: @@ -341,7 +341,7 @@ jobs: run: shell: bash env: - MCPP_VERSION: 2026.8.20.2 + MCPP_VERSION: 2026.9.3.2 XLINGS_VERSION: v2026.8.17.2 XLINGS_NON_INTERACTIVE: '1' steps: @@ -553,7 +553,7 @@ jobs: - { label: 'alloc-kal', spec: ', features = ["alloc-kal"]', expect: 'links and runs' } - { label: 'nolibc', spec: ', features = ["nolibc"]', expect: 'compiles with no C library' } env: - MCPP_VERSION: 2026.8.20.2 + MCPP_VERSION: 2026.9.3.2 XLINGS_VERSION: v2026.8.17.2 XLINGS_NON_INTERACTIVE: '1' steps: diff --git a/mcpp.toml b/mcpp.toml index 40ba6e9..b4ee4bd 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -27,7 +27,7 @@ [package] namespace = "mcpplibs" name = "std-freestanding" -version = "0.5.1" +version = "0.5.2" description = "The freestanding subset of the C++ standard library as a module — import mcpplibs.std.freestanding" license = "Apache-2.0" @@ -134,5 +134,28 @@ std-freestanding-nolibc = "^0.2.0" # `build.mcpp` consults the toolchain payload first and reaches this package # only when the payload carries no `include/c++/v1`; on Linux and macOS the # fallback is never taken and the compile line is byte-for-byte what it was. +# +# ⚠️ BOTH SPELLINGS, AND THE PAIR IS THE MIGRATION. +# +# `[xlings.workspace]` is the one table since mcpp 2026.9.3.1; `deps` is the +# older spelling of the same statement. An engine that knows the table +# collapses the two, because they agree; one that predates it reads `deps` and +# behaves as today. Dropping the older line now would be a silent regression +# there — such an engine parses the table and provisions nothing from it, so +# `build.mcpp` would find no headers through `mcpp::xpkg_dir` on the one +# platform that needs the fallback. The line goes once no supported engine +# needs it. +# +# The version is unconstrained on both sides: this package needs the headers to +# exist and has nothing to say about which release of them. +# +# The name stays bare. A namespaced package is written +# `":" = ""` since mcpp 2026.9.3.2, and this entry has +# no namespace to write: the `deps` line it mirrors names `libcxx-headers` +# unqualified, and qualifying it here would change which index the name +# resolves through. [xlings] deps = ["libcxx-headers"] + +[xlings.workspace] +libcxx-headers = ""