diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2023-04-06 15:02:33 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2023-05-29 10:53:29 +0200 |
| commit | 98277062b67db86799ad92fe52f52cec8e0f93c0 (patch) | |
| tree | ed97a77d0eca9192621373634f198e4075068a12 | |
| parent | fd5f24e1cfcb9abbfc402d138acbc6440f134fea (diff) | |
| download | mullvadvpn-98277062b67db86799ad92fe52f52cec8e0f93c0.tar.xz mullvadvpn-98277062b67db86799ad92fe52f52cec8e0f93c0.zip | |
Enable building universal app on ARM mac
| -rwxr-xr-x | env.sh | 6 | ||||
| -rwxr-xr-x | wireguard/build-wireguard-go.sh | 21 |
2 files changed, 20 insertions, 7 deletions
@@ -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 |
