1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-10-08 23:22:25 +02:00
Files
vcmi/ios/rpath_remove_symlinks.sh
Andrey Filipenkov b7aefc198c [iOS] ensure that all RPATH entries of dependencies point to real files
AltStore has issues with symlinks to dylibs
2025-10-07 15:01:10 +03:00

28 lines
723 B
Bash
Executable File

#!/usr/bin/env bash
# AltStore has issues with symlinks to dylibs
cd "$CODESIGNING_FOLDER_PATH/$BUNDLE_FRAMEWORKS_FOLDER_PATH"
# 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