+# -----------------------------------------------------------------------------
+
+# Build host Python before we start messing with the environment.
+# Don't do parallel builds, this doesn't seem to work well.
+$WGET http://python.org/ftp/python/$VER_PYTHON/Python-$VER_PYTHON.tar.xz
+tar xfJ Python-$VER_PYTHON.tar.xz
+cd Python-$VER_PYTHON
+./configure
+make python
+mv python hostpython
+cd ..
+
+# -----------------------------------------------------------------------------
+
+# We need to find tools in the toolchain.
+export PATH=$TOOLCHAIN/bin:$PATH
+
+# Tell pkg-config to only look for our cross-built stuff.
+export PKG_CONFIG_LIBDIR="$PREFIX/lib/pkgconfig"
+export -n PKG_CONFIG_PATH
+
+# Check toolchain
+if test -d "$TOOLCHAIN"/sysroot; then
+ echo "Toolchain is standalone"
+ STANDALONE_TOOLCHAIN=$TOOLCHAIN
+ SYSROOT=
+else
+ STANDALONE_TOOLCHAIN=
+ NATIVE_API_LEVEL=16
+ SYSROOT_DIR=${ANDROID_NDK}/platforms/android-${NATIVE_API_LEVEL}/arch-${TARGET_ARCH%eabi*}
+ if [ ! -d "$SYSROOT_DIR" ]; then
+ echo >&2 "Can't build with NDK toolchain; sysroot $SYSROOT_DIR is missing"
+ exit 1
+ fi
+ SYSROOT="--sysroot $SYSROOT_DIR"
+ CC="$TOOLCHAIN_TRIPLET-gcc $SYSROOT"
+ CXX="$TOOLCHAIN_TRIPLET-g++ $SYSROOT"
+ export CC CXX
+fi
+NDK_TOOLCHAIN_VERSION=`${TOOLCHAIN_TRIPLET}-gcc --version | head -1 | sed -e 's/.* \([0-9]\+\.[0-9.]\+\)\( \|.*\)$/\1/'`
+
+# Define some helper variables.
+C="--host=$TOOLCHAIN_TRIPLET --prefix=$PREFIX"
+CM="-Wno-dev -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake -DANDROID_ABI=${TARGET_ARCH} -DCMAKE_INSTALL_PREFIX=${PREFIX}"
+if [ -n "$STANDALONE_TOOLCHAIN" ]; then
+ CM="$CM -DANDROID_STANDALONE_TOOLCHAIN=${STANDALONE_TOOLCHAIN}"
+ if [ -d "${ANDROID_NDK}/sources/cxx-stl" ]; then
+ CM="$CM -DANDROID_STL_PATH=${ANDROID_NDK}/sources/cxx-stl"
+ fi
+else
+ CM="$CM -DANDROID_NDK=${ANDROID_NDK}"
+ CM="$CM -DANDROID_NATIVE_API_LEVEL=${NATIVE_API_LEVEL}"
+ CM="$CM -DANDROID_TOOLCHAIN_NAME=${TOOLCHAIN_TRIPLET}-${NDK_TOOLCHAIN_VERSION}"
+fi
+
+# Look for STL, needed to build bindings
+STL_BASE="${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${NDK_TOOLCHAIN_VERSION}"
+if [ -d ${STL_BASE}/include ]; then
+ CPPFLAGS_STL="-I${STL_BASE}/include -I${STL_BASE}/libs/${TARGET_ARCH}/include"
+ LDFLAGS_STL="-L${STL_BASE}/libs/${TARGET_ARCH} -Wl,-rpath=${STL_BASE}/libs/${TARGET_ARCH}"
+ BINDINGS_CONFIG="--enable-bindings"
+else
+ echo "Warning: STL unavailable, libsigrok bindings will not be built."
+ CPPFLAGS_STL=
+ LDFLAGS_STL=
+ BINDINGS_CONFIG="--disable-bindings"
+fi
+
+# -----------------------------------------------------------------------------
+