Files
Velix-MPV-Core/scripts/setup-ohos-env.sh

48 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
set -eu
if test -f "$(pwd)/meson.build"; then
PROJECT_ROOT=$(pwd)
else
PROJECT_ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
fi
DEFAULT_OHOS_SDK=/Applications/DevEco-Studio.app/Contents/sdk/default/openharmony
OHOS_SDK=${OHOS_SDK:-$DEFAULT_OHOS_SDK}
OHOS_NATIVE=$OHOS_SDK/native
OHOS_SYSROOT=$OHOS_NATIVE/sysroot
OHOS_TOOLCHAIN=$OHOS_NATIVE/llvm/bin
OHOS_BUILD_ROOT=${OHOS_BUILD_ROOT:-$PROJECT_ROOT/build/ohos-arm64}
PREFIX=${PREFIX:-$OHOS_BUILD_ROOT/prefix}
TARGET=aarch64-linux-ohos
for path in "$OHOS_SYSROOT" "$OHOS_TOOLCHAIN/clang" "$OHOS_TOOLCHAIN/clang++" \
"$OHOS_TOOLCHAIN/llvm-ar" "$OHOS_TOOLCHAIN/llvm-ranlib" \
"$OHOS_TOOLCHAIN/llvm-strip" "$OHOS_TOOLCHAIN/llvm-readelf"; do
test -e "$path" || { printf 'Missing OHOS toolchain path: %s\n' "$path" >&2; return 1 2>/dev/null || exit 1; }
done
CC=$OHOS_TOOLCHAIN/clang
CXX=$OHOS_TOOLCHAIN/clang++
AR=$OHOS_TOOLCHAIN/llvm-ar
RANLIB=$OHOS_TOOLCHAIN/llvm-ranlib
STRIP=$OHOS_TOOLCHAIN/llvm-strip
READELF=$OHOS_TOOLCHAIN/llvm-readelf
NM=$OHOS_TOOLCHAIN/llvm-nm
PKG_CONFIG=$PROJECT_ROOT/scripts/pkg-config-ohos.sh
CROSS_FILE=$PROJECT_ROOT/toolchains/ohos-api24-arm64.ini
OHOS_COMMON_FLAGS="--target=$TARGET --sysroot=$OHOS_SYSROOT -D__MUSL__"
PATH=$PROJECT_ROOT/build/host-tools/venv/bin:$OHOS_NATIVE/build-tools/cmake/bin:$PATH
PKG_CONFIG_DIR=
PKG_CONFIG_PATH=
PKG_CONFIG_LIBDIR=$PREFIX/lib/pkgconfig:$PREFIX/share/pkgconfig
PKG_CONFIG_SYSROOT_DIR=
unset CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH LIBRARY_PATH CMAKE_PREFIX_PATH
export PROJECT_ROOT OHOS_SDK OHOS_NATIVE OHOS_SYSROOT OHOS_TOOLCHAIN
export OHOS_BUILD_ROOT PREFIX TARGET CC CXX AR RANLIB STRIP READELF NM
export PKG_CONFIG CROSS_FILE OHOS_COMMON_FLAGS PATH
export PKG_CONFIG_DIR PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR