summaryrefslogtreecommitdiffstats
path: root/breakpad
diff options
context:
space:
mode:
authorstuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-21 16:41:27 +0000
committerstuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-21 16:41:27 +0000
commitd335fb395a4b57c7b307b0421e26cde7b4f6c301 (patch)
tree8db2f54381cec051802608aeba05456b682b158b /breakpad
parent9f8d852319b41e3c99fc4bf99978d51d630d338b (diff)
downloadchromium_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')
-rw-r--r--breakpad/breakpad.gyp35
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',
+ ],
+ },
},
],
}],