Skip to content

Commit

Permalink
Use LTO on Android
Browse files Browse the repository at this point in the history
  • Loading branch information
kneth committed Mar 18, 2021
1 parent 07367b1 commit 9f3b24d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
1 change: 1 addition & 0 deletions scripts/build-android.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ for (const arch of architectures) {
`-DANDROID_ABI=${arch}`,
`-DCMAKE_MAKE_PROGRAM=${sdkPath}/cmake/${cmakeVersion}/bin/ninja`,
`-DCMAKE_TOOLCHAIN_FILE=${ndkPath}/build/cmake/android.toolchain.cmake`,
"-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON",
"-DANDROID_TOOLCHAIN=clang",
"-DANDROID_NATIVE_API_LEVEL=16",
`-DCMAKE_BUILD_TYPE=${options.buildType}`,
Expand Down
11 changes: 8 additions & 3 deletions src/android/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ add_library(realm-js-android SHARED
jsc_override.cpp
)

set_target_properties(realm-js-android PROPERTIES
set_target_properties(realm-js-android PROPERTIES
OUTPUT_NAME "realm"
PREFIX "lib"
PREFIX "lib"
SUFFIX ".so"
)

Expand Down Expand Up @@ -42,7 +42,7 @@ if(NOT EXISTS ${JSC_LIB_FILE})
if (NOT "${status_code}" STREQUAL "0")
message(FATAL_ERROR "Downloading ${url}... Failed. Status: ${download_status}")
endif()

message(STATUS "Uncompressing ${JSC_ROOT_DIR}/jsc-android-241213.1.0.tgz")
execute_process(
COMMAND ${CMAKE_COMMAND} -E tar xfz "jsc-android-241213.1.0.tgz"
Expand All @@ -65,6 +65,11 @@ endif()

target_link_options(realm-js-android PUBLIC -fvisibility=hidden)

set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG -O2")
# Work-around for gold linker issue when enabling LTO: https://github.com/android/ndk/issues/1444
# Make the build choose whatever default linker chosen by the NDK.
STRING(REGEX REPLACE "-fuse-ld=gold" "" CMAKE_CXX_LINK_OPTIONS_IPO ${CMAKE_CXX_LINK_OPTIONS_IPO})

if(REALM_JS_BUILD_CORE_FROM_SOURCE AND TARGET ObjectStore)
target_compile_definitions(ObjectStore PUBLIC
REALM_PLATFORM=Android
Expand Down

0 comments on commit 9f3b24d

Please sign in to comment.