diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-01 22:55:59 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-01 22:55:59 +0000 |
commit | 5066802c18012df31ea69d1addad55c074ab38aa (patch) | |
tree | 7e2218ccfb3847b2c63a69998b1a113a19de30dd /1.6.1/build_tools/strip_nonapi | |
parent | 137f9ba1975c41d5de4fe4370177c82328f99df3 (diff) |
Creating tag for the release of asterisk-1.6.1-beta3
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.6.1-beta3@160162 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to '1.6.1/build_tools/strip_nonapi')
-rwxr-xr-x | 1.6.1/build_tools/strip_nonapi | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/1.6.1/build_tools/strip_nonapi b/1.6.1/build_tools/strip_nonapi new file mode 100755 index 000000000..17492e6f8 --- /dev/null +++ b/1.6.1/build_tools/strip_nonapi @@ -0,0 +1,38 @@ +#!/bin/sh -e + +# This script is designed to remove all non-API global symbols from an object +# file. The only global symbols that should be retained are those that belong +# to the official namespace. Unfortunately doing this is platform-specific, as +# the object file manipulation tools are not consistent across platforms. +# +# On platforms where this script does not know what to do, the object file +# will retain non-API global symbols, and this may have unpleasant side effects. +# +# Prefixes that belong to the official namespace are: +# ast_ +# _ast_ +# __ast_ +# astman_ +# pbx_ +# resample_ + +FILTER="${GREP} -v -e ^ast_ -e ^_ast_ -e ^__ast_ -e ^astman_ -e ^pbx_ -e ^resample_" + +case "${PROC}" in + powerpc64) + TEXTSYM=" D " + ;; + *) + TEXTSYM=" T " + ;; +esac + +case "${OSARCH}" in + linux-gnu|FreeBSD) + nm ${1} | ${GREP} -e "$TEXTSYM" | cut -d" " -f3 | ${FILTER} > striplist + sed -e "s/^/-N /" striplist | xargs -n 40 ${STRIP} ${1} + rm -f striplist + ;; + *) + ;; +esac |