Repository navigation
Commit 0d18e85
authored
compat.yaml-cpp 0.8.0/0.9.0 on openkal; openkal-ecosystem/openkal-compat labels; openkal measurement selects by change on x86_64-windows-musl; maintainer-hosted CN mirrors; a shorter README (#464)
* compat.yaml-cpp 0.8.0 and 0.9.0, measured on openkal; the site's openkal facet names openkal-ecosystem and openkal-compat; a shorter README
compat.yaml-cpp builds upstream's CMake target as it is (src/*.cpp plus the
contrib GraphBuilder), from the GitHub tag archives mirrored byte for byte to
gitcode mcpp-res/yaml-cpp. YAML_CPP_STATIC_DEFINE, a PUBLIC definition of a
static build upstream, reaches consumers through a yaml-cpp/dll.h shim, since
descriptor `defines` stay package-private; the test asserts it at compile time.
Each version has a member (yaml-cpp, yaml-cpp-v080), and both are measured on
openkal.
The test found an upstream defect: GraphBuilderInterface's pure virtual
destructor is defined nowhere, so a derived class links only when its user
defines it. The test does, as any consumer must; the descriptor does not.
The site's openkal facet had three sentences for values (openkal itself /
runs on openkal / fails on openkal). It now has two names: openkal-ecosystem
for the packages that make up openkal, openkal-compat for packages measured
to run in an openkal graph. A package that only builds or fails is filed
under neither; its page still shows the per-target measurement.
The README keeps one line per shape in its reference table; the long
explanations for recastnavigation and huxerui move into the descriptor
catalog, which gains a yaml-cpp row.
* openkal measurement selects by change and names the Windows target x86_64-windows-musl; a CN mirror may be the maintainer's own
compat.py select: a change measured every member whenever anything under
tests/openkal/ moved, so adding one member cost the whole list. It now
measures every member only when the graph or the harness changes (an openkal
family descriptor, pins.toml, compat.py); a members.toml edit measures the
entries added or changed against the merge base (--base), a member's own
test project measures that member, and a descriptor measures the members
that depend on it, as before. The workflow passes the merge base and now
also triggers on tests/examples/**. selftest pins each rule.
The Windows target is x86_64-windows-musl. The graph presents musl's C
environment there, and x86_64-windows-gnu read as a mingw-w64 build, which
it never was. Measured locally with the pins (mcpp 2026.9.21.3, runtime
0.15.1): cli11, zlib and cmp-module run; curl stops at the same
curl_setup.h:591; yaml-cpp and yaml-cpp-v080 run. Renaming the target moves
the harness, so this pull request measures every member once, and that
measurement becomes the published baseline.
check_mirror_urls.lua required every CN url to live under gitcode
mcpp-res. A library's maintainer may host the mirror instead; the rule is
now a gitcode release asset under any owner. ZheFeng7110.boost's mirror
(#463), which has kept lint red on main since, passes unchanged.
* compat.yaml-cpp: 0.8.0's emitterutils.cpp gets <cstdint> on purpose, not by way of <format>
src/emitterutils.cpp (0.8.0) names uint16_t/uint32_t and includes neither
<cstdint> nor <stdint.h>; 0.9.0 added the include. Measured with gcc 15.1.0
over glibc 2.44: -std=c++17 fails with "'uint16_t' was not declared in this
scope"; c++20 and c++23 compile because libstdc++'s <ostream> then reaches
<format> -> bits/unicode.h -> <cstdint>. The package builds as c++23, so it
held, on a transitive include. -include cstdint for the package's own TUs
(32/32 and 31/31 in the compile database; the consumer's TU is untouched);
both members pass on gcc 16.1.0/glibc, gcc 15.1.0/musl and llvm 22.1.8.
* openkal compatibility: the measurement of 2026-09-23
Measured by openkal-compat run 35882195774 on this branch, with mcpp
2026.9.21.3, openkal-llvm-runtime 0.15.1 and llvm@22.1.8, the host's mingw
headers installed, 32 members on x86_64-linux-gnu and x86_64-windows-musl.
x86_64-linux-gnu: 30 run, 2 fail (curl and cmp-module, both declared
not-portable). x86_64-windows-musl, through Wine: 30 run, 1 builds
(mimalloc: its alloc test exits 1 under Wine), 1 fails (curl, declared).
Against the published file of 2026-09-20 (runtime 0.12.0, mcpp 2026.9.18.3)
no label is lower. archive, c-ares, doctest, spdlog and sqlite3 now run on
Windows and expat on Linux, as docs/openkal-compat.md's 2026-09-21 section
already described; yaml-cpp and yaml-cpp-v080 run on both targets. The
Windows cells were recorded as x86_64-windows-gnu until this measurement.1 parent 9c6ec87 commit 0d18e85
23 files changed
Lines changed: 1081 additions & 216 deletions
File tree
- .agents/docs
- .github/workflows
- .xpkgindex
- plugins
- docs
- zh
- pkgs/c
- tests
- examples
- yaml-cpp-v080
- tests
- yaml-cpp
- tests
- openkal
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| |||
68 | 69 | | |
69 | 70 | | |
70 | 71 | | |
71 | | - | |
72 | | - | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
73 | 75 | | |
74 | 76 | | |
75 | 77 | | |
76 | 78 | | |
77 | 79 | | |
78 | | - | |
79 | | - | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
80 | 83 | | |
81 | 84 | | |
82 | 85 | | |
| |||
0 commit comments