]> git.saurik.com Git - apple/security.git/blame - symbol_strip.sh
Security-54.1.3.tar.gz
[apple/security.git] / symbol_strip.sh
CommitLineData
bac41a7b
A
1#!/bin/sh
2
3if [ $# -ne 1 ]
4then
5 echo "Export file name required."
6 exit 1
7fi
8expfile="$1"
9expbase=`basename $expfile`
10
11# Don't rerun this unless the file has been relinked
29654253
A
12if [ "${BUILT_PRODUCTS_DIR}/${expbase}.timestamp" -nt "${BUILT_PRODUCTS_DIR}/${INNER_PRODUCT_SUBPATH}" ]; then
13 echo "${BUILT_PRODUCTS_DIR}/${INNER_PRODUCT_SUBPATH} is up to date."
bac41a7b
A
14 exit 0
15fi
16
29654253
A
17echo "Scanning ${BUILT_PRODUCTS_DIR}/${INNER_PRODUCT_SUBPATH}"
18ARCHS=`lipo -info "${BUILT_PRODUCTS_DIR}/${INNER_PRODUCT_SUBPATH}" | awk -F : '{print $3}'`
bac41a7b
A
19for arch in $ARCHS
20do
29654253
A
21 echo "Generating exports file ${BUILT_PRODUCTS_DIR}/${expbase}_$arch"
22 nm -gp -arch $arch "${BUILT_PRODUCTS_DIR}/${INNER_PRODUCT_SUBPATH}" \
bac41a7b
A
23 | egrep -v '^/| U _' \
24 | awk '{print $3}' \
29654253 25 | egrep '_(|tf|ti|C)(|Q[2-9])8Security|_(N|ZN|ZNK|ZTTN|ZTVN)8Security|^_(Sec|CSSM|Authorization)' \
bac41a7b 26 | cat - "$expfile" \
29654253
A
27 | sort -u > "${BUILT_PRODUCTS_DIR}/${expbase}_$arch"
28 echo nmedit -s "${BUILT_PRODUCTS_DIR}/${expbase}_$arch" -arch $arch "${BUILT_PRODUCTS_DIR}/${INNER_PRODUCT_SUBPATH}"
29 nmedit -s "${BUILT_PRODUCTS_DIR}/${expbase}_$arch" -arch $arch "${BUILT_PRODUCTS_DIR}/${INNER_PRODUCT_SUBPATH}"
bac41a7b 30done
29654253 31touch "${BUILT_PRODUCTS_DIR}/${expbase}.timestamp"