48 lines
1.8 KiB
Bash
Executable File
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
|