X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/ad3c9f2af814c84582fdd1649e49ec4f68572c5a..e1ee4b85c2dcd2825b98e4d31d829e56ae31f66a:/xcodescripts/build_linklists.sh diff --git a/xcodescripts/build_linklists.sh b/xcodescripts/build_linklists.sh index 097d6b7..59bf260 100755 --- a/xcodescripts/build_linklists.sh +++ b/xcodescripts/build_linklists.sh @@ -5,26 +5,38 @@ # Skip script during installhdrs if [ "$ACTION" == installhdrs ]; then exit 0; fi +# BUILD_ARCHIVES needs to be set in the project settings +if [ -z "$BUILD_ARCHIVES" ]; then exit 0; fi -ARCHIVES=(Platform Base FreeBSD FreeBSD_gcc NetBSD TRE vCancelable vDarwinExtsn vDarwinExtsnCancelable vPre1050 vLegacy vInode32) +[ ! -d "$BUILT_PRODUCTS_DIR" ] && mkdir -p "$BUILT_PRODUCTS_DIR" +[ ! -d "$DERIVED_FILES_DIR" ] && mkdir -p "$DERIVED_FILES_DIR" NORMAL_LIST="$BUILT_PRODUCTS_DIR/normal.linklist" DEBUG_LIST="$BUILT_PRODUCTS_DIR/debug.linklist" INTERPOSABLE_LIST="$DERIVED_FILES_DIR/interposable.list" +UNEXPORT_LIST="$DERIVED_FILES_DIR/unexport.list" -rm -f $NORMAL_LIST -rm -f $DEBUG_LIST -rm -f $INTERPOSABLE_LIST +rm -f "$NORMAL_LIST" +rm -f "$DEBUG_LIST" +rm -f "$INTERPOSABLE_LIST" +rm -f "$UNEXPORT_LIST" -for x in ${ARCHIVES[@]}; do +for x in ${BUILD_ARCHIVES[@]}; do nm -AUamgf "$BUILT_PRODUCTS_DIR/lib${x}.a" 2>/dev/null | \ grep '__TEXT,__text' | \ - grep -v '\[symbol resolver\]' | \ - grep -vE '\$VARIANT\$(m|u)p' | \ - awk '{ print $NF }' >> $INTERPOSABLE_LIST + grep -vE '\$VARIANT' | \ + awk '{ print $NF }' >> "$INTERPOSABLE_LIST" - echo "-l$x" >> $NORMAL_LIST - echo "-l${x}_debug" >> $DEBUG_LIST + nm -AUamgf "$BUILT_PRODUCTS_DIR/lib${x}.a" 2>/dev/null | \ + awk '/\$VARIANT/ { print $NF }' >> "$UNEXPORT_LIST" + + echo "$BUILT_PRODUCTS_DIR/lib${x}.a" >> "$NORMAL_LIST.libtool" + filename=$(printf %s "$BUILT_PRODUCTS_DIR/lib${x}.a" | sed "s/\ /\\\ /g") + echo "$filename" >> "$NORMAL_LIST" + + echo "$BUILT_PRODUCTS_DIR/lib${x}_debug.a" >> "$DEBUG_LIST.libtool" + filename=$(printf %s "$BUILT_PRODUCTS_DIR/lib${x}_debug.a" | sed "s/\ /\\\ /g") + echo "$filename" >> "$DEBUG_LIST" done touch "$BUILT_PRODUCTS_DIR/deps.c"