#!/bin/sh # Minimal SQLite binding smoke test. set -e cd "$(dirname "$0")" ROOT="$(cd ../.. && pwd)" M2MAKE="$ROOT/tools/m2make/b_v3/M2make" if [ ! -x "$M2MAKE" ]; then echo "missing $M2MAKE; run tools/m2make/build_m2.sh" >&2 exit 1 fi SQLITE_LIBS="$(pkg-config --libs sqlite3 2>/dev/null || true)" if [ -z "$SQLITE_LIBS" ]; then # Runtime-only installations often have no .pc/header; use the # versioned shared object directly. SQLITE_LIBS="/usr/lib/x86_64-linux-gnu/libsqlite3.so.0" fi OUT="${TMPDIR:-/tmp}/m2-sqlite-smoke" "$M2MAKE" -c m2 \ --m2bin "$ROOT/compiler/M2" \ --shim "$ROOT/runtime/syslib/shim.c" \ --lib "$SQLITE_LIBS" \ -I "$ROOT/bindings/sqlite3" \ -o "$OUT" \ tests/SQLiteSmoke.mod set +e "$OUT" rc=$? set -e if [ "$rc" = 42 ]; then exit 0; fi exit 1