Skip to content

Instantly share code, notes, and snippets.

@lumieru
Forked from neonichu/strip-lib.sh
Created November 4, 2020 13:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lumieru/57f5b877410b1e59d02271b5b7dbd729 to your computer and use it in GitHub Desktop.
Save lumieru/57f5b877410b1e59d02271b5b7dbd729 to your computer and use it in GitHub Desktop.
Strip debug symbol from universal static libraries (tested for iOS only)
#!/bin/sh
#
## Strip debug symbol from universal static libraries
#
if [ -z "$1" ]
then
echo "$0 library"
exit 1
fi
file "$1"|grep 'ar archive random library' >/dev/null 2>&1
if [ $? -ne 0 ]
then
echo "$1: not a static library"
exit 1
fi
TMP=`mktemp -d /tmp/tmp.XXXXXX`
for arch in `file "$1"|grep 'architecture '|sed 's/.*(for architecture \(.*\)).*/\1/'`
do
lipo "$1" -thin $arch -output $TMP/libfoo-$arch-unstripped.a
strip -S -x -o $TMP/libfoo-$arch.a -r $TMP/libfoo-$arch-unstripped.a
done
rm -f $TMP/*-unstripped.a
lipo -create -output "$1-stripped" $TMP/*.a
rm -f $TMP/*.a
rmdir $TMP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment