From 20fe53b2543806a0d4487f66cc485f25f521d41b Mon Sep 17 00:00:00 2001 From: Sidharth Guglani Date: Wed, 13 Nov 2019 16:36:53 -0800 Subject: [PATCH] Add --version-script Summary: Adds version script to exclude all exported symbols and export only JNI_onLoad Reviewed By: Andrey-Mishanin Differential Revision: D18076602 fbshipit-source-id: cac4ef9c800de6a3b2081a1f847fa918687896fe --- java/CMakeLists.txt | 6 ++++-- java/yogajni.version | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 java/yogajni.version diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt index 78a696f5..fec8872f 100644 --- a/java/CMakeLists.txt +++ b/java/CMakeLists.txt @@ -9,7 +9,6 @@ set(CMAKE_VERBOSE_MAKEFILE on) # configure import libs set(yogacore_DIR ${CMAKE_SOURCE_DIR}/..) - set(build_DIR ${CMAKE_SOURCE_DIR}/build) set(yogacore_build_DIR ${build_DIR}/yogacore/${ANDROID_ABI}) @@ -30,9 +29,12 @@ add_compile_options( file(GLOB jni_SRC jni/*.cpp) +file(GLOB yogajni_version_script + yogajni.version) + add_library(yoga SHARED ${jni_SRC}) target_include_directories(yoga PRIVATE ${yogacore_DIR}) -target_link_libraries(yoga -Wl,--gc-sections yogacore) +target_link_libraries(yoga -Wl,--gc-sections,--version-script=${yogajni_version_script} yogacore) diff --git a/java/yogajni.version b/java/yogajni.version new file mode 100644 index 00000000..87f7caf6 --- /dev/null +++ b/java/yogajni.version @@ -0,0 +1,6 @@ +{ + global: + JNI_OnLoad; + local: + *; +};