blob: ed3e6f6478f7013653c756afd892c5d1235c7eb6 [file] [log] [blame]
#!/bin/bash
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: /var/cvsroot/gentoo-src/portage/bin/prepstrip,v 1.23.2.3 2005/08/15 02:58:20 vapier Exp $
if [ "${FEATURES//*nostrip*/true}" == "true" ] || [ "${RESTRICT//*nostrip*/true}" == "true" ] ; then
echo "nostrip"
STRIP="/bin/false"
PORTAGE_STRIP_FLAGS=""
else
STRIP="${STRIP:-${CHOST}-strip}"
type -p ${STRIP} > /dev/null || STRIP=strip
PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS:---strip-unneeded}
fi
banner=1
retval=0
for x in "$@" ; do
if [ -d "${x}" ]; then
# We only want files. So make a pass for each directory and call again.
find "${x}" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 -or -name '*.so' -or -name '*.so.*' \) -print0 |
$XARGS -0 -n500 prepstrip
else
if [ ${banner} -eq 1 ] ; then
echo "strip: ${STRIP} ${PORTAGE_STRIP_FLAGS}"
banner=0
fi
f=$(file "${x}") || continue
[ -z "${f}" ] && continue
if [ -z "${f/*current ar archive*/}" ]; then
echo " ${x:${#D}:${#x}}"
${STRIP} -g "${x}"
fi
if [ -z "${f/*SB executable*/}" ]; then
echo " ${x:${#D}:${#x}}"
${STRIP} "${x}"
fi
if [ -z "${f/*SB shared object*/}" ]; then
echo " ${x:${#D}:${#x}}"
${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}"
fi
fi
done
exit ${retval}