36 lines
980 B
Bash
36 lines
980 B
Bash
#!/usr/bin/env bash
|
|
# Build libkazeia_stt.so (SHARED, JNI Android).
|
|
# Inclut : stt_engine.cpp + kazeia_mel.cpp + kazeia_stt_jni.cpp
|
|
# Lie : libonnxruntime.so (dist/lib/) + QNN libs (chargées au runtime via LD path).
|
|
set -euo pipefail
|
|
HERE="$(cd "$(dirname "$0")" && pwd)"
|
|
NDK="${ANDROID_NDK_ROOT:-/opt/Kazeia/android-ndk-r27d}"
|
|
CXX="$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android31-clang++"
|
|
|
|
JNI="$HERE/jni"
|
|
INC="$HERE/include"
|
|
LIB="$HERE/lib"
|
|
OUT="$HERE/b-jni/libkazeia_stt.so"
|
|
mkdir -p "$HERE/b-jni"
|
|
|
|
CFLAGS=(
|
|
-std=c++17 -O3 -fPIC
|
|
-march=armv8.6-a+i8mm+bf16+dotprod+fp16
|
|
-Wno-unused-parameter -Wno-unused-variable -Wno-sign-compare -Wno-parentheses
|
|
-I"$INC"
|
|
)
|
|
SRCS=(
|
|
"$JNI/kazeia_stt_jni.cpp"
|
|
"$JNI/stt_engine.cpp"
|
|
"$JNI/kazeia_mel.cpp"
|
|
)
|
|
LIBS=(
|
|
-L"$LIB" -lonnxruntime
|
|
-Wl,-rpath,'$ORIGIN'
|
|
-llog -ldl -lm
|
|
)
|
|
|
|
echo "== building $OUT =="
|
|
"$CXX" "${CFLAGS[@]}" -shared "${SRCS[@]}" "${LIBS[@]}" -o "$OUT"
|
|
ls -la "$OUT"
|