blob: 4e5dbed051cbe8b9ee38244f9db4e65e234f611a [file] [log] [blame]
#!/bin/sh
# creates or updates a fat binary by replacing or adding a new architecture.
# the target file doesn't need to exist - it will be created if not
# already present
if [ -z "$1" -o -z "$2" ]; then
echo ""
echo " Usage: updatefat <target> <new-file>"
echo ""
echo " Works even if <target> doesn't exist or is not fat."
echo ""
exit 1
fi
thisarch=`lipo -detailed_info "$2"|sed -n 's/.\{0,\}architecture:* \(.\{1,\}\)/\1/p'`
if [ -z "$thisarch" ]; then
echo "Cannot find out architecture of $2" >&2
exit 2
fi
#echo "architecture: $thisarch";
if [ -e "$1" ]; then \
if lipo -detailed_info "$1"|grep "architecture:* $thisarch\$" > /dev/null; then
if lipo -info "$1"|grep ^Non-fat > /dev/null; then
lipo -create "$2" -o "$1"
else
lipo -replace "$thisarch" "$2" "$1" -o "$1"
fi
else
lipo -create "$1" "$2" -o "$1"
fi
else
lipo -create "$2" -o "$1"
fi