#!/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"