|
@@ -1,13 +1,19 @@
|
|
|
-#!/bin/sh -e
|
|
|
-echo "Carthage wrapper"
|
|
|
-echo "Applying Xcode 12 workaround..."
|
|
|
-xcconfig="/tmp/xc12-carthage.xcconfig"
|
|
|
-echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_12A7209 = arm64 arm64e armv7 armv7s armv6 armv8' > $xcconfig
|
|
|
+# carthage.sh
|
|
|
+# Usage example: ./carthage.sh build --platform iOS
|
|
|
+
|
|
|
+set -euo pipefail
|
|
|
+
|
|
|
+xcconfig=$(mktemp /tmp/static.xcconfig.XXXXXX)
|
|
|
+trap 'rm -f "$xcconfig"' INT TERM HUP EXIT
|
|
|
+
|
|
|
+# For Xcode 12 make sure EXCLUDED_ARCHS is set to arm architectures otherwise
|
|
|
+# the build will fail on lipo due to duplicate architectures.
|
|
|
+
|
|
|
+CURRENT_XCODE_VERSION=$(xcodebuild -version | grep "Build version" | cut -d' ' -f3)
|
|
|
+echo "EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_$CURRENT_XCODE_VERSION = arm64 arm64e armv7 armv7s armv6 armv8" >> $xcconfig
|
|
|
+
|
|
|
echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200 = $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200__BUILD_$(XCODE_PRODUCT_BUILD_VERSION))' >> $xcconfig
|
|
|
echo 'EXCLUDED_ARCHS = $(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT)__XCODE_$(XCODE_VERSION_MAJOR))' >> $xcconfig
|
|
|
-echo 'ONLY_ACTIVE_ARCH=NO' >> $xcconfig
|
|
|
-echo 'VALID_ARCHS = $(inherited) x86_64' >> $xcconfig
|
|
|
-export XCODE_XCCONFIG_FILE="$xcconfig"
|
|
|
-echo "Workaround applied. xcconfig here: $XCODE_XCCONFIG_FILE"
|
|
|
|
|
|
-carthage $@
|
|
|
+export XCODE_XCCONFIG_FILE="$xcconfig"
|
|
|
+carthage "$@"
|