diff options
author | stuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-21 16:41:27 +0000 |
---|---|---|
committer | stuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-21 16:41:27 +0000 |
commit | d335fb395a4b57c7b307b0421e26cde7b4f6c301 (patch) | |
tree | 8db2f54381cec051802608aeba05456b682b158b /breakpad/breakpad.gyp | |
parent | 9f8d852319b41e3c99fc4bf99978d51d630d338b (diff) | |
download | chromium_src-d335fb395a4b57c7b307b0421e26cde7b4f6c301.zip chromium_src-d335fb395a4b57c7b307b0421e26cde7b4f6c301.tar.gz chromium_src-d335fb395a4b57c7b307b0421e26cde7b4f6c301.tar.bz2 |
Use the shared GTMLogger for iOS breakpad builds
Breakpad uses a custom version of GTMLogger to work around a toolchain
bug in Xcode 4.2; this bug isn't present in 4.3, which iOS Chromium
requires.
Using a custom GTMLogger causes problems when any other code also uses
GTMLogger, so this instead exports the third-party version as a
linker dependency (where it can be harmlessly de-dup'd).
BUG=None
Review URL: https://chromiumcodereview.appspot.com/10823433
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152577 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'breakpad/breakpad.gyp')
-rw-r--r-- | breakpad/breakpad.gyp | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/breakpad/breakpad.gyp b/breakpad/breakpad.gyp index b3f2935..6de23e2 100644 --- a/breakpad/breakpad.gyp +++ b/breakpad/breakpad.gyp @@ -724,7 +724,6 @@ 'src/common/convert_UTF.h', 'src/common/mac/file_id.cc', 'src/common/mac/file_id.h', - 'src/common/mac/GTMLogger.m', 'src/common/mac/HTTPMultipartUpload.m', 'src/common/mac/macho_id.cc', 'src/common/mac/macho_id.h', @@ -742,28 +741,28 @@ 'src/common/string_conversion.h', 'src/google_breakpad/common/minidump_format.h', ], - 'xcode_settings': { - # With the Xcode 4.2 toolchain (iOS 5.0 SDK), there is a change to - # exception handling when building for arm (but not simulator). - # __EXCEPTIONS is still defined if objc exceptions are enabled but - # c++ exceptions are not. With Xcode 3.2.6 (iOS 4.3 SDK) for both - # device and simulator turning off c++ exceptions caused gcc to - # still honor try/catch in .mm files as if they were @try/@catch - # due to the new runtime support for exceptions. The clang arm - # compiler in Xcode 4.2 does not do this and exception_defines.h - # does not kick in because __EXCEPTIONS is still defined. So - # the compile fails for trying to use try without compiler support - # for c++ exceptions. The simulator build in that setup still - # works. Turning off objc exceptions is just enough to get - # __EXCEPTIONS to not be defined and exception_defines.h kicks in - # to let the code compile. - 'GCC_ENABLE_OBJC_EXCEPTIONS': 'NO', - }, 'include_dirs': [ 'src', 'src/client/mac/Framework', 'src/common/mac', + # For GTMLogger. + '<(DEPTH)/third_party/GTM', + '<(DEPTH)/third_party/GTM/Foundation', ], + 'link_settings': { + # Build the version of GTMLogger.m in third_party rather than the + # one in src/common/mac because the former catches all exceptions + # whereas the latter lets them propagate, which can cause odd + # crashes. + 'sources': [ + '<(DEPTH)/third_party/GTM/Foundation/GTMLogger.h', + '<(DEPTH)/third_party/GTM/Foundation/GTMLogger.m', + ], + 'include_dirs': [ + '<(DEPTH)/third_party/GTM', + '<(DEPTH)/third_party/GTM/Foundation', + ], + }, }, ], }], |