]> git.saurik.com Git - apple/libc.git/blame_incremental - xcodescripts/build_linklists.sh
Libc-1244.30.3.tar.gz
[apple/libc.git] / xcodescripts / build_linklists.sh
... / ...
CommitLineData
1#!/bin/bash
2
3# build_linklists.sh
4# Libc
5
6# Skip script during installhdrs
7if [ "$ACTION" == installhdrs ]; then exit 0; fi
8# BUILD_ARCHIVES needs to be set in the project settings
9if [ -z "$BUILD_ARCHIVES" ]; then exit 0; fi
10
11[ ! -d "$BUILT_PRODUCTS_DIR" ] && mkdir -p "$BUILT_PRODUCTS_DIR"
12[ ! -d "$DERIVED_FILES_DIR" ] && mkdir -p "$DERIVED_FILES_DIR"
13
14NORMAL_LIST="$BUILT_PRODUCTS_DIR/normal.linklist"
15DEBUG_LIST="$BUILT_PRODUCTS_DIR/debug.linklist"
16INTERPOSABLE_LIST="$DERIVED_FILES_DIR/interposable.list"
17UNEXPORT_LIST="$DERIVED_FILES_DIR/unexport.list"
18
19rm -f "$NORMAL_LIST"
20rm -f "$DEBUG_LIST"
21rm -f "$INTERPOSABLE_LIST"
22rm -f "$UNEXPORT_LIST"
23
24for x in ${BUILD_ARCHIVES[@]}; do
25 nm -AUamgf "$BUILT_PRODUCTS_DIR/lib${x}.a" 2>/dev/null | \
26 grep '__TEXT,__text' | \
27 grep -vE '\$VARIANT' | \
28 awk '{ print $NF }' >> "$INTERPOSABLE_LIST"
29
30 nm -AUamgf "$BUILT_PRODUCTS_DIR/lib${x}.a" 2>/dev/null | \
31 awk '/\$VARIANT/ { print $NF }' >> "$UNEXPORT_LIST"
32
33 echo "$BUILT_PRODUCTS_DIR/lib${x}.a" >> "$NORMAL_LIST.libtool"
34 filename=$(printf %s "$BUILT_PRODUCTS_DIR/lib${x}.a" | sed "s/\ /\\\ /g")
35 echo "$filename" >> "$NORMAL_LIST"
36
37 echo "$BUILT_PRODUCTS_DIR/lib${x}_debug.a" >> "$DEBUG_LIST.libtool"
38 filename=$(printf %s "$BUILT_PRODUCTS_DIR/lib${x}_debug.a" | sed "s/\ /\\\ /g")
39 echo "$filename" >> "$DEBUG_LIST"
40done
41
42touch "$BUILT_PRODUCTS_DIR/deps.c"
43
44exit 0