From cc9e6f7a5a739aff955094c03999f1881fc85042 Mon Sep 17 00:00:00 2001 From: Vivek Date: Sat, 6 Jul 2024 12:29:59 +0530 Subject: [PATCH] Add rust package version check and install + wasm32-wasi package presence --- Makefile | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 900f2e202..ed491d88c 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,34 @@ -all: limbo limbo-wasm +MINIMUM_RUST_VERSION := 1.73.0 +CURRENT_RUST_VERSION := $(shell rustc -V | sed -E 's/rustc ([0-9]+\.[0-9]+\.[0-9]+).*/\1/') +RUSTUP := $(shell command -v rustup 2> /dev/null) + +all: check-rust-version check-wasm-target limbo limbo-wasm .PHONY: all +check-rust-version: + @echo "Checking Rust version..." + @if [ "$(shell printf '%s\n' "$(MINIMUM_RUST_VERSION)" "$(CURRENT_RUST_VERSION)" | sort -V | head -n1)" = "$(CURRENT_RUST_VERSION)" ]; then \ + echo "Rust version greater than $(MINIMUM_RUST_VERSION) is required. Current version is $(CURRENT_RUST_VERSION)."; \ + if [ -n "$(RUSTUP)" ]; then \ + echo "Updating Rust..."; \ + rustup update stable; \ + else \ + echo "Please update Rust manually to a version greater than $(MINIMUM_RUST_VERSION)."; \ + exit 1; \ + fi; \ + else \ + echo "Rust version $(CURRENT_RUST_VERSION) is acceptable."; \ + fi +.PHONY: check-rust-version + +check-wasm-target: + @echo "Checking wasm32-wasi target..." + @if ! rustup target list | grep -q "wasm32-wasi (installed)"; then \ + echo "Installing wasm32-wasi target..."; \ + rustup target add wasm32-wasi; \ + fi +.PHONY: check-wasm-target + limbo: cargo build .PHONY: limbo @@ -11,4 +39,4 @@ limbo-wasm: test: limbo SQLITE_EXEC=./target/debug/limbo ./testing/all.test -.PHONY: test +.PHONY: test \ No newline at end of file