build: resolve SCHEME from $(JERBOA_HOME)/.chez/bin/scheme
ober
bae2d2c5163cae151bc7cb4f137bd0903e202080
--- a/Makefile +++ b/Makefile @@ -1,8 +1,13 @@ -SCHEME = scheme JERBOA_HOME ?= $(HOME)/mine/jerboa +SCHEME ?= $(JERBOA_HOME)/.chez/bin/scheme LIBDIRS = --libdirs $(JERBOA_HOME)/lib:./lib:vendor/chez-sqlite/src:vendor/jerboa-websearch/src JERBUILD = $(SCHEME) --libdirs $(JERBOA_HOME)/lib --script $(JERBOA_HOME)/jerbuild.ss +# Fail early with a clear pointer if the jerboa-local Chez build is missing. +ifeq ($(wildcard $(SCHEME)),) +$(error Chez Scheme not found at $(SCHEME). Run 'make chez' in $(JERBOA_HOME) (or set SCHEME=... to override).) +endif + # Library paths for FFI shared objects (macOS: dylib, Linux: so) SQLITE_LIB_DIR := $(shell brew --prefix sqlite 2>/dev/null)/lib SHIM_DIR := $(CURDIR)/vendor/chez-sqlite --- a/build-jcode-musl.sh +++ b/build-jcode-musl.sh @@ -17,6 +17,13 @@ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" HOME_DIR="${HOME:-/root}" JERBOA_HOME="${JERBOA_HOME:-${HOME_DIR}/mine/jerboa}" JERBOA_LIB="${JERBOA_HOME}/lib" +SCHEME="${SCHEME:-${JERBOA_HOME}/.chez/bin/scheme}" + +if [ ! -x "${SCHEME}" ]; then + echo "ERROR: Chez Scheme not found at ${SCHEME}" >&2 + echo " Run 'make chez' in ${JERBOA_HOME} (or set SCHEME=... to override)." >&2 + exit 1 +fi echo "===================================" echo "Building jcode with musl libc (static)" @@ -67,7 +74,7 @@ fi # Validate musl toolchain via jerboa echo "[1/2] Validating musl toolchain via jerboa..." -scheme -q --libdirs "${JERBOA_LIB}" <<'VALIDATE' +"${SCHEME}" -q --libdirs "${JERBOA_LIB}" <<'VALIDATE' (import (chezscheme) (jerboa build musl)) (let ([result (validate-musl-setup)]) (printf " ~a: ~a~n" (car result) (cdr result)) @@ -81,7 +88,7 @@ echo "[2/2] Running musl build..." LD_LIBRARY_PATH="${SCRIPT_DIR}/vendor/chez-sqlite:${SCRIPT_DIR}/vendor/termbox2:${JERBOA_LIB}:." \ JERBOA_HOME="${JERBOA_HOME}" \ JERBOA_MUSL_CHEZ_PREFIX="${MUSL_CHEZ_PREFIX}" \ -scheme -q --libdirs "${JERBOA_LIB}:./lib:vendor/chez-sqlite/src:vendor/jerboa-websearch/src" \ +"${SCHEME}" -q --libdirs "${JERBOA_LIB}:./lib:vendor/chez-sqlite/src:vendor/jerboa-websearch/src" \ <build-jcode-musl.ss # Verify