mirror of
https://github.com/Mesh-LLM/mesh-llm.git
synced 2026-08-08 22:23:19 -04:00
- build one backend-neutral host per platform and package native runtimes separately - compose immutable product-v2 bundles from verified host and runtime artifacts - enforce host import policy and runtime provenance across release and SDK lanes - align debug, release, Windows, Kotlin, and Swift validation with the composed product model - update release documentation, CI topology, and agent guidance for the unified path - require no-device client readiness and bounded clean shutdown for packaged runtimes
46 lines
1.4 KiB
Bash
Executable file
46 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Compatibility entry point for the unified Linux development product.
|
|
# Native ABI compilation remains solely in package-native-runtime.sh.
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
BACKEND=""
|
|
CUDA_ARCH=""
|
|
ROCM_ARCH=""
|
|
PROFILE="${MESH_LLM_BUILD_PROFILE:-debug}"
|
|
|
|
usage() {
|
|
echo "usage: scripts/build-linux.sh [--skip-ui] [--backend cpu|cuda|rocm|vulkan] [--cuda-arch SM_LIST] [--rocm-arch GFX_LIST]" >&2
|
|
}
|
|
|
|
while (($# > 0)); do
|
|
case "$1" in
|
|
--skip-ui) export MESH_LLM_SKIP_UI=1; shift ;;
|
|
--backend) BACKEND="${2:-}"; shift 2 ;;
|
|
--cuda-arch) CUDA_ARCH="${2:-}"; shift 2 ;;
|
|
--rocm-arch) ROCM_ARCH="${2:-}"; shift 2 ;;
|
|
--clean)
|
|
echo "--clean is no longer supported by the unified build; remove only the specific target/native-runtime output you own." >&2
|
|
exit 2
|
|
;;
|
|
-h|--help) usage; exit 0 ;;
|
|
-*)
|
|
echo "unknown option: $1" >&2
|
|
usage
|
|
exit 2
|
|
;;
|
|
*)
|
|
# Keep the former positional CUDA-architecture compatibility.
|
|
[[ -z "$CUDA_ARCH" ]] || { usage; exit 2; }
|
|
CUDA_ARCH="$1"
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
exec "$SCRIPT_DIR/build-development-product.sh" \
|
|
--profile "$PROFILE" \
|
|
--backend "$BACKEND" \
|
|
--cuda-arch "$CUDA_ARCH" \
|
|
--rocm-arch "$ROCM_ARCH"
|