aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2022-11-15 14:15:27 +0200
committerSamuli Piippo <samuli.piippo@qt.io>2022-11-24 05:38:38 +0200
commit2b8f50a2d1192f18b3284fc82edc7f7d4e477f89 (patch)
tree87c5ccd1d83417c664528688e60aa8a66a14fd47
parentab0b005a57714d944415a818a53031e254877bb1 (diff)
Add universal libusb binaries to macOS
Brew does not support universal binaries, but provides separate amd64 and arm64 packages. We need to add arm64 binaries for libus, so that the universal builds work also for QDB. Use brew to fetch both architecture packages and use them to create universal libs for the libusb. Remove from macOS 10.14, add to macOS 12 arm. Task-number: QTBUG-107457 Pick-to: 6.2 Change-Id: If19fd6d303a20d8742c88ea11d5b30cc55f45d6b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-rwxr-xr-xcoin/provisioning/common/macos/libusb.sh22
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/29-libusb.sh (renamed from coin/provisioning/qtci-macos-10.14-x86_64/29-libusb.sh)0
2 files changed, 22 insertions, 0 deletions
diff --git a/coin/provisioning/common/macos/libusb.sh b/coin/provisioning/common/macos/libusb.sh
index dc30e4fe..2e47a5aa 100755
--- a/coin/provisioning/common/macos/libusb.sh
+++ b/coin/provisioning/common/macos/libusb.sh
@@ -47,3 +47,25 @@ brew install libusb
read -r -a arr <<< $(brew list --versions libusb)
version=${arr[1]}
echo "libusb = $version" >> ~/versions.txt
+
+mkdir /tmp/arm64/
+mkdir /tmp/amd64/
+
+case $(sw_vers -productVersion) in
+ 11*) codename=big_sur;;
+ 12*) codename=monterey;;
+ 13*) codename=ventura;;
+esac
+
+brew fetch --bottle-tag=arm64_${codename} libusb
+brew fetch --bottle-tag=${codename} libusb
+tar xf $(brew --cache --bottle-tag=arm64_${codename} libusb) -C /tmp/arm64/
+tar xf $(brew --cache --bottle-tag=${codename} libusb) -C /tmp/amd64
+for f in /tmp/arm64/libusb/$version/lib/* ; do
+ if lipo -info $f >/dev/null 2>&1; then
+ file=$(basename $f)
+ lipo -create -output $(brew --cellar)/libusb/$version/lib/$file \
+ /tmp/arm64/libusb/$version/lib/$file \
+ /tmp/amd64/libusb/$version/lib/$file
+ fi
+done
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-12-arm/29-libusb.sh
index c58274b6..c58274b6 100755
--- a/coin/provisioning/qtci-macos-10.14-x86_64/29-libusb.sh
+++ b/coin/provisioning/qtci-macos-12-arm/29-libusb.sh