Jorijn van der Graaf
5d25495621
fix: key the std module's directory on everything it is compiled with
...
StdPcmDir named the directory by target, march and toolchain, then
grew a case per target for the rest: the wasm flags, and with the first
fix for #43 the mingw prefix. Every other flag BuildStdPcm passes went
unkeyed, so configurations that differed only there took turns
rebuilding one std PCM in place, under the PCMs built against it: a
project with -mtune=generic against project.cpp's -mtune=native on every
run, or two sysroots for one target. And the mingw prefix was keyed only
when there was one, so a build without a prefix landed in the directory
an older release had filled with a CRAFTER_MINGW_DIR=/usr build, and
relinked its objects.
StdPcmFlags is now the one source of the flags BuildStdPcm compiles
with, and StdPcmKey names the directory by target, march and toolchain
followed by a hash of those flags and, for the mingw target, of the
prefix behind its --sysroot. VariantId hashes StdPcmKey in place of the
mingw prefix: units do not notice a std module that moved directories,
so a build has to move with it. Every std PCM directory and build
directory moves once, as after a compiler update; the old ones stay
until `clean` and the cache is cleared by hand.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 22:58:44 +01:00
..
CleanProject
test(cli): a word after format is a glob, not the clean verb
2026-10-20 19:08:26 +02:00
CompilerWarning
refactor: drop Windows host support
2026-10-02 22:03:34 +02:00
ConcurrentCacheRace
linting
2026-07-23 01:24:42 +02:00
ConcurrentDependencyReset
linting
2026-07-23 01:24:42 +02:00
ConcurrentExternalFetch
test(external): race BuildExternal as well as GitFetch
2026-10-31 02:09:24 +01:00
DependencyLink
linting
2026-07-23 01:24:42 +02:00
DependencyNotes
feat(agents): write AGENTS.md from a tracked AGENTS.template.md
2026-10-31 16:53:42 +01:00
DuplicateModule
test: two builds of one module are refused before anything compiles
2026-10-31 05:19:30 +01:00
ExternalArtifactTime
fix(external): fetch and build each clone once per build pass
2026-10-31 02:09:24 +01:00
GitSubmodules
fix: rebuild and relink on what changed, submodules at their revisions, and mingw found where it is
2026-10-20 20:20:29 +02:00
HelloWorld
linting
2026-07-23 01:24:42 +02:00
HostCacheSourceStamp
test(host-cache): changed declarations recompile project.so
2026-10-06 16:50:41 +02:00
HostCacheToolchainKey
fix: key PCM and project.so freshness on content, not installed mtimes
2026-10-02 23:18:09 +02:00
HostToolingSibling
test: a project and its pragma dependency load a shared sibling apart
2026-10-31 05:11:41 +01:00
IncrementalHeaderChange
test: header-change incrementality across every compile path
2026-07-31 11:11:49 +00:00
IncrementalInterfaceChange
fix: re-resolve module imports before checking staleness
2026-07-30 17:12:24 +00:00
LinkFlagsChange
fix: rebuild and relink on what changed, submodules at their revisions, and mingw found where it is
2026-10-20 20:20:29 +02:00
Lint
feat(lint): const-local and constexpr-constant rules
2026-07-31 00:50:48 +02:00
MingwMissing
fix: rebuild and relink on what changed, submodules at their revisions, and mingw found where it is
2026-10-20 20:20:29 +02:00
MingwSysroot
fix(mingw): view only a prefix that holds a Linux system
2026-10-31 22:58:30 +01:00
ModuleInterface
linting
2026-07-23 01:24:42 +02:00
ProjectArgs
test: specs and ProjectDependency() in a project file's static initialisers
2026-10-31 05:11:41 +01:00
ProjectDependency
test: specs and ProjectDependency() in a project file's static initialisers
2026-10-31 05:11:41 +01:00
RunSingleTestExit
linting
2026-07-23 01:24:42 +02:00
Script
test: -- reaches neither the project args nor the script
2026-10-31 05:11:41 +01:00
ShaderCompile
fix: rebuild and relink on what changed, submodules at their revisions, and mingw found where it is
2026-10-20 20:20:29 +02:00
ShaderIncludeChange
fix: rebuild and relink on what changed, submodules at their revisions, and mingw found where it is
2026-10-20 20:20:29 +02:00
ShaderVariantBuild
test(shader): variants through the Shader API and through Build()
2026-10-06 16:50:41 +02:00
SharedExternalFetch
test(external): tests that share a dependency fetch it once a run
2026-10-31 02:09:24 +01:00
StandardArgs
fix: key the host PCM cache on source content, add clean, hash project args
2026-07-30 17:43:09 +00:00
StaticLib
linting
2026-07-23 01:24:42 +02:00
SysrootCompileFlags
fix(mingw): view only a prefix that holds a Linux system
2026-10-31 22:58:30 +01:00
SysrootStdModule
test(sysroot): cover the std module source choice for a sysroot build
2026-10-03 16:37:00 +02:00
TestRunnerSpec
feat(toolchain): resolve the compiler in one place
2026-10-02 22:26:31 +02:00
ToolchainResolve
fix(mingw): view only a prefix that holds a Linux system
2026-10-31 22:58:30 +01:00
TransitiveInterfaceChange
test change
2026-08-05 05:49:42 +02:00
VariantId
fix: key the std module's directory on everything it is compiled with
2026-10-31 22:58:44 +01:00
VersionFlag
feat(toolchain): resolve the compiler in one place
2026-10-02 22:26:31 +02:00
WasiBrowserRuntime
fix(wasm): what the review found
2026-10-31 06:10:41 +01:00
WasiBrowserRuntimeExit
test(wasi-runtime): exit and park, under node
2026-10-31 05:55:32 +01:00
WasiSysrootWithoutExceptions
test(wasm): the cases the review found
2026-10-31 06:10:41 +01:00
WasmBuildRefusals
test(wasm): the cases the review found
2026-10-31 06:10:41 +01:00
WasmExceptions
feat(wasm): link libsetjmp, so setjmp needs no flag
2026-10-31 06:29:52 +01:00
WasmHelloRuns
test(wasm): exceptions in a wasm build, and a sysroot without them
2026-10-31 05:54:48 +01:00
WasmVariants
fix(wasm): what the review found
2026-10-31 06:10:41 +01:00