Fix nREPL on Windows; add a version string
The nREPL server bound its loopback socket through libc process symbols, which don't carry the socket entry points on Windows — they live in ws2_32.dll and aren't in joltc.exe's export table, so --nrepl-server died with "no entry for socket". Load ws2_32 before the foreign bindings there, call WSAStartup once, and use Winsock's closesocket and int-typed recv/send. Also fix SOL_SOCKET/SO_REUSEADDR, which the old macos-only check got wrong on Windows. Bake a version string into the self-contained binary at build time (from $JOLT_VERSION, else git describe) and expose it via jolt.host/jolt-version: --version / -V print it, and it shows in --help, the repl banner, and the nREPL startup line. Dev runs off bin/joltc read it from git describe. Add -e to the help output.
This commit is contained in:
parent
5467c1d98d
commit
4398e2cf6c
6 changed files with 93 additions and 15 deletions
|
|
@ -14,5 +14,7 @@
|
|||
# JOLT_PWD.
|
||||
root="$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)"
|
||||
export JOLT_PWD="${JOLT_PWD:-$PWD}"
|
||||
# Version for --version / banners: git describe of this checkout, else "dev".
|
||||
export JOLT_VERSION="${JOLT_VERSION:-$(git -C "$root" describe --tags --always --dirty 2>/dev/null || echo dev)}"
|
||||
cd "$root" || exit 1
|
||||
exec chez --script host/chez/cli.ss "$@"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue