diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2015-07-13 14:25:31 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-07-13 15:21:30 -0700 |
commit | ad79476f5426e0589e47316ed5ea7dc4f3b24682 (patch) | |
tree | 0f8e6bb03554a1119e53fb9bbc121f583a6bebf0 /packaging/android | |
parent | f35a2713659a6114062a2403d428ec7f33744040 (diff) | |
download | subsurface-ad79476f5426e0589e47316ed5ea7dc4f3b24682.tar.gz |
Update Android build script
This now includes OpenSSL so we can actually use cloud storage (which
requires https transport).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'packaging/android')
-rw-r--r-- | packaging/android/build.sh | 60 |
1 files changed, 57 insertions, 3 deletions
diff --git a/packaging/android/build.sh b/packaging/android/build.sh index fe03db546..2fa9a7fe6 100644 --- a/packaging/android/build.sh +++ b/packaging/android/build.sh @@ -20,6 +20,7 @@ LIBZIP_VERSION=1.0.1 LIBZIP_VERSION=0.11.2 LIBGIT2_VERSION=0.23.0 LIBUSB_VERSION=1.0.19 +OPENSSL_VERSION=1.0.1p # arm or x86 export ARCH=${1-arm} @@ -110,6 +111,34 @@ if [ ! -e $PKG_CONFIG_LIBDIR/libzip.pc ] ; then popd fi +if [ ! -e openssl-${OPENSSL_VERSION}.tar.gz ] ; then + wget -O openssl-${OPENSSL_VERSION}.tar.gz http://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz +fi +if [ ! -e openssl-build-$ARCH ] ; then + tar -zxf openssl-${OPENSSL_VERSION}.tar.gz + mv openssl-${OPENSSL_VERSION} openssl-build-$ARCH +fi +if [ ! -e $PKG_CONFIG_LIBDIR/libssl.pc ] ; then + pushd openssl-build-$ARCH + if [ "$ARCH" = "arm" ] ; then + export MACHINE="armv7l" + else + export MACHINE="x86" + fi + export SYSTEM=android + export ARCH=$ARCH + export CROSS_COMPILE="$ARCH-linux-androideabi-" + export ANDROID_DEV="$ANDROID_NDK/platforms/android-14/arch-$ARCH/usr" + export HOSTCC=gcc + export ANDROID_NDK=$SUBSURFACE_SOURCE/../android-ndk-r10e + export CC=gcc + perl -pi -e 's/install: all install_docs install_sw/install: install_docs install_sw/g' Makefile.org + bash -x ./config shared no-comp no-hw no-engine --openssldir=$PREFIX + make depend + make + make install + popd +fi if [ ! -e libgit2-${LIBGIT2_VERSION}.tar.gz ] ; then wget -O libgit2-${LIBGIT2_VERSION}.tar.gz https://github.com/libgit2/libgit2/archive/v${LIBGIT2_VERSION}.tar.gz fi @@ -119,7 +148,16 @@ fi if [ ! -e $PKG_CONFIG_LIBDIR/libgit2.pc ] ; then mkdir -p libgit2-build-$ARCH pushd libgit2-build-$ARCH - cmake -DCMAKE_SYSTEM_NAME=Android -DSHA1_TYPE=builtin -DBUILD_CLAR=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${PREFIX} ../libgit2-${LIBGIT2_VERSION}/ + cmake -DCMAKE_SYSTEM_NAME=Android -DSHA1_TYPE=builtin \ + -DBUILD_CLAR=OFF -DBUILD_SHARED_LIBS=OFF \ + -DCMAKE_INSTALL_PREFIX=${PREFIX} \ + -DCURL=OFF \ + -DUSE_SSH=OFF \ + -DOPENSSL_SSL_LIBRARY=${PREFIX}/lib/libssl.a \ + -DOPENSSL_CRYPTO_LIBRARY=${PREFIX}/lib/libcrypto.a \ + -DOPENSSL_INCLUDE_DIR=${PREFIX}/include/openssl \ + -D_OPENSSL_VERSION=1.0.1p \ + ../libgit2-${LIBGIT2_VERSION}/ make make install # Patch away pkg-config dependency to zlib, its there, i promise @@ -154,7 +192,7 @@ fi if [ ! -e $PKG_CONFIG_LIBDIR/libdivecomputer.pc ] ; then mkdir -p libdivecomputer-build-$ARCH pushd libdivecomputer-build-$ARCH - $SUBSURFACE_SOURCE/../libdivecomputer/configure --host=${BUILDCHAIN} --prefix=${PREFIX} --enable-static --disable-shared + $SUBSURFACE_SOURCE/../libdivecomputer/configure --host=${BUILDCHAIN} --prefix=${PREFIX} --enable-static --disable-shared --enable-examples=no make make install popd @@ -180,7 +218,23 @@ else fi # somehting in the qt-android-cmake-thingies mangles your path, so thats why we need to hard-code ant and pkg-config here. -cmake $MOBILE_CMAKE -DQT_ANDROID_ANT=/usr/bin/ant -DPKG_CONFIG_EXECUTABLE=/usr/bin/pkg-config -DQT_ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT -DQT_ANDROID_NDK_ROOT=$ANDROID_NDK_ROOT -DCMAKE_TOOLCHAIN_FILE=$BUILDROOT/qt-android-cmake/toolchain/android.toolchain.cmake -DQT_ANDROID_CMAKE=$BUILDROOT/qt-android-cmake/AddQtAndroidApk.cmake -DFORCE_LIBSSH=OFF -DLIBDC_FROM_PKGCONFIG=ON -DLIBGIT2_FROM_PKGCONFIG=ON -DUSE_LIBGIT23_API=ON -DNO_MARBLE=ON -DNO_PRINTING=ON -DNO_USERMANUAL=ON -DCMAKE_PREFIX_PATH:UNINITIALIZED=${QT5_ANDROID}/android_${QT_ARCH}/lib/cmake $SUBSURFACE_SOURCE +cmake $MOBILE_CMAKE \ + -DQT_ANDROID_ANT=/usr/bin/ant \ + -DPKG_CONFIG_EXECUTABLE=/usr/bin/pkg-config \ + -DQT_ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT \ + -DQT_ANDROID_NDK_ROOT=$ANDROID_NDK_ROOT \ + -DCMAKE_TOOLCHAIN_FILE=$BUILDROOT/qt-android-cmake/toolchain/android.toolchain.cmake \ + -DQT_ANDROID_CMAKE=$BUILDROOT/qt-android-cmake/AddQtAndroidApk.cmake \ + -DFORCE_LIBSSH=OFF \ + -DLIBDC_FROM_PKGCONFIG=ON \ + -DLIBGIT2_FROM_PKGCONFIG=ON \ + -DUSE_LIBGIT23_API=ON \ + -DNO_MARBLE=ON \ + -DNO_PRINTING=ON \ + -DNO_USERMANUAL=ON \ + -DCMAKE_PREFIX_PATH:UNINITIALIZED=${QT5_ANDROID}/android_${QT_ARCH}/lib/cmake \ + -DCMAKE_BUILD_TYPE=Debug \ + $SUBSURFACE_SOURCE make #make install INSTALL_ROOT=android_build # bug in androiddeployqt? why is it looking for something with the builddir in it? |