diff options
Diffstat (limited to 'go/android_build_golib.sh')
-rwxr-xr-x | go/android_build_golib.sh | 157 |
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 |