- for obj in "${linkers[@]}"; do
- deps=`otool -L "$obj" | awk '{print $1}' | egrep "($to_relink)" | egrep "($ENV|$ROOT|boost|libicu)"`
- changes=""
- for dep in $deps; do
- base=`basename $dep`
- if [ "$TYPE" == "universal" ]; then
- # $dep will be a path within x86_64/; make i386 and arm64 paths too
- dep_i386=`echo $dep | sed -e "s/\/x86_64\//\/i386\//g"`
- changes="$changes -change $dep @executable_path/../Frameworks/$base -change $dep_i386 @executable_path/../Frameworks/$base"
- dep_arm64=`echo $dep | sed -e "s/\/x86_64\//\/arm64\//g"`
- changes="$changes -change $dep @executable_path/../Frameworks/$base -change $dep_arm64 @executable_path/../Frameworks/$base"
- else
- changes="$changes -change $dep @executable_path/../Frameworks/$base"
- fi
+ arch1_name=$(echo $ARCH1 | sed -e s@/.*@@)
+ arch2_name=$(echo $ARCH2 | sed -e s@/.*@@)
+
+ for arch in $arch1_name $arch2_name; do
+ for obj in "${linkers[@]}"; do
+ deps=`otool -arch $arch -L "$obj" | awk '{print $1}' | egrep "($to_relink)" | egrep "($ENV|$ROOT|@rpath|boost|libicu|libssh)"`
+ changes=""
+ for dep in $deps; do
+ base=`basename $dep`
+ changes="$changes -change $dep @executable_path/../Frameworks/$base"
+ done
+ if test "x$changes" != "x"; then
+ install_name_tool $changes -id `basename "$obj"` "$obj"
+ fi
+ done