Fail actionably when vendor submodules are missing
A user downloaded the auto-generated 'Source code' zip from the release (no submodules) and hit the raw 'load failed for vendor/irregex/irregex.scm'. cli.ss and make now check for vendor/irregex up front and print the fix (clone --recurse-submodules / git submodule update --init --recursive); README documents both and warns that GitHub's source archives can't build. Release notes updated with the same pointer.
This commit is contained in:
parent
dbc4298c0a
commit
5467c1d98d
3 changed files with 46 additions and 5 deletions
20
README.md
20
README.md
|
|
@ -9,8 +9,12 @@ runs it on Chez. The compiler is self-hosted: it is written in Clojure
|
|||
|
||||
## Install
|
||||
|
||||
Grab the self-contained `joltc` binary (Linux/macOS) — it bundles the runtime,
|
||||
compiler, and standard library, so there is nothing else to install.
|
||||
Grab the self-contained `joltc` binary (Linux/macOS/Windows) — it bundles the
|
||||
runtime, compiler, and standard library, so there is nothing else to install.
|
||||
Download the binary archive for your platform from the
|
||||
[releases page](https://github.com/jolt-lang/jolt/releases) (`joltc-<ver>-<platform>.tar.gz`,
|
||||
or the `.zip` on Windows). The "Source code" archives GitHub attaches to every
|
||||
release are not binaries — see [Build](#build) before using one.
|
||||
|
||||
With Homebrew:
|
||||
|
||||
|
|
@ -45,6 +49,18 @@ cd jolt
|
|||
bin/joltc -e '(+ 1 2)' # => 3
|
||||
```
|
||||
|
||||
The `--recurse-submodules` matters: jolt vendors its regex engine and test
|
||||
suites as git submodules. In a checkout that's missing them (a plain
|
||||
`git clone`, or after pulling a commit that adds one), fetch them with:
|
||||
|
||||
```bash
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
Note that GitHub's auto-generated "Source code (zip/tar.gz)" archives on the
|
||||
releases page do **not** contain submodules, so they can't run or build —
|
||||
clone the repo instead (or grab a prebuilt binary from the same page).
|
||||
|
||||
After changing a compiler source — the reader (`host/chez/reader.ss`), the
|
||||
analyzer/IR/backend (`jolt-core/jolt/*.clj`), or the `clojure.core` overlay
|
||||
(`jolt-core/clojure/core/*.clj`) — re-mint the seed:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue