From 8f1b5500303cad0cffd817ded4409106958fae58 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Thu, 4 Nov 2021 12:37:00 +0000 Subject: [PATCH] Move to `contrib`, separate mobile build script --- build | 34 ++++----------- contrib/mobile/build | 52 +++++++++++++++++++++++ {src => contrib}/mobile/mobile.go | 0 {src => contrib}/mobile/mobile_android.go | 0 {src => contrib}/mobile/mobile_ios.go | 0 {src => contrib}/mobile/mobile_other.go | 0 {src => contrib}/mobile/mobile_test.go | 0 7 files changed, 60 insertions(+), 26 deletions(-) create mode 100755 contrib/mobile/build rename {src => contrib}/mobile/mobile.go (100%) rename {src => contrib}/mobile/mobile_android.go (100%) rename {src => contrib}/mobile/mobile_ios.go (100%) rename {src => contrib}/mobile/mobile_other.go (100%) rename {src => contrib}/mobile/mobile_test.go (100%) diff --git a/build b/build index c932cb18..c7214438 100755 --- a/build +++ b/build @@ -9,13 +9,11 @@ PKGVER=${PKGVER:-$(sh contrib/semver/version.sh --bare)} LDFLAGS="-X $PKGSRC.buildName=$PKGNAME -X $PKGSRC.buildVersion=$PKGVER" ARGS="-v" -while getopts "uaitc:l:dro:p" option +while getopts "utc:l:dro:p" option do case "$option" in u) UPX=true;; - i) IOS=true;; - a) ANDROID=true;; t) TABLES=true;; c) GCFLAGS="$GCFLAGS $OPTARG";; l) LDFLAGS="$LDFLAGS $OPTARG";; @@ -30,27 +28,11 @@ if [ -z $TABLES ] && [ -z $DEBUG ]; then LDFLAGS="$LDFLAGS -s -w" fi -if [ $IOS ]; then - echo "Building framework for iOS" - go get golang.org/x/mobile/bind - gomobile bind \ - -target ios -tags mobile -o Yggdrasil.xcframework \ - -ldflags="$LDFLAGS $STRIP" -gcflags="$GCFLAGS" \ - ./src/mobile ./src/config -elif [ $ANDROID ]; then - echo "Building aar for Android" - go get golang.org/x/mobile/bind - gomobile bind \ - -target android -tags mobile -o yggdrasil.aar \ - -ldflags="$LDFLAGS $STRIP" -gcflags="$GCFLAGS" \ - ./src/mobile ./src/config -else - for CMD in yggdrasil yggdrasilctl ; do - echo "Building: $CMD" - go build $ARGS -ldflags="$LDFLAGS" -gcflags="$GCFLAGS" ./cmd/$CMD +for CMD in yggdrasil yggdrasilctl ; do + echo "Building: $CMD" + go build $ARGS -ldflags="$LDFLAGS" -gcflags="$GCFLAGS" ./cmd/$CMD - if [ $UPX ]; then - upx --brute $CMD - fi - done -fi + if [ $UPX ]; then + upx --brute $CMD + fi +done diff --git a/contrib/mobile/build b/contrib/mobile/build new file mode 100755 index 00000000..49fbd8f8 --- /dev/null +++ b/contrib/mobile/build @@ -0,0 +1,52 @@ +#!/bin/sh + +set -ef + +[ ! -d contrib/mobile ] && (echo "Must run contrib/mobile/build.sh [-i] [-a] from the repository top level folder"; exit 1) + +PKGSRC=${PKGSRC:-github.com/yggdrasil-network/yggdrasil-go/src/version} +PKGNAME=${PKGNAME:-$(sh contrib/semver/name.sh)} +PKGVER=${PKGVER:-$(sh contrib/semver/version.sh --bare)} + +LDFLAGS="-X $PKGSRC.buildName=$PKGNAME -X $PKGSRC.buildVersion=$PKGVER" +ARGS="-v" + +while getopts "aitc:l:d" option +do + case "$option" + in + i) IOS=true;; + a) ANDROID=true;; + t) TABLES=true;; + c) GCFLAGS="$GCFLAGS $OPTARG";; + l) LDFLAGS="$LDFLAGS $OPTARG";; + d) ARGS="$ARGS -tags debug" DEBUG=true;; + esac +done + +if [ -z $TABLES ] && [ -z $DEBUG ]; then + LDFLAGS="$LDFLAGS -s -w" +fi + +if [ ! $IOS ] && [ ! $ANDROID ]; then + echo "Must specify -a (Android), -i (iOS) or both" + exit 1 +fi + +if [ $IOS ]; then + echo "Building framework for iOS" + go get golang.org/x/mobile/bind + gomobile bind \ + -target ios -tags mobile -o Yggdrasil.xcframework \ + -ldflags="$LDFLAGS $STRIP" -gcflags="$GCFLAGS" \ + ./contrib/mobile ./src/config; +fi + +if [ $ANDROID ]; then + echo "Building aar for Android" + go get golang.org/x/mobile/bind + gomobile bind \ + -target android -tags mobile -o yggdrasil.aar \ + -ldflags="$LDFLAGS $STRIP" -gcflags="$GCFLAGS" \ + ./contrib/mobile ./src/config; +fi diff --git a/src/mobile/mobile.go b/contrib/mobile/mobile.go similarity index 100% rename from src/mobile/mobile.go rename to contrib/mobile/mobile.go diff --git a/src/mobile/mobile_android.go b/contrib/mobile/mobile_android.go similarity index 100% rename from src/mobile/mobile_android.go rename to contrib/mobile/mobile_android.go diff --git a/src/mobile/mobile_ios.go b/contrib/mobile/mobile_ios.go similarity index 100% rename from src/mobile/mobile_ios.go rename to contrib/mobile/mobile_ios.go diff --git a/src/mobile/mobile_other.go b/contrib/mobile/mobile_other.go similarity index 100% rename from src/mobile/mobile_other.go rename to contrib/mobile/mobile_other.go diff --git a/src/mobile/mobile_test.go b/contrib/mobile/mobile_test.go similarity index 100% rename from src/mobile/mobile_test.go rename to contrib/mobile/mobile_test.go