diff options
author | Artem Dyomin <artem.dyomin@qt.io> | 2023-12-05 15:58:52 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-12-24 18:04:03 +0000 |
commit | 6d425779cf340c4f76615799492fbc4b5bb8159d (patch) | |
tree | 351170bed7a4def6731b0774760372ca56542cea | |
parent | 387ff3e6c22456c7113bba1d0411ff2dd6a22b71 (diff) |
Retain symlinks upon making universal macos binaries
Saving symlinks is important when we build dynamic libs,
it will be needed for building QtMM + dynamic ffmpeg.
Pick-to: 6.6 6.5
Change-Id: Ic356a9c3df727a1afe14e8553728952d3b106ba3
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit a3c489b272c63994d5b74a2b6caa24e0f5472ff0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rwxr-xr-x | coin/provisioning/common/macos/makeuniversal.sh | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/coin/provisioning/common/macos/makeuniversal.sh b/coin/provisioning/common/macos/makeuniversal.sh index 1baff747..7becddaa 100755 --- a/coin/provisioning/common/macos/makeuniversal.sh +++ b/coin/provisioning/common/macos/makeuniversal.sh @@ -4,16 +4,22 @@ # Copies or lipos files from the given DESTDIR dirs to the respective install dir -set -e +set -x for dir in "$@"; do echo "Processing files in $dir ..." pushd "$dir" >/dev/null - find . -type f | while read -r f; do + find . -type f -or -type l | while read -r f; do dst="${f:1}" dstdir="$(dirname "$dst")" mkdir -p "$dstdir" - if [[ ! -f "$dst" ]]; then + + if [[ -L "$f" ]]; then + if [[ ! -L "$dst" ]]; then + echo "Copying symlink $dir/$f to $dst" + cp -P -n "$f" "$dst" + fi + elif [[ ! -f "$dst" ]]; then echo "Copying $dir/$f to $dst" cp -c "$f" "$dst" elif lipo -info "$f" >/dev/null 2>&1; then |