summaryrefslogtreecommitdiff
path: root/go/android_build_golib.sh
diff options
context:
space:
mode:
Diffstat (limited to 'go/android_build_golib.sh')
-rwxr-xr-xgo/android_build_golib.sh157
1 files changed, 0 insertions, 157 deletions
diff --git a/go/android_build_golib.sh b/go/android_build_golib.sh
deleted file mode 100755
index a54a42af..00000000
--- a/go/android_build_golib.sh
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/bin/bash
-
-# Copyright (C) 2016 Andrew Jiang (TunnelBear Inc.)
-# Convenience script for generating shapeshifter-dispatcher binaries for Android devices
-# adapted for Bitmask by cyberta
-
-BUILD_LIBRARY="false"
-BUILD_SHAPESHIFTER_DISPATCHER="false"
-BUILD_SNOWFLAKE="false"
-
-function quit {
- echo "$1."
- exit 1
-}
-
-if [[ "$1" == "removeAll" ]]; then
- echo "removing golang, sources and generated files"
- for folder in /tmp/android-toolchain-*; do
- if [[ -d $folder ]]; then
- rm -rf $folder
- fi
- done
- if [[ -d "./out" ]]; then
- rm -rf ./out
- fi
-
- if [[ -d "./bin" ]]; then
- rm -rf ./bin
- fi
-
- if [[ -d "./golang" ]]; then
- rm -rf ./golang
- fi
-
- if [[ -d "./src" ]]; then
- rm -rf ./src
- fi
- echo "Done!"
- exit 0
-
-elif [[ "$1" == "clean" ]]; then
- echo "Cleaning up..."
- for folder in /tmp/android-toolchain-*; do
- if [[ -d $folder ]]; then
- rm -rf $folder
- fi
- done
- if [[ -d "./out" ]]; then
- rm -rf ./out
- fi
-
- if [[ -d "./bin" ]]; then
- rm -rf ./bin
- fi
- echo "Done!"
- exit 0
-
-elif [[ "$1" == "shapeshifterlib" ]]; then
- BUILD_LIBRARY="true"
-elif [[ "$1" == "shapeshifter-dispatcher" ]]; then
- BUILD_SHAPESHIFTER_DISPATCHER="true"
-elif [[ "$1" == "snowflake-client" ]]; then
- BUILD_SNOWFLAKE="true"
- echo "BUILD_SNOWFLAKE!"
-fi
-
-
-if [ -z $ANDROID_NDK_HOME ]; then
- echo "Android NDK path not specified!"
- echo "Please set \$ANDROID_NDK_HOME before starting this script!"
- exit 1;
-fi
-
-if [[ ! -f ./bin/gomobile && $BUILD_LIBRARY == true ]]; then
- echo "gomobile not installed"
- echo please run "install_go.sh first"
- exit 1
-fi
-
-# Our targets are x86, x86_64, armeabi, armeabi-v7a, armv8;
-# To remove targets, simply delete them from the bracket.
-# NOTE: We are only currently shipping the armeabi-v7a binary
-# on Android, for space reasons.
-targets=(386 x86_64 armv7 arm64)
-export GOOS=android
-
-for arch in ${targets[@]}; do
- # Initialize variables
- go_arch=$arch
- ndk_arch=$arch
- ndk_platform="android-16"
- suffix=$arch
-
- if [ "$arch" = "386" ]; then
- export CGO_ENABLED=1
- ndk_arch="x86"
- suffix="x86"
- binary="i686-linux-android-gcc"
- elif [ "$arch" = "x86_64" ]; then
- ndk_platform="android-21"
- ndk_arch="x86_64"
- suffix="x86_64"
- binary="x86_64-linux-android-gcc"
- elif [ "$arch" = "armv5" ]; then
- export GOARM=5
- export CGO_ENABLED=1
- go_arch="arm"
- ndk_arch="arm"
- suffix="armeabi"
- binary="arm-linux-androideabi-gcc"
- elif [ "$arch" = "armv7" ]; then
- export GOARM=7
- export CGO_ENABLED=1
- go_arch="arm"
- ndk_arch="arm"
- suffix="armeabi-v7a"
- binary="arm-linux-androideabi-gcc"
- elif [ "$arch" = "arm64" ]; then
- suffix="arm64-v8a"
- ndk_platform="android-21"
- binary="aarch64-linux-android-gcc"
- elif [ "$arch" = "mips" ]; then
- binary="mipsel-linux-android-gcc"
- fi
- export GOARCH=${go_arch}
- export GOPATH=`pwd`
- export NDK_TOOLCHAIN=/tmp/android-toolchain-${ndk_arch}
-
- # Only generate toolchain if it does not already exist
- if [ ! -d $NDK_TOOLCHAIN ]; then
- echo "Generating ${suffix} toolchain..."
- $ANDROID_NDK_HOME/build/tools/make-standalone-toolchain.sh \
- --arch=${ndk_arch} --platform=${ndk_platform} --install-dir=$NDK_TOOLCHAIN || quit "Failed to generate toolchain"
- echo "Toolchain generated!"
- fi
-
- export CC=$NDK_TOOLCHAIN/bin/clang
- echo "Starting compilation for $suffix..."
-
-
- # if [[ BUILD_SNOWFLAKE == "true" ]]; then
- echo "cross compiling snowflake-client executable..."
- pwd
- ./golang/go/bin/go get github.com/cyBerta/snowflake/client
- ./golang/go/bin/go build -buildmode=pie -ldflags '-w -s -extldflags=-pie' -o ./out/${suffix}/piesnowflakeclient github.com/cyBerta/snowflake/client || quit "Failed to cross-compile shapeshifter-dispatcher"
- # elif [[ BUILD_LIBRARY == "true" ]]; then
- # echo "cross compiling shapeshifter lib..."
- # ./bin/gomobile bind -target=android -o ./lib/shapeshifter.aar se.leap.bitmaskclient/shapeshifter/
- # cp lib/shapeshifter* ../shapeshifter/.
- # #./android_build_shapeshifter_lib.sh || quit "Failed to cross-compile shapeshifter-dispatcher-library"
- # elif [[ BUILD_SHAPESHIFTER_DISPATCHER == "true" ]]; then
- # echo "cross compiling shapeshifter-dispatcher executable..."
- # ./golang/go/bin/go build -buildmode=pie -ldflags '-w -s -extldflags=-pie' -o ./out/${suffix}/piedispatcher github.com/OperatorFoundation/shapeshifter-dispatcher/shapeshifter-dispatcher || quit "Failed to cross-compile shapeshifter-dispatcher"
- # fi
- echo "Build succeeded!"
-
-done \ No newline at end of file