diff options
Diffstat (limited to 'build/mac/strip_from_xcode')
-rwxr-xr-x | build/mac/strip_from_xcode | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/build/mac/strip_from_xcode b/build/mac/strip_from_xcode new file mode 100755 index 0000000..7ef0e28 --- /dev/null +++ b/build/mac/strip_from_xcode @@ -0,0 +1,42 @@ +#!/bin/sh + +# Copyright (c) 2008 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# This is a handy wrapper script that figures out how to call the strip +# utility (strip_save_dsym in this case), if it even needs to be called at all, +# and then does it. This script should be called by a post-link phase in +# targets that might generate Mach-O executables, dynamic libraries, or +# loadable bundles. +# +# An example "Strip If Needed" build phase placed after "Link Binary With +# Libraries" would do: +# exec "${XCODEPROJ_DEPTH}/build/mac/strip_from_xcode" + +if [ "${CONFIGURATION}" != "Release" ] ; then + # Only strip in release mode. + exit 0 +fi + +# MACH_O_TYPE is not set for a command-line tool, so check PRODUCT_TYPE too. +# Weird. +if [ "${MACH_O_TYPE}" = "mh_execute" ] || \ + [ "${PRODUCT_TYPE}" = "com.apple.product-type.tool" ] ; then + # Strip everything + STRIPFLAGS= +elif [ "${MACH_O_TYPE}" = "mh_dylib" ] || \ + "${MACH_O_TYPE}" = "mh_bundle" ]; then + # Strip debugging symbols and local symbols + STRIPFLAGS="-S -x" +elif [ "${MACH_O_TYPE}" = "staticlib" ] ; then + # Don't strip static libraries. + exit 0 +else + # Warn, but don't treat this as an error. + echo $0: warning: unrecognized MACH_O_TYPE ${MACH_O_TYPE} + exit 0 +fi + +exec "$(dirname ${0})/strip_save_dsym" ${STRIPFLAGS} \ + "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}" |