diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2016-08-24 13:19:30 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-08-24 13:36:32 -0700 |
commit | a5cf8aaa21842d491c583a17c01340bb61e4d4ed (patch) | |
tree | 66aae5fab024224283f205ef5cd2a124fd6ab808 /packaging/android | |
parent | 7dd8a62ceddbb2205bd41260964f3450e72fccab (diff) | |
download | subsurface-a5cf8aaa21842d491c583a17c01340bb61e4d4ed.tar.gz |
Android build: try to create APK that works on Android 7.0
It appears that instead of statically linking against ssl/crypto/ssh2, you
instead have to dynamically link against it and then bundle the library in
the APK. The documentation is not 100% clear and I don't have an Android
Nougat device to test this with, so for now this is an attempt.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'packaging/android')
-rw-r--r-- | packaging/android/build.sh | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/packaging/android/build.sh b/packaging/android/build.sh index 408a5467d..372a29b6b 100644 --- a/packaging/android/build.sh +++ b/packaging/android/build.sh @@ -184,7 +184,7 @@ if [ ! -e $PKG_CONFIG_LIBDIR/libssl.pc ] ; then HOSTCC=gcc \ CC=gcc \ ANDROID_DEV=$PREFIX \ - bash -x ./config no-shared no-ssl2 no-ssl3 no-comp no-hw no-engine --openssldir=$PREFIX + bash -x ./config shared no-ssl2 no-ssl3 no-comp no-hw no-engine --openssldir=$PREFIX make depend make make install_sw @@ -206,7 +206,7 @@ perl -pi -e 's,ENGINE_register_all_complete\(\),,' libssh2-${LIBSSH2_VERSION}/sr if [ ! -e $PKG_CONFIG_LIBDIR/libssh2.pc ] ; then mkdir -p libssh2-build-$ARCH pushd libssh2-build-$ARCH - ../libssh2-${LIBSSH2_VERSION}/configure --host=${BUILDCHAIN} --prefix=${PREFIX} --enable-static --disable-shared + ../libssh2-${LIBSSH2_VERSION}/configure --host=${BUILDCHAIN} --prefix=${PREFIX} --enable-shared --disable-static make make install # Patch away pkg-config dependency to zlib, its there, i promise @@ -228,8 +228,8 @@ if [ ! -e $PKG_CONFIG_LIBDIR/libgit2.pc ] ; then -DCMAKE_INSTALL_PREFIX=${PREFIX} \ -DCURL=OFF \ -DUSE_SSH=ON \ - -DOPENSSL_SSL_LIBRARY=${PREFIX}/lib/libssl.a \ - -DOPENSSL_CRYPTO_LIBRARY=${PREFIX}/lib/libcrypto.a \ + -DOPENSSL_SSL_LIBRARY=${PREFIX}/lib/libssl.so \ + -DOPENSSL_CRYPTO_LIBRARY=${PREFIX}/lib/libcrypto.so \ -DOPENSSL_INCLUDE_DIR=${PREFIX}/include/openssl \ -D_OPENSSL_VERSION=1.0.1p \ ../libgit2-${LIBGIT2_VERSION}/ @@ -355,12 +355,11 @@ cmake $MOBILE_CMAKE \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -DMAKE_TESTS=OFF \ -DFTDISUPPORT=${FTDI} \ + -DANDROID_NATIVE_LIBSSL=$BUILDROOT/ndk-${ARCH}/sysroot/usr/lib/libssl.so \ + -DANDROID_NATIVE_LIBCRYPT=$BUILDROOT/ndk-${ARCH}/sysroot/usr/lib/libcrypto.so \ + -DANDROID_NATIVE_LIBSSH2=$BUILDROOT/ndk-${ARCH}/sysroot/usr/lib/libssh2.so \ $SUBSURFACE_SOURCE -# sometimes cmake tries to link both against the static and shared -# libcrypto - that's not helpful -sed -i -e "s/-lcrypto//g" CMakeFiles/subsurface-mobile.dir/link.txt - # set up the version number rm -f ssrf-version.h |