summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2023-04-06 15:02:33 +0200
committerDavid Lönnhager <david.l@mullvad.net>2023-05-29 10:53:29 +0200
commit98277062b67db86799ad92fe52f52cec8e0f93c0 (patch)
treeed97a77d0eca9192621373634f198e4075068a12
parentfd5f24e1cfcb9abbfc402d138acbc6440f134fea (diff)
downloadmullvadvpn-98277062b67db86799ad92fe52f52cec8e0f93c0.tar.xz
mullvadvpn-98277062b67db86799ad92fe52f52cec8e0f93c0.zip
Enable building universal app on ARM mac
-rwxr-xr-xenv.sh6
-rwxr-xr-xwireguard/build-wireguard-go.sh21
2 files changed, 20 insertions, 7 deletions
diff --git a/env.sh b/env.sh
index a952769ce6..f48aa80415 100755
--- a/env.sh
+++ b/env.sh
@@ -30,6 +30,12 @@ case "$ENV_TARGET" in
;;
x86_64-*-darwin*)
export MACOSX_DEPLOYMENT_TARGET="10.7"
+
+ if [[ $HOST != "$ENV_TARGET" ]]; then
+ # Required for building daemon
+ SDKROOT=$(xcrun --show-sdk-path)
+ export SDKROOT
+ fi
;;
aarch64-*-darwin*)
export MACOSX_DEPLOYMENT_TARGET="11.0"
diff --git a/wireguard/build-wireguard-go.sh b/wireguard/build-wireguard-go.sh
index 739116b41b..f800634f73 100755
--- a/wireguard/build-wireguard-go.sh
+++ b/wireguard/build-wireguard-go.sh
@@ -97,16 +97,23 @@ function build_unix {
export CC=aarch64-linux-gnu-gcc
fi
- # Apple silicon
- if [[ "$1" == "aarch64-apple-darwin" ]]; then
+ # Environment flags for cross compiling on macOS
+ if [[ "$1" == *-apple-darwin ]]; then
export CGO_ENABLED=1
export GOOS=darwin
- export GOARCH=arm64
- export CC="$(xcrun -sdk $SDKROOT --find clang) -arch $GOARCH -isysroot $SDKROOT"
- export CFLAGS="-isysroot $SDKROOT -arch $GOARCH -I$SDKROOT/usr/include"
+
+ local arch=x86_64
+ export GOARCH=amd64
+ if [[ "$1" == aarch64-* ]]; then
+ arch=arm64
+ export GOARCH=arm64
+ fi
+
+ export CC="$(xcrun -sdk $SDKROOT --find clang) -arch $arch -isysroot $SDKROOT"
+ export CFLAGS="-isysroot $SDKROOT -arch $arch -I$SDKROOT/usr/include"
export LD_LIBRARY_PATH="$SDKROOT/usr/lib"
- export CGO_CFLAGS="-isysroot $SDKROOT -arch $GOARCH"
- export CGO_LDFLAGS="-isysroot $SDKROOT -arch $GOARCH"
+ export CGO_CFLAGS="-isysroot $SDKROOT -arch $arch"
+ export CGO_LDFLAGS="-isysroot $SDKROOT -arch $arch"
fi
fi