mirror of
https://github.com/vcmi/vcmi.git
synced 2025-10-08 23:22:25 +02:00
[iOS] ensure that all RPATH entries of dependencies point to real files
AltStore has issues with symlinks to dylibs
This commit is contained in:
@@ -1,7 +1,27 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
cd "$CODESIGNING_FOLDER_PATH/Frameworks"
|
# AltStore has issues with symlinks to dylibs
|
||||||
tbbFilename=$(otool -L libNullkiller.dylib | egrep --only-matching 'libtbb\S+')
|
|
||||||
if [[ -L "$tbbFilename" ]]; then
|
cd "$CODESIGNING_FOLDER_PATH/$BUNDLE_FRAMEWORKS_FOLDER_PATH"
|
||||||
mv -f "$(readlink "$tbbFilename")" "$tbbFilename"
|
|
||||||
fi
|
# find rpath entries that point to symlinks
|
||||||
|
rpathSymlinks=()
|
||||||
|
for binary in "../$EXECUTABLE_NAME" $(find . -type f -iname '*.dylib'); do
|
||||||
|
echo "checking $binary"
|
||||||
|
# dyld_info sample output: @rpath/libogg.0.dylib
|
||||||
|
for lib in $(dyld_info -linked_dylibs "$binary" | awk -F / '/@rpath/ {print $2}'); do
|
||||||
|
if [ -L "$lib" ]; then
|
||||||
|
echo "- symlink: $lib"
|
||||||
|
rpathSymlinks+=("$lib")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
# move real files to symlinks location
|
||||||
|
echo
|
||||||
|
for symlink in "${rpathSymlinks[@]}"; do
|
||||||
|
mv -fv "$(readlink "$symlink")" "$symlink"
|
||||||
|
done
|
||||||
|
|
||||||
|
# remove the rest of the useless symlinks
|
||||||
|
find . -type l -delete
|
||||||
|
Reference in New Issue
Block a user