aboutsummaryrefslogtreecommitdiff
path: root/AGENTS
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-13 05:07:14 +0000
committer_ov4 <ov4@ov4.org>2026-10-13 05:07:14 +0000
commit26b378e7e90f950e8d64a294e56fbe9e06d19214 (patch)
treef061a01c65c886ed7845b3dfa466f782d62c47b2 /AGENTS
parent46c3c548c6e8b76797b688fbb6aba943a02bf6f1 (diff)
feat: add a per-user PowerShell installer
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat (limited to 'AGENTS')
-rw-r--r--AGENTS/ARCH.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/AGENTS/ARCH.md b/AGENTS/ARCH.md
index 4decf15..2707ba3 100644
--- a/AGENTS/ARCH.md
+++ b/AGENTS/ARCH.md
@@ -75,6 +75,13 @@ as `build/cpsc-VERSION-SYSTEM-ARCH.tar.xz`, retaining the configured execution m
timestamp (`yyyy-mm-dd-hh-mm-ss`) followed by its short ID. Git is only required
for packaging; recipients can install the extracted archive using just the script.
+The Windows `install.ps1` installs `cpsc.exe` and `doc/cpsc.html` for the current
+user under `%LOCALAPPDATA%\Programs\cpsc` (or `-Prefix`). It appends that directory
+to the user PATH without copying the combined process PATH, and creates a
+per-user Start Menu help shortcut. `-SourceDir` selects the artifact directory;
+`DESTDIR` staging is unsupported on Windows. The script is compatible with
+Windows PowerShell 5.1; its Windows actions have only been reviewed statically.
+
Build pin: developed and tested against **LLVM 18**. (The historical LLVM 19 breakage —
`ArithmeticHandler.cc` touching `llvm::Module` through a transitive include — is gone
now that string concatenation lives in `StringHandler`, but newer LLVM versions remain
@@ -95,7 +102,7 @@ untested.)
| `lib/CodeGen/*Handler.cc`, `FunctionGen.cc`, `RuntimeCheck.cc`, `TypeSystem.cc` | Helpers owned by CodeGen |
| `CMakeLists.txt` | 3 static libs (CPSLexer, CPSParser, CPSCodeGen) + `cpsc`. **New .cc files must be added to the source lists here** |
| `tools/driver/EmbeddedRunner.cc`, `cmake/EmbeddedLLVM.cmake` | EMBEDDED-only MCJIT runner and static support-library selection |
-| `install.sh`, `cmake/Install.cmake.in`, `cmake/Release.cmake` | Artifact installation and versioned binary release packaging |
+| `install.sh`, `install.ps1`, `cmake/Install.cmake.in`, `cmake/Release.cmake` | Artifact installation and versioned binary release packaging |
AST nodes live in `include/cps/AST.h` (+ `FunctionAST.h`, `FileAST.h`, `TypeAST.h`);
they are pure data with virtual destructors only — no codegen/visitor methods.