diff --git a/build.gradle b/build.gradle index b4ba5a2..8cba8a2 100644 --- a/build.gradle +++ b/build.gradle @@ -101,6 +101,18 @@ def platforms = [ res : 'linux-aarch64', libExt: 'so' ], + [ + name : 'android-x64', + file : 'zig-x86_64-android.cmake', + res : 'android-x64', + libExt: 'so' + ], + [ + name : 'android-arm64', + file : 'zig-aarch64-android.cmake', + res : 'android-aarch64', + libExt: 'so' + ], [ name : 'macos-x64', file : 'zig-x86_64-macos.cmake', diff --git a/native/cmake/zig-aarch64-android.cmake b/native/cmake/zig-aarch64-android.cmake new file mode 100644 index 0000000..fb61513 --- /dev/null +++ b/native/cmake/zig-aarch64-android.cmake @@ -0,0 +1,5 @@ +set(TARGET_TRIPLE "aarch64-linux-android21") +set(CMAKE_SYSTEM_NAME "Android") +set(CMAKE_SYSTEM_PROCESSOR "aarch64") + +include("${CMAKE_CURRENT_LIST_DIR}/zig-base.cmake") diff --git a/native/cmake/zig-base.cmake b/native/cmake/zig-base.cmake index e17ac2f..15f09e4 100644 --- a/native/cmake/zig-base.cmake +++ b/native/cmake/zig-base.cmake @@ -49,6 +49,11 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux") string(APPEND BASE_LINKER_FLAGS " -Wl,--gc-sections") string(APPEND BASE_LINKER_FLAGS " -Wl,-s") string(APPEND BASE_LINKER_FLAGS " -Wl,--as-needed") +elseif (CMAKE_SYSTEM_NAME STREQUAL "Android") + # Requires -ffunction-sections and -fdata-sections + string(APPEND BASE_LINKER_FLAGS " -Wl,--gc-sections") + string(APPEND BASE_LINKER_FLAGS " -Wl,-s") + string(APPEND BASE_LINKER_FLAGS " -Wl,--as-needed") endif () diff --git a/native/cmake/zig-x86_64-android.cmake b/native/cmake/zig-x86_64-android.cmake new file mode 100644 index 0000000..4d68bed --- /dev/null +++ b/native/cmake/zig-x86_64-android.cmake @@ -0,0 +1,5 @@ +set(TARGET_TRIPLE "x86_64-linux-android21") +set(CMAKE_SYSTEM_NAME "Android") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +include("${CMAKE_CURRENT_LIST_DIR}/zig-base.cmake")