From 273555f53458eb80d15c3d5c1910e57428818ee4 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Thu, 22 Oct 2026 10:27:27 +0000 Subject: build(release): version compiler packages by their last source commit Co-Authored-By: Claude Opus 5.5 --- AGENTS/ARCH/INSTALL.md | 3 ++- AGENTS/ARCH/LAYOUT.md | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'AGENTS') diff --git a/AGENTS/ARCH/INSTALL.md b/AGENTS/ARCH/INSTALL.md index 82c5059..a1624bd 100644 --- a/AGENTS/ARCH/INSTALL.md +++ b/AGENTS/ARCH/INSTALL.md @@ -21,7 +21,8 @@ the extracted executable, and sets its local runtime/data paths as needed. Syste Pandoc remains the fallback. `make -C build release` packages the executable, all manuals, installer and license as `build/cpsc-VERSION-SYSTEM-ARCH.tar.xz`, retaining the configured execution mode. -`cmake/Release.cmake` reads HEAD at packaging time; VERSION is the commit's UTC +`cmake/Release.cmake` reads, at packaging time, the last commit that touched the paths +listed in `cmake/CompilerPaths.txt`; VERSION is that commit's UTC timestamp (`yyyymmdd-hhmmss`) followed by its short ID. Git is only required for packaging; recipients can install the extracted archive using just the script. diff --git a/AGENTS/ARCH/LAYOUT.md b/AGENTS/ARCH/LAYOUT.md index a88c60b..2d8f2fd 100644 --- a/AGENTS/ARCH/LAYOUT.md +++ b/AGENTS/ARCH/LAYOUT.md @@ -35,6 +35,7 @@ | `cmake/BuildTools.cmake`, `cmake/LLVMDependencies.cmake` | Compiler/build tool selection and LLVM dependency discovery | | `cmake/Manual.cmake`, `cmake/GenerateManual.cmake.in` | Optional manual generation with local-first Pandoc discovery | | `install.sh`, `install.ps1`, `cmake/Install.cmake.in`, `cmake/Release.cmake` | Artifact installation and versioned binary release packaging | +| `cmake/CompilerPaths.txt` | Plain list of compiler source paths; the last commit touching them versions release packages | AST nodes live in `include/cps/AST.h` (+ `FunctionAST.h`, `FileAST.h`, `TypeAST.h`, `TemplateAST.h`); they are pure data with virtual destructors only — no codegen/visitor methods. -- cgit v1.3.1-4-g156e