diff --git a/Makefile b/Makefile index bab5001ed..499007884 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,7 @@ CURRENT_RUST_VERSION := $(shell rustc -V | sed -E 's/rustc ([0-9]+\.[0-9]+\.[0-9 CURRENT_RUST_TARGET := $(shell rustc -vV | grep host | cut -d ' ' -f 2) RUSTUP := $(shell command -v rustup 2> /dev/null) UNAME_S := $(shell uname -s) +MINIMUM_TCL_VERSION := 8.6 # Executable used to execute the compatibility tests. SQLITE_EXEC ?= scripts/limbo-sqlite3 @@ -27,6 +28,17 @@ check-rust-version: fi .PHONY: check-rust-version +check-tcl-version: + @printf '%s\n' \ + 'set need "$(MINIMUM_TCL_VERSION)"' \ + 'set have [info patchlevel]' \ + 'if {[package vcompare $$have $$need] < 0} {' \ + ' puts stderr "tclsh $$have found — need $$need+"' \ + ' exit 1' \ + '}' \ + | tclsh +.PHONY: check-tcl-version + check-wasm-target: @echo "Checking wasm32-wasi target..." @if ! rustup target list | grep -q "wasm32-wasi (installed)"; then \ @@ -67,7 +79,7 @@ test-shell: limbo uv-sync-test RUST_LOG=$(RUST_LOG) SQLITE_EXEC=$(SQLITE_EXEC) uv run --project limbo_test test-shell .PHONY: test-shell -test-compat: +test-compat: check-tcl-version RUST_LOG=$(RUST_LOG) SQLITE_EXEC=$(SQLITE_EXEC) ./testing/all.test .PHONY: test-compat