#!/usr/bin/env bash # bin/kb/search — deprecated wrapper. Use bin/brain/search.go. # CGO via Zig (bin/cgo/zig), not gcc. Builds a binary then execs it. set -euo pipefail ROOT="$(CDPATH= cd -- "$(dirname "$0")/../.." && pwd)" BIN="$ROOT/var/bin/brain-search" SRC="$ROOT/internal/brain" CMD="$ROOT/bin/brain" mkdir -p "$ROOT/var/bin" need_build=0 if [ ! -x "$BIN" ]; then need_build=1 else while IFS= read -r -d '' f; do if [ "$f" -nt "$BIN" ]; then need_build=1 break fi done < <(find "$SRC" "$CMD" -name '*.go' -print0 2>/dev/null) fi if [ "$need_build" -eq 1 ]; then echo "Building brain/search (zig cc)..." >&2 ( cd "$ROOT" && eval "$("$ROOT/bin/cgo/zig" env)" && go build -tags system_ladybug -o "$BIN" ./bin/brain ) || exit 1 fi echo "bin/kb/search is deprecated; use bin/brain/search.go" >&2 exec "$BIN" "$@"