init
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
#!/bin/sh
|
||||
|
||||
component_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
||||
script_dir=$(dirname "$component_dir")
|
||||
repo_dir=$(dirname "$script_dir")
|
||||
build_dir=${MOUSE_BUILD_DIR:-"$repo_dir/build"}
|
||||
source_dir=${MOUSE_SOURCE_DIR:-"$build_dir/sources"}
|
||||
static_dir="$build_dir/static"
|
||||
source_build_dir="$static_dir/src"
|
||||
sysroot="$static_dir/sysroot"
|
||||
base_root="$static_dir/rootfs"
|
||||
tools_dir="$static_dir/tools"
|
||||
cross_tools_dir="$static_dir/cross-tools"
|
||||
jobs=${MOUSE_BUILD_JOBS:-$(getconf _NPROCESSORS_ONLN 2>/dev/null || printf '2')}
|
||||
|
||||
case "$static_dir" in
|
||||
"$repo_dir"/build/static) ;;
|
||||
*)
|
||||
printf '%s\n' "refusing to clear unexpected static build path: $static_dir" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
target_libdir=$(rustc --print target-libdir --target x86_64-unknown-linux-musl)
|
||||
builtins=$(find "$target_libdir" -maxdepth 1 -name 'libcompiler_builtins-*.rlib' -print | head -1)
|
||||
|
||||
clang=$(command -v clang)
|
||||
clangxx=$(command -v clang++)
|
||||
lld=$(command -v ld.lld)
|
||||
llvm_ar=$(command -v llvm-ar)
|
||||
llvm_strip=$(command -v llvm-strip)
|
||||
build_triplet=$(cc -dumpmachine)
|
||||
native_cc=cc
|
||||
|
||||
for requirement in \
|
||||
"$clang" "$clangxx" "$lld" "$builtins" "$llvm_ar" "$llvm_strip"
|
||||
do
|
||||
if [ ! -f "$requirement" ]; then
|
||||
printf '%s\n' "missing LLVM/Rust cross-build component: $requirement" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
llvm_ranlib="$tools_dir/bin/llvm-ranlib"
|
||||
meson_source="$source_build_dir/meson-1.9.1/meson.py"
|
||||
PATH="$tools_dir/bin:$PATH"
|
||||
export PATH
|
||||
target=x86_64-mouse-linux-musl
|
||||
cc="$cross_tools_dir/bin/$target-cc"
|
||||
cxx="$cross_tools_dir/bin/$target-c++"
|
||||
bootstrap_cxx="$cross_tools_dir/bin/$target-bootstrap-c++"
|
||||
ar="$cross_tools_dir/bin/$target-ar"
|
||||
ranlib="$cross_tools_dir/bin/$target-ranlib"
|
||||
strip="$cross_tools_dir/bin/$target-strip"
|
||||
cross_file="$static_dir/chimerautils.cross"
|
||||
Reference in New Issue
Block a user