#!/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" exit 0 fi STRIP="${STRIP:-${CHOST}-strip}" type -p -- ${STRIP} > /dev/null || STRIP=strip PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS:---strip-unneeded} banner=1 save_elf_debug() { local x=$1 local y="${D}/usr/lib/debug/${x:${#D}:${#x}}" [ "${FEATURES//*splitdebug*/true}" != "true" ] && return 0 mkdir -p $(dirname ${y}) ${CHOST}-objcopy --only-keep-debug ${x} ${y}.debug ${CHOST}-objcopy --add-gnu-debuglink=${y}.debug ${x} } for x in $(scanelf -yRBF%F "$@") $(for y in "$@"; do find $y -type f -name '*.a' -print0 ; done); do if [ ${banner} -eq 1 ] ; then echo "strip: ${STRIP} ${PORTAGE_STRIP_FLAGS}" banner=0 fi f=$(file "${x}") || continue [ -z "${f}" ] && continue if [[ ${f} == *"current ar archive"* ]] ; then echo " ${x:${#D}:${#x}}" ${STRIP} -g "${x}" fi if [[ ${f} == *"SB executable"* || ${f} == *"SB shared object"* ]] ; then echo " ${x:${#D}:${#x}}" save_elf_debug "${x}" ${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}" fi done