mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-11-04 11:15:07 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
set -ef
 | 
						|
 | 
						|
[ ! -d contrib/mobile ] && (echo "Must run ./contrib/mobile/build [-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,macos -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
 |