Summary: This uses OpenSSL 1.1.0h to build and link against. The `.so`s are precompiled and hand-patched from [this repository](https://github.com/passy/android-database-sqlcipher). The patching was necessary to fix the `SONAME` and corresponding `NEEDED` flags to *not* contain a `.1.1` version suffix as Gradle will refuse to bundle those. We basically only use the headers for the remaining part. The precompiled version contains ABI support for `arm64-v8a`, `armeabi`, `armeabi-v7a`, `x86` and most importantly `x86_64`. HOWEVER, `x86_64` is still excluded for now because folly fails to compile due to a missing compiler flag: ``` error: needs target feature pclmul ``` This should be easily fixable by ensuring that `-mpclmul` is added to the CFLAGS if we're compiling for an `x86_64` target in the `CMakeLists.txt` for Folly. Closes #113. Closes https://github.com/facebook/Sonar/pull/125 Reviewed By: priteshrnandgaonkar Differential Revision: D8723636 Pulled By: passy fbshipit-source-id: 41c61047d2793ebaef5793a3c937c4d628471d6a
37 lines
871 B
Groovy
37 lines
871 B
Groovy
apply plugin: 'com.android.library'
|
|
|
|
android {
|
|
compileSdkVersion rootProject.compileSdkVersion
|
|
buildToolsVersion rootProject.buildToolsVersion
|
|
|
|
defaultConfig {
|
|
minSdkVersion rootProject.minSdkVersion
|
|
targetSdkVersion rootProject.targetSdkVersion
|
|
buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true'
|
|
externalNativeBuild {
|
|
cmake {
|
|
arguments '-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=c++_shared'
|
|
}
|
|
}
|
|
}
|
|
lintOptions {
|
|
abortOnError false
|
|
}
|
|
sourceSets {
|
|
main {
|
|
manifest.srcFile './ApplicationManifest.xml'
|
|
}
|
|
}
|
|
externalNativeBuild {
|
|
cmake {
|
|
path './CMakeLists.txt'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(':glog')
|
|
implementation project(':doubleconversion')
|
|
|
|
}
|
|
}
|