Skip to content

Commit 19cec4e

Browse files
committed
add a way to build non llm
1 parent 5152950 commit 19cec4e

File tree

4 files changed

+13
-11
lines changed

4 files changed

+13
-11
lines changed

build/build_android_llm_demo.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,13 @@ build_aar() {
9797
find jni -type f -name "libexecutorch_jni.so" -exec bash -c 'mv "$1" "${1/_jni/}"' bash {} \;
9898
# Zip all necessary files into the AAR file
9999
zip -r executorch.aar libs jni/*/libexecutorch.so jni/*/libqnn*.so jni/*/libQnn*.so AndroidManifest.xml
100-
zip -r executorch-llama.aar libs jni/*/libexecutorch_llama_jni.so jni/*/libqnn*.so jni/*/libQnn*.so AndroidManifest.xml
100+
zip -r executorch-llama.aar libs jni/*/libexecutorch.so jni/*/libqnn*.so jni/*/libQnn*.so AndroidManifest.xml
101101
popd
102102
}
103103

104104
build_android_demo_apps() {
105105
mkdir -p examples/demo-apps/android/LlamaDemo/app/libs
106106
cp ${BUILD_AAR_DIR}/executorch-llama.aar examples/demo-apps/android/LlamaDemo/app/libs
107-
cp ${BUILD_AAR_DIR}/executorch-llama.aar extension/android/benchmark/app/libs/executorch.aar
108107
pushd examples/demo-apps/android/LlamaDemo
109108
ANDROID_HOME="${ANDROID_SDK:-/opt/android/sdk}" ./gradlew build assembleAndroidTest
110109
popd
@@ -140,6 +139,7 @@ collect_artifacts_to_be_uploaded() {
140139
}
141140

142141
BUILD_AAR_DIR="$(mktemp -d)"
142+
export BUILD_AAR_DIR
143143
if [ -z "$ANDROID_ABIS" ]; then
144144
ANDROID_ABIS=("arm64-v8a" "x86_64")
145145
fi

extension/android/CMakeLists.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,12 @@ if(EXECUTORCH_BUILD_KERNELS_CUSTOM)
7878
)
7979
endif()
8080

81-
set(JNI_SRCS jni/jni_layer.cpp)
81+
add_library(executorch_jni SHARED jni/jni_layer.cpp)
8282

8383
if(EXECUTORCH_BUILD_LLAMA_JNI)
84-
list(APPEND JNI_SRCS jni/jni_layer_llama.cpp)
84+
target_sources(executorch_jni PRIVATE jni/jni_layer_llama.cpp)
8585
list(APPEND link_libraries llama_runner llava_runner)
86+
target_compile_definitions(executorch_jni PUBLIC EXECUTORCH_BUILD_LLAMA_JNI=1)
8687
add_subdirectory(
8788
${EXECUTORCH_ROOT}/examples/models/llava/runner
8889
${CMAKE_CURRENT_BINARY_DIR}/../../examples/models/llava/runner
@@ -98,8 +99,6 @@ if(TARGET quantized_kernels)
9899
list(APPEND link_libraries quantized_kernels quantized_ops_lib)
99100
endif()
100101

101-
add_library(executorch_jni SHARED ${JNI_SRCS})
102-
103102
target_include_directories(
104103
executorch_jni PRIVATE ${_common_include_directories}
105104
)

extension/android/jni/jni_layer.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -386,11 +386,15 @@ class ExecuTorchJni : public facebook::jni::HybridClass<ExecuTorchJni> {
386386
};
387387
} // namespace executorch::extension
388388

389-
extern void register_natives_jni();
390-
389+
#ifdef EXECUTORCH_BUILD_LLAMA_JNI
390+
extern void register_natives_for_llama();
391+
#else
392+
// No op if we don't build llama
393+
void register_natives_for_llama() {}
394+
#endif
391395
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
392396
return facebook::jni::initialize(
393397
vm, [] { executorch::extension::ExecuTorchJni::registerNatives();
394-
register_natives_jni();
398+
register_natives_for_llama();
395399
});
396400
}

extension/android/jni/jni_layer_llama.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,6 @@ class ExecuTorchLlamaJni
265265

266266
} // namespace executorch_jni
267267

268-
void register_natives_jni() {
268+
void register_natives_for_llama() {
269269
executorch_jni::ExecuTorchLlamaJni::registerNatives();
270270
}
271-

0 commit comments

Comments
 (0)