#!/bin/sh
#	$Id: externs,v 1.6 2013/07/06 19:16:52 tom Exp $
#       @(#)dev externs 1.1@(#) 91/08/20 08:29:03 SPC UIS
#
# Lists all externals from the given set of object files
#
unset LANG
unset LANGUAGE
unset LC_ALL
unset LC_CTYPE
#
TMP=${TMPDIR-/tmp}/$$
FIX='rm -f ${TMP} ${TMP}U ${TMP}D'
trap 'rm -f ${TMP} ${TMP}U ${TMP}D;exit' 1 2 3 15
eval $FIX
#
${NM_PROG:-nm} -p $* | \
	sed	-e 's/^\(0x\)?[[:xdigit:]][[:xdigit:]]*//' \
		-e 's/^[[:blank:]][[:blank:]]*//' \
		-e '/^[ [:lower:][:digit:]] /d' \
		-e '/:$/d' \
		-e '/^$/d' |\
	sort |uniq >$TMP
grep    '^[U?] ' $TMP | sed -e 's/^[U?] //'  >${TMP}U
grep -v '^[U?] ' $TMP | sed -e 's/^[A-Z] //' >${TMP}D
#
for i in `cat ${TMP}U`
do
	if egrep "\<$i\>" ${TMP}D >/dev/null
	then
		continue
	else
		echo $i
	fi
done
#
eval $FIX
