mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +00:00 
			
		
		
		
	https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r123909 | tilghman | 2008-06-19 11:26:03 -0500 (Thu, 19 Jun 2008) | 5 lines Only process 40 arguments (20 files) at once with xargs, because some older shells may force xargs to separate on an odd boundary. (Closes issue #12883) Reported by Nik Soggia ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			39 lines
		
	
	
		
			969 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			969 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 |