@@ -539,19 +539,17 @@ jobs:
539
539
if-no-files-found : error
540
540
541
541
compile-android :
542
- # Disable android build
543
- if : false
544
-
542
+ name : Compile (Android)
545
543
strategy :
546
544
fail-fast : true
547
545
matrix :
548
546
include :
549
547
- build : ' x86'
550
- defines : ' -DANDROID_ABI=x86'
548
+ defines : ' -DANDROID_ABI=x86 -DCMAKE_C_FLAGS=-march=i686 -DCMAKE_CXX_FLAGS=-march=i686 '
551
549
- build : ' x86_64'
552
- defines : ' -DANDROID_ABI=x86_64'
550
+ defines : ' -DANDROID_ABI=x86_64 -DCMAKE_C_FLAGS=-march=x86-64 -DCMAKE_CXX_FLAGS=-march=x86-64 '
553
551
- build : ' arm64-v8a'
554
- defines : ' -DANDROID_ABI=arm64-v8a'
552
+ defines : ' -DANDROID_ABI=arm64-v8a -DCMAKE_C_FLAGS=-march=armv8.7a -DCMAKE_C_FLAGS=-march=armv8.7a '
555
553
runs-on : ubuntu-24.04
556
554
steps :
557
555
- uses : actions/checkout@v4
@@ -567,28 +565,39 @@ jobs:
567
565
- name : Build
568
566
id : cmake_build
569
567
env :
570
- CMAKE_FLAGS : ' -DCMAKE_TOOLCHAIN_FILE=${{ steps.setup-ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-23'
568
+ CMAKE_FLAGS : ' -DCMAKE_TOOLCHAIN_FILE=${{ steps.setup-ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-23 -DGGML_OPENMP=OFF -DGGML_LLAMAFILE=OFF '
571
569
run : |
572
- mkdir build
573
- cd build
574
- cmake .. ${{ env.COMMON_DEFINE }} ${{ env.CMAKE_FLAGS }} ${{ matrix.defines }}
575
- cmake --build . --config Release -j ${env:NUMBER_OF_PROCESSORS}
576
- cd ..
577
- ls -R
570
+ # export-lora not supported on 32 bit machines hence breaks x86 build
571
+ sed -i '/add_subdirectory(export-lora)/d' examples/CMakeLists.txt # remove export-lora from examples
572
+ cmake ${{ env.COMMON_DEFINE }} ${{ env.CMAKE_FLAGS }} ${{ matrix.defines }} -B build
573
+ cmake --build build --config Release -j ${env:NUMBER_OF_PROCESSORS}
578
574
- name : Upload Llama
579
575
uses : actions/upload-artifact@v4
580
576
with :
581
- path : ./build/src /libllama.so
577
+ path : ./build/bin /libllama.so
582
578
name : llama-bin-android-${{ matrix.build }}.so
583
- - uses : actions/upload-artifact@v4
579
+ - name : Upload GGML
580
+ uses : actions/upload-artifact@v4
584
581
with :
585
- path : ./build/ggml/src /libggml.so
582
+ path : ./build/bin /libggml.so
586
583
name : ggml-bin-android-${{ matrix.build }}.so
587
584
if-no-files-found : error
585
+ - name : Upload GGML Base
586
+ uses : actions/upload-artifact@v4
587
+ with :
588
+ path : ./build/bin/libggml-base.so
589
+ name : ggml-base-bin-android-${{ matrix.build }}.so
590
+ if-no-files-found : error
591
+ - name : Upload GGML CPU
592
+ uses : actions/upload-artifact@v4
593
+ with :
594
+ path : ./build/bin/libggml-cpu.so
595
+ name : ggml-cpu-bin-android-${{ matrix.build }}.so
596
+ if-no-files-found : error
588
597
- name : Upload Llava
589
598
uses : actions/upload-artifact@v4
590
599
with :
591
- path : ./build/examples/llava /libllava_shared.so
600
+ path : ./build/bin /libllava_shared.so
592
601
name : llava-bin-android-${{ matrix.build }}.so
593
602
594
603
build-deps :
@@ -722,17 +731,23 @@ jobs:
722
731
cp artifacts/llava-bin-osx-x64-rosetta2.dylib/libllava_shared.dylib deps/osx-x64-rosetta2/libllava_shared.dylib
723
732
724
733
# Android
725
- #cp artifacts/ggml-bin-android-arm64-v8a.so/libggml.so deps/android-arm64-v8a/libggml.so
726
- #cp artifacts/llama-bin-android-arm64-v8a.so/libllama.so deps/android-arm64-v8a/libllama.so
727
- #cp artifacts/llava-bin-android-arm64-v8a.so/libllava_shared.so deps/android-arm64-v8a/libllava_shared.so
728
-
729
- #cp artifacts/ggml-bin-android-x86.so/libggml.so deps/android-x86/libggml.so
730
- #cp artifacts/llama-bin-android-x86.so/libllama.so deps/android-x86/libllama.so
731
- #cp artifacts/llava-bin-android-x86.so/libllava_shared.so deps/android-x86/libllava_shared.so
732
-
733
- #cp artifacts/ggml-bin-android-x86_64.so/libggml.so deps/android-x86_64/libggml.so
734
- #cp artifacts/llama-bin-android-x86_64.so/libllama.so deps/android-x86_64/libllama.so
735
- #cp artifacts/llava-bin-android-x86_64.so/libllava_shared.so deps/android-x86_64/libllava_shared.so
734
+ cp artifacts/ggml-bin-android-arm64-v8a.so/libggml.so deps/android-arm64-v8a/libggml.so
735
+ cp artifacts/ggml-base-bin-android-arm64-v8a.so/libggml-base.so deps/android-arm64-v8a/libggml-base.so
736
+ cp artifacts/ggml-cpu-bin-android-arm64-v8a.so/libggml-cpu.so deps/android-arm64-v8a/libggml-cpu.so
737
+ cp artifacts/llama-bin-android-arm64-v8a.so/libllama.so deps/android-arm64-v8a/libllama.so
738
+ cp artifacts/llava-bin-android-arm64-v8a.so/libllava_shared.so deps/android-arm64-v8a/libllava_shared.so
739
+
740
+ cp artifacts/ggml-bin-android-x86.so/libggml.so deps/android-x86/libggml.so
741
+ cp artifacts/ggml-base-bin-android-x86.so/libggml-base.so deps/android-x86/libggml-base.so
742
+ cp artifacts/ggml-cpu-bin-android-x86.so/libggml-cpu.so deps/android-x86/libggml-cpu.so
743
+ cp artifacts/llama-bin-android-x86.so/libllama.so deps/android-x86/libllama.so
744
+ cp artifacts/llava-bin-android-x86.so/libllava_shared.so deps/android-x86/libllava_shared.so
745
+
746
+ cp artifacts/ggml-bin-android-x86_64.so/libggml.so deps/android-x86_64/libggml.so
747
+ cp artifacts/ggml-base-bin-android-x86_64.so/libggml-base.so deps/android-x86_64/libggml-base.so
748
+ cp artifacts/ggml-cpu-bin-android-x86_64.so/libggml-cpu.so deps/android-x86_64/libggml-cpu.so
749
+ cp artifacts/llama-bin-android-x86_64.so/libllama.so deps/android-x86_64/libllama.so
750
+ cp artifacts/llava-bin-android-x86_64.so/libllava_shared.so deps/android-x86_64/libllava_shared.so
736
751
737
752
# Windows CUDA
738
753
cp artifacts/ggml-bin-win-cublas-cu11.7.1-x64.dll/ggml.dll deps/cu11.7.1/ggml.dll
0 commit comments