diff options
author | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-01 16:01:20 +0000 |
---|---|---|
committer | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-01 16:01:20 +0000 |
commit | 2470064d88c482eb60eb4d284047140cff1d54d0 (patch) | |
tree | ea4b16ba3ddbc419f5eb4dc32a8e64b9e061ad50 /build | |
parent | 2ff645a2f0f86526d322072ad2ee2305063bcabd (diff) | |
download | chromium_src-2470064d88c482eb60eb4d284047140cff1d54d0.zip chromium_src-2470064d88c482eb60eb4d284047140cff1d54d0.tar.gz chromium_src-2470064d88c482eb60eb4d284047140cff1d54d0.tar.bz2 |
Run real dsymutil to get a real .dSYM for Breakpad dump_syms. This will
allow dump_syms to access DWARF data for line numbers and other stuff, and not
just public symbol table data.
BUG=12776
TEST=set branding to Chrome, dsymutil should run and take forever
Review URL: http://codereview.chromium.org/113999
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17316 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r-- | build/common.gypi | 47 |
1 files changed, 37 insertions, 10 deletions
diff --git a/build/common.gypi b/build/common.gypi index 910b990..aeedd09 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -351,6 +351,12 @@ }], ['OS=="mac"', { 'target_defaults': { + 'variables': { + # This should be 'mac_real_dsym%', but there seems to be a bug + # with % in variables that are intended to be set to different + # values in different targets, like this one. + 'mac_real_dsym': 0, # Fake .dSYMs are fine in most cases. + }, 'mac_bundle': 0, 'xcode_settings': { 'ALWAYS_SEARCH_USER_PATHS': 'NO', @@ -381,17 +387,38 @@ 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']}, }], ['_type=="executable"', { - 'postbuilds': [ - { - 'variables': { - # Define strip_from_xcode in a variable ending in _path so - # that gyp understands it's a path and performs proper - # relativization during dict merging. - 'strip_from_xcode_path': 'mac/strip_from_xcode', + 'target_conditions': [ + ['mac_real_dsym == 1', { + # To get a real .dSYM bundle produced by dsymutil, set the + # debug information format to dwarf-with-dsym. Since + # strip_from_xcode will not be used, set Xcode to do the + # stripping as well. + 'configurations': { + 'Release': { + 'xcode_settings': { + 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym', + 'DEPLOYMENT_POSTPROCESSING': 'YES', + 'STRIP_INSTALLED_PRODUCT': 'YES', + }, + }, }, - 'postbuild_name': 'Strip If Needed', - 'action': ['<(strip_from_xcode_path)'], - }, + }, { # mac_real_dsym != 1 + # To get a fast fake .dSYM bundle, use a post-build step to + # produce the .dSYM and strip the executable. strip_from_xcode + # only operates in the Release configuration. + 'postbuilds': [ + { + 'variables': { + # Define strip_from_xcode in a variable ending in _path + # so that gyp understands it's a path and performs proper + # relativization during dict merging. + 'strip_from_xcode_path': 'mac/strip_from_xcode', + }, + 'postbuild_name': 'Strip If Needed', + 'action': ['<(strip_from_xcode_path)'], + }, + ], + }], ], }], ], |