38 lines
1.2 KiB
Bash
Executable File
38 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Build ggml-vulkan pour Android arm64 dans un répertoire de test.
|
|
# Cible : produire libggml-vulkan.so + précompiler les SPIR-V shaders.
|
|
set -euo pipefail
|
|
HERE="$(cd "$(dirname "$0")" && pwd)"
|
|
NDK="${ANDROID_NDK_ROOT:-/opt/Kazeia/android-ndk-r27d}"
|
|
SRC="/opt/Kazeia-engine/ql"
|
|
B="$HERE/b-vulkan"
|
|
mkdir -p "$B"
|
|
cd "$B"
|
|
|
|
# Vulkan SDK headers + lib viennent du NDK sysroot directement.
|
|
# glslc pour compiler les shaders compute en SPIR-V.
|
|
GLSLC="$NDK/shader-tools/linux-x86_64/glslc"
|
|
|
|
cmake "$SRC" \
|
|
-DCMAKE_TOOLCHAIN_FILE="$NDK/build/cmake/android.toolchain.cmake" \
|
|
-DANDROID_ABI=arm64-v8a \
|
|
-DANDROID_PLATFORM=android-31 \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DGGML_VULKAN=ON \
|
|
-DGGML_HEXAGON=OFF \
|
|
-DGGML_BACKEND_DL=ON \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DLLAMA_BUILD_TOOLS=OFF \
|
|
-DLLAMA_BUILD_EXAMPLES=OFF \
|
|
-DLLAMA_BUILD_SERVER=OFF \
|
|
-DLLAMA_BUILD_TESTS=OFF \
|
|
-DSPIRV-Headers_DIR=/tmp/spirv-install/share/cmake/SPIRV-Headers \
|
|
-DVulkan_GLSLC_EXECUTABLE="$GLSLC" \
|
|
-G Ninja 2>&1 | tail -20
|
|
|
|
echo ""
|
|
echo "=== cmake done, building libggml-vulkan ==="
|
|
ninja ggml-vulkan 2>&1 | tail -10
|
|
echo ""
|
|
find . -name "libggml-vulkan*" 2>/dev/null
|