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
34	echo "$BUILT_PRODUCTS_DIR/lib${x}_debug.a" >> $DEBUG_LIST
35done
36
37touch "$BUILT_PRODUCTS_DIR/deps.c"
38
39exit 0
40