RN Android uses OpenSSL package (#1405)
This commit is contained in:
parent
7526a19c65
commit
270604a347
|
@ -15,6 +15,11 @@ X.Y.Z Release notes
|
||||||
* Upgrading to Realm Sync 2.0.0-rc28.
|
* Upgrading to Realm Sync 2.0.0-rc28.
|
||||||
* Upgrading to Realm Object Server 2.0.0-rc.4.
|
* Upgrading to Realm Object Server 2.0.0-rc.4.
|
||||||
|
|
||||||
|
### Internal
|
||||||
|
* OpenSSL for Android is distributed in a separate package, and the build system needed updates to accommendate this.
|
||||||
|
* Added `-fvisibility=hidden` to Android builds (reduces size of `.so` file).
|
||||||
|
|
||||||
|
|
||||||
2.0.0-rc19 Release notes (2017-10-7)
|
2.0.0-rc19 Release notes (2017-10-7)
|
||||||
=============================================================
|
=============================================================
|
||||||
### Breaking changes
|
### Breaking changes
|
||||||
|
|
|
@ -92,6 +92,33 @@ task prepareRealmCore(dependsOn: downloadRealmCore, type:Copy) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task downloadOpenSSL_x86(type: Download) {
|
||||||
|
src "https://static.realm.io/downloads/openssl/1.0.2k/Android/x86/openssl-release-1.0.2k-Android-x86.tar.gz"
|
||||||
|
onlyIfNewer true
|
||||||
|
overwrite true
|
||||||
|
dest new File(downloadsDir, "openssl-release-1.0.2k-Android-x86.tar.gz")
|
||||||
|
}
|
||||||
|
|
||||||
|
task prepareOpenSSL_x86(dependsOn: downloadOpenSSL_x86, type:Copy) {
|
||||||
|
from tarTree(downloadOpenSSL_x86.dest)
|
||||||
|
into "$coreDownloadDir/core"
|
||||||
|
}
|
||||||
|
|
||||||
|
task downloadOpenSSL_arm(type: Download) {
|
||||||
|
src "https://static.realm.io/downloads/openssl/1.0.2k/Android/armeabi-v7a/openssl-release-1.0.2k-Android-armeabi-v7a.tar.gz"
|
||||||
|
onlyIfNewer true
|
||||||
|
overwrite true
|
||||||
|
dest new File(downloadsDir, "openssl-release-1.0.2k-Android-armeabi-v7a.tar.gz")
|
||||||
|
}
|
||||||
|
|
||||||
|
task prepareOpenSSL_arm(dependsOn: downloadOpenSSL_arm, type:Copy) {
|
||||||
|
from tarTree(downloadOpenSSL_arm.dest)
|
||||||
|
into "$coreDownloadDir/core"
|
||||||
|
rename { String fileName ->
|
||||||
|
fileName.replace("-arm-", "-armeabi-")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
def getDependenciesVersion(keyName) {
|
def getDependenciesVersion(keyName) {
|
||||||
def inputFile = new File(buildscript.sourceFile.getParent() + "/../../dependencies.list")
|
def inputFile = new File(buildscript.sourceFile.getParent() + "/../../dependencies.list")
|
||||||
def line
|
def line
|
||||||
|
@ -194,7 +221,7 @@ def getNdkBuildFullPath() {
|
||||||
return ndkBuildFullPath
|
return ndkBuildFullPath
|
||||||
}
|
}
|
||||||
|
|
||||||
task buildReactNdkLib(dependsOn: [downloadJSCHeaders,prepareRealmCore], type: Exec) {
|
task buildReactNdkLib(dependsOn: [downloadJSCHeaders,prepareRealmCore,prepareOpenSSL_x86,prepareOpenSSL_arm], type: Exec) {
|
||||||
inputs.file('src/main/jni')
|
inputs.file('src/main/jni')
|
||||||
outputs.dir("$buildDir/realm-react-ndk/all")
|
outputs.dir("$buildDir/realm-react-ndk/all")
|
||||||
commandLine getNdkBuildFullPath(),
|
commandLine getNdkBuildFullPath(),
|
||||||
|
|
|
@ -6,6 +6,12 @@ LOCAL_MODULE := realm-android-sync-$(TARGET_ARCH_ABI)
|
||||||
LOCAL_EXPORT_C_INCLUDES := core/include
|
LOCAL_EXPORT_C_INCLUDES := core/include
|
||||||
LOCAL_SRC_FILES := core/librealm-sync-android-$(TARGET_ARCH_ABI).a
|
LOCAL_SRC_FILES := core/librealm-sync-android-$(TARGET_ARCH_ABI).a
|
||||||
include $(PREBUILT_STATIC_LIBRARY)
|
include $(PREBUILT_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := crypto-$(TARGET_ARCH_ABI)
|
||||||
|
LOCAL_EXPORT_C_INCLUDES := core/openssl-release-1.0.2k-Android-$(TARGET_ARCH_ABI)/include
|
||||||
|
LOCAL_SRC_FILES := core/openssl-release-1.0.2k-Android-$(TARGET_ARCH_ABI)/lib/libcrypto.a
|
||||||
|
include $(PREBUILT_STATIC_LIBRARY)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
@ -19,6 +25,12 @@ LOCAL_MODULE := libjsc
|
||||||
LOCAL_EXPORT_C_INCLUDES := jsc
|
LOCAL_EXPORT_C_INCLUDES := jsc
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := ssl-$(TARGET_ARCH_ABI)
|
||||||
|
LOCAL_EXPORT_C_INCLUDES := core/openssl-release-1.0.2k-Android-$(TARGET_ARCH_ABI)/include
|
||||||
|
LOCAL_SRC_FILES := core/openssl-release-1.0.2k-Android-$(TARGET_ARCH_ABI)/lib/libssl.a
|
||||||
|
include $(PREBUILT_STATIC_LIBRARY)
|
||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
LOCAL_MODULE := librealmreact
|
LOCAL_MODULE := librealmreact
|
||||||
|
|
||||||
|
@ -43,6 +55,7 @@ LOCAL_SRC_FILES += src/object-store/src/impl/epoll/external_commit_helper.cpp
|
||||||
LOCAL_SRC_FILES += src/object-store/src/parser/parser.cpp
|
LOCAL_SRC_FILES += src/object-store/src/parser/parser.cpp
|
||||||
LOCAL_SRC_FILES += src/object-store/src/parser/query_builder.cpp
|
LOCAL_SRC_FILES += src/object-store/src/parser/query_builder.cpp
|
||||||
LOCAL_SRC_FILES += src/object-store/src/util/format.cpp
|
LOCAL_SRC_FILES += src/object-store/src/util/format.cpp
|
||||||
|
LOCAL_SRC_FILES += src/object-store/src/util/uuid.cpp
|
||||||
LOCAL_SRC_FILES += src/object-store/src/binding_callback_thread_observer.cpp
|
LOCAL_SRC_FILES += src/object-store/src/binding_callback_thread_observer.cpp
|
||||||
LOCAL_SRC_FILES += src/object-store/src/collection_notifications.cpp
|
LOCAL_SRC_FILES += src/object-store/src/collection_notifications.cpp
|
||||||
LOCAL_SRC_FILES += src/object-store/src/index_set.cpp
|
LOCAL_SRC_FILES += src/object-store/src/index_set.cpp
|
||||||
|
@ -60,6 +73,7 @@ LOCAL_SRC_FILES += src/object-store/src/sync/sync_session.cpp
|
||||||
LOCAL_SRC_FILES += src/object-store/src/sync/sync_user.cpp
|
LOCAL_SRC_FILES += src/object-store/src/sync/sync_user.cpp
|
||||||
LOCAL_SRC_FILES += src/object-store/src/sync/sync_config.cpp
|
LOCAL_SRC_FILES += src/object-store/src/sync/sync_config.cpp
|
||||||
LOCAL_SRC_FILES += src/object-store/src/sync/partial_sync.cpp
|
LOCAL_SRC_FILES += src/object-store/src/sync/partial_sync.cpp
|
||||||
|
LOCAL_SRC_FILES += src/object-store/src/sync/sync_permission.cpp
|
||||||
LOCAL_SRC_FILES += src/object-store/src/sync/impl/sync_file.cpp
|
LOCAL_SRC_FILES += src/object-store/src/sync/impl/sync_file.cpp
|
||||||
LOCAL_SRC_FILES += src/object-store/src/sync/impl/sync_metadata.cpp
|
LOCAL_SRC_FILES += src/object-store/src/sync/impl/sync_metadata.cpp
|
||||||
endif
|
endif
|
||||||
|
@ -75,6 +89,7 @@ LOCAL_C_INCLUDES += $(JAVA_HOME)/include
|
||||||
LOCAL_C_INCLUDES += $(JAVA_HOME)/include/darwin
|
LOCAL_C_INCLUDES += $(JAVA_HOME)/include/darwin
|
||||||
LOCAL_C_INCLUDES += $(JAVA_HOME)/include/linux
|
LOCAL_C_INCLUDES += $(JAVA_HOME)/include/linux
|
||||||
LOCAL_C_INCLUDES += core/include
|
LOCAL_C_INCLUDES += core/include
|
||||||
|
LOCAL_C_INCLUDES += core/openssl-release-1.0.2k-Android-$(TARGET_ARCH_ABI)/include
|
||||||
ifeq ($(strip $(BUILD_TYPE_SYNC)),1)
|
ifeq ($(strip $(BUILD_TYPE_SYNC)),1)
|
||||||
LOCAL_C_INCLUDES += src/object-store/src/sync
|
LOCAL_C_INCLUDES += src/object-store/src/sync
|
||||||
endif
|
endif
|
||||||
|
@ -83,8 +98,11 @@ LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
|
||||||
ifeq ($(strip $(BUILD_TYPE_SYNC)),1)
|
ifeq ($(strip $(BUILD_TYPE_SYNC)),1)
|
||||||
LOCAL_STATIC_LIBRARIES := realm-android-sync-$(TARGET_ARCH_ABI)
|
LOCAL_STATIC_LIBRARIES := realm-android-sync-$(TARGET_ARCH_ABI)
|
||||||
LOCAL_STATIC_LIBRARIES += realm-android-$(TARGET_ARCH_ABI)
|
LOCAL_STATIC_LIBRARIES += realm-android-$(TARGET_ARCH_ABI)
|
||||||
|
LOCAL_STATIC_LIBRARIES += ssl-$(TARGET_ARCH_ABI)
|
||||||
|
LOCAL_STATIC_LIBRARIES += crypto-$(TARGET_ARCH_ABI)
|
||||||
else
|
else
|
||||||
LOCAL_STATIC_LIBRARIES := realm-android-$(TARGET_ARCH_ABI)
|
LOCAL_STATIC_LIBRARIES := realm-android-$(TARGET_ARCH_ABI)
|
||||||
|
LOCAL_STATIC_LIBRARIES += crypto-$(TARGET_ARCH_ABI)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,11 +13,13 @@ APP_CPPFLAGS += -frtti
|
||||||
APP_CPPFLAGS += -fexceptions
|
APP_CPPFLAGS += -fexceptions
|
||||||
APP_CPPFLAGS += -DREALM_HAVE_CONFIG
|
APP_CPPFLAGS += -DREALM_HAVE_CONFIG
|
||||||
APP_CPPFLAGS += -fomit-frame-pointer
|
APP_CPPFLAGS += -fomit-frame-pointer
|
||||||
|
APP_CPPFLAGS += -fvisibility=hidden
|
||||||
|
|
||||||
# Make sure every shared lib includes a .note.gnu.build-id header
|
# Make sure every shared lib includes a .note.gnu.build-id header
|
||||||
APP_LDFLAGS := -Wl,--build-id
|
APP_LDFLAGS := -Wl,--build-id
|
||||||
APP_LDFLAGS += -llog
|
APP_LDFLAGS += -llog
|
||||||
APP_LDFLAGS += -landroid
|
APP_LDFLAGS += -landroid
|
||||||
|
APP_LDFLAGS += -fvisibility=hidden
|
||||||
|
|
||||||
ifeq ($(strip $(BUILD_TYPE_SYNC)),1)
|
ifeq ($(strip $(BUILD_TYPE_SYNC)),1)
|
||||||
APP_CPPFLAGS += -DREALM_ENABLE_SYNC=1
|
APP_CPPFLAGS += -DREALM_ENABLE_SYNC=1
|
||||||
|
|
Loading…
Reference in New Issue