+
+# sigrok-cli
+$GIT_CLONE $REPO_BASE/sigrok-cli
+cd sigrok-cli
+./autogen.sh
+mkdir build
+cd build
+../configure $C
+make $PARALLEL $V
+make install $V
+cd ../..
+
+# Check if we have all requirements to build PulseView:
+
+if [ -z "$ANDROID_NDK" -o ! -d "$ANDROID_NDK" ]; then
+ echo "Android NDK not available, not building PulseView."
+ exit 0
+fi
+
+if [ -z "$ANDROID_SDK" -o ! -d "$ANDROID_SDK"/platforms/android-$VER_AND_API ]; then
+ echo "Android SDK with platform $VER_AND_API not available, not building PulseView."
+ exit 0
+fi
+
+if [ ! -e "${ANDROID_SDK}/tools/android" ]; then
+ echo "Essential Android build tools not available, not building PulseView."
+ exit 0
+fi
+
+NDK_HOST=`"$ANDROID_NDK/ndk-build" -p 2>/dev/null | awk '$1 == "HOST_TAG" { print $3 }'`
+
+# Boost (needed for PulseView)
+$WGET http://$SF_MIRROR/project/boost/boost/$VER_BOOST/boost_${VER_BOOST//./_}.tar.bz2
+tar xfj boost_${VER_BOOST//./_}.tar.bz2
+cd boost_${VER_BOOST//./_}
+patch -p0 < ../../boost_wchar.patch
+CC= ./bootstrap.sh --with-toolset=gcc --with-libraries=filesystem,system,serialization,test --without-icu
+echo "using gcc : $NDK_TOOLCHAIN_VERSION : \"${TOOLCHAIN_TRIPLET}-g++\" : <cxxflags>\"$SYSROOT -I$PREFIX/include $CPPFLAGS_STL\" <linkflags>\"$SYSROOT -L$PREFIX/lib $LDFLAGS_STL -lgnustl_shared\" ;" > user-config.jam
+./b2 -q -d+2 --ignore-site-config --user-config=user-config.jam toolset=gcc variant=release link=shared threading=multi runtime-link=shared target-os=android --prefix=$PREFIX --layout=system install $PARALLEL
+cd ..
+
+# Qt (needed for PulseView)
+$WGET https://download.qt.io/new_archive/qt/${VER_QT_SHORT}/${VER_QT}/single/qt-everywhere-opensource-src-${VER_QT}.tar.xz
+tar xfi qt-everywhere-opensource-src-${VER_QT}.tar.xz
+cd qt-everywhere-opensource-src-${VER_QT}
+patch -p1 < ../../android-qt.patch
+CC= CXX= ./configure \
+ --prefix="$PREFIX" \
+ -developer-build \
+ -xplatform android-g++ \
+ -nomake tests \
+ -nomake examples \
+ -android-sdk "$ANDROID_SDK" \
+ -android-ndk "$ANDROID_NDK" \
+ -android-ndk-host "$NDK_HOST" \
+ -android-arch "$TARGET_ARCH" \
+ -android-toolchain-version "$NDK_TOOLCHAIN_VERSION" \
+ -skip qtconnectivity \
+ -skip qtlocation \
+ -skip qtmultimedia \
+ -skip qtscript \
+ -skip qtsensors \
+ -skip qtserialport \
+ -skip qtwebchannel \
+ -skip qtwebsockets \
+ -skip qtxmlpatterns \
+ -opensource -confirm-license -silent -no-warnings-are-errors
+export ANDROID_API_VERSION=android-$VER_AND_API
+export ANDROID_BUILD_TOOLS_REVISION=$VER_AND_BT
+make module-qtbase module-qtandroidextras module-qtsvg module-qtimageformats module-qttranslations $PARALLEL $V
+make install $V
+cd ..
+
+# sigrok-androidutils
+$GIT_CLONE $REPO_BASE/sigrok-androidutils
+cd sigrok-androidutils
+./autogen.sh
+./configure $C --with-android-sdk="${ANDROID_SDK}" --with-android-platform=android-$VER_AND_API
+make $PARALLEL $V
+make install $V
+cd ..
+
+# Strip all shared libs to reduce size.
+find $PREFIX -iname "*.so" -exec ${TOOLCHAIN_TRIPLET}-strip -S {} \;
+
+# PulseView
+$GIT_CLONE $REPO_BASE/pulseview
+cd pulseview
+patch -p1 < ../../pv_cmake_pkgconfig_fix.patch
+sed -i -e "s,\t\tandroid:versionName=.*$,\t\tandroid:versionName=\"`date -Iseconds`\"," android/AndroidManifest.xml
+cmake $CM -DENABLE_TESTS=y .
+make $PARALLEL $V
+${TOOLCHAIN_TRIPLET}-strip -S libs/$TARGET_ARCH/libpulseview.so
+cd android
+"${ANDROID_SDK}/tools/android" update project -p . -t android-$VER_AND_API -n PulseView
+ant debug
+cd ../..