From 2b8f50a2d1192f18b3284fc82edc7f7d4e477f89 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Tue, 15 Nov 2022 14:15:27 +0200 Subject: Add universal libusb binaries to macOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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ø --- coin/provisioning/common/macos/libusb.sh | 22 ++++++++++++++++++++++ .../qtci-macos-10.14-x86_64/29-libusb.sh | 7 ------- coin/provisioning/qtci-macos-12-arm/29-libusb.sh | 7 +++++++ 3 files changed, 29 insertions(+), 7 deletions(-) delete mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/29-libusb.sh create mode 100755 coin/provisioning/qtci-macos-12-arm/29-libusb.sh 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-10.14-x86_64/29-libusb.sh deleted file mode 100755 index c58274b6..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/29-libusb.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") - -"$BASEDIR/../common/macos/libusb.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/29-libusb.sh b/coin/provisioning/qtci-macos-12-arm/29-libusb.sh new file mode 100755 index 00000000..c58274b6 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/29-libusb.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") + +"$BASEDIR/../common/macos/libusb.sh" -- cgit v1.2.3