Skip to content

Commit b7bcaf7

Browse files
authored
Link with static LiteCore instead of shared (#453)
* Link with static LiteCore instead of shared * No longer need to call loadLibrary on LiteCore
1 parent c90d4db commit b7bcaf7

2 files changed

Lines changed: 6 additions & 8 deletions

File tree

common/CMakeLists.txt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ else()
5353
set(BUILD_ROOT "${PROJECT_SOURCE_DIR}/../../ce/android")
5454
endif()
5555

56-
add_library( LiteCore SHARED IMPORTED )
56+
add_library( LiteCore STATIC IMPORTED )
5757
set_property( TARGET LiteCore PROPERTY
58-
IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../lite-core/android/${ANDROID_ABI}/lib/libLiteCore.so"
58+
IMPORTED_LOCATION "${PROJECT_SOURCE_DIR}/../lite-core/android/${ANDROID_ABI}/lib/libLiteCoreFull.a"
5959
)
6060

6161
add_library( LiteCoreJNI SHARED
@@ -85,9 +85,10 @@ target_include_directories( LiteCoreJNI PUBLIC
8585
"${PROJECT_SOURCE_DIR}/../lite-core/android/${ANDROID_ABI}/include"
8686
)
8787

88-
set_target_properties(
89-
LiteCoreJNI PROPERTIES LINK_FLAGS
90-
"-Wl,-z,max-page-size=16384,--version-script=${BUILD_ROOT}/etc/ld/jni_android.ld"
88+
target_link_options(
89+
LiteCoreJNI PRIVATE
90+
-Wl,-z,max-page-size=16384,--version-script=${BUILD_ROOT}/etc/ld/jni_android.ld
91+
-Wl,--undefined-version
9192
)
9293

9394
target_link_libraries( LiteCoreJNI

java/main/java/com/couchbase/lite/internal/NativeLibrary.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ private NativeLibrary() { }
5757
private static final String ARCH_UNIVERSAL = "universal";
5858

5959
private static final String LIB_JNI = "LiteCoreJNI";
60-
private static final String LIB_LITE_CORE = "LiteCore";
6160

6261
private static final String WINDOWS_OS_DIR = "windows";
6362
private static final String LINUX_OS_DIR = "linux";
@@ -84,8 +83,6 @@ static void load(@NonNull File scratchDir) {
8483
final String os = System.getProperty("os.name");
8584
final String arch = System.getProperty("os.arch");
8685

87-
loadLibrary(LIB_LITE_CORE, getCoreArchDir(os, arch), os, arch, scratchDir);
88-
8986
loadLibrary(LIB_JNI, getJniArchDir(os, arch), os, arch, scratchDir);
9087
}
9188

0 commit comments

Comments
 (0)