From e4cb720db8b2398b605bc5bae72a28e56686186d Mon Sep 17 00:00:00 2001 From: Geir Sagberg Date: Sun, 12 Jul 2026 11:15:10 +0200 Subject: [PATCH] Fix Android native math library linkage --- src/main/c/h3-java/CMakeLists.txt | 11 ++++++----- src/main/c/h3-java/build-h3.sh | 5 +++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/c/h3-java/CMakeLists.txt b/src/main/c/h3-java/CMakeLists.txt index f0c76e5..7c9278d 100644 --- a/src/main/c/h3-java/CMakeLists.txt +++ b/src/main/c/h3-java/CMakeLists.txt @@ -70,11 +70,12 @@ target_link_libraries(h3-java "${H3_BUILD_ROOT}/${H3_CORE_LIBRARY_PATH}${CMAKE_S option(H3_JAVA_ANDROID "Whether to enable Android specific build flags") if(H3_JAVA_ANDROID) target_link_options(h3-java PRIVATE "-Wl,-z,max-page-size=16384") -endif() - -find_library(M_LIB m) -if(M_LIB) - target_link_libraries(h3-java ${M_LIB}) + target_link_libraries(h3-java m) +else() + find_library(M_LIB m) + if(M_LIB) + target_link_libraries(h3-java ${M_LIB}) + endif() endif() find_program(CLANG_FORMAT_PATH clang-format) diff --git a/src/main/c/h3-java/build-h3.sh b/src/main/c/h3-java/build-h3.sh index 61f9703..d60935e 100755 --- a/src/main/c/h3-java/build-h3.sh +++ b/src/main/c/h3-java/build-h3.sh @@ -211,6 +211,11 @@ for image in $DOCKCROSS_IMAGES; do # Perform the actual build inside Docker $BUILD_ROOT/dockcross --args "-v $JAVA_HOME:/java" src/main/c/h3-java/build-h3-docker.sh "$BUILD_ROOT" "$UPGRADE_CMAKE" "$CMAKE_ROOT" "$SPECIAL_ANDROID_FLAGS" + if [[ "$image" == android-* ]]; then + $BUILD_ROOT/dockcross readelf -d "$BUILD_ROOT/lib/libh3-java.so" | + grep -q 'Shared library: \[libm.so\]' + fi + # Copy the built artifact into the source tree so it can be included in the # built JAR. OUTPUT_ROOT=src/main/resources/$image