summaryrefslogtreecommitdiff
path: root/taler-android-build/x64
diff options
context:
space:
mode:
Diffstat (limited to 'taler-android-build/x64')
-rwxr-xr-xtaler-android-build/x6460
1 files changed, 60 insertions, 0 deletions
diff --git a/taler-android-build/x64 b/taler-android-build/x64
new file mode 100755
index 0000000000..22002bdd3e
--- /dev/null
+++ b/taler-android-build/x64
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+
+set -eu -o pipefail
+
+scriptdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
+cd $scriptdir
+
+NDK=$1
+
+API_LEVEL=21
+BUILD_HOST_TAG='linux-x86_64'
+TOOLCHAIN_DIR=$NDK/toolchains/llvm/prebuilt/$BUILD_HOST_TAG/
+
+if [[ ! -d "$NDK" ]]; then
+ echo "Android NDK directory '$NDK' invalid"
+ exit 1
+fi
+
+if [[ ! -d "$TOOLCHAIN_DIR" ]]; then
+ echo "Toolchain directory '$TOOLCHAIN_DIR' invalid"
+ exit 1
+fi
+
+##########
+# Build V8
+##########
+
+./build-android-v8 "$NDK" x64
+
+cd $scriptdir/..
+x=$scriptdir/compiled/x86_64/
+mkdir -p $x
+cp deps/v8/out.gn/android-x64/*.so $x/
+
+
+############
+# Build Node
+############
+
+cd $scriptdir
+
+export DEST_CPU_ARCH=x64
+
+# The naming of these isn't very consistent, as some tools start with arm,
+# others with arm7a.
+export AR=$TOOLCHAIN_DIR/bin/x86_64-linux-android-ar
+export LD=$TOOLCHAIN_DIR/bin/x86_64-linux-android-ld
+export RANLIB=$TOOLCHAIN_DIR/bin/x86_64-linux-android-ranlib
+export STRIP=$TOOLCHAIN_DIR/bin/x86_64-linux-android-strip
+
+export LINK=$TOOLCHAIN_DIR/bin/x86_64-linux-android$API_LEVEL-clang++
+export CC=$TOOLCHAIN_DIR/bin/x86_64-linux-android$API_LEVEL-clang
+export CXX=$TOOLCHAIN_DIR/bin/x86_64-linux-android$API_LEVEL-clang++
+
+./build-android-node "$1" x64
+
+cd $scriptdir/..
+x=$scriptdir/compiled/x86_64/
+mkdir -p $x
+cp out/Release/lib/libnode.so $x/