Title: [100553] trunk/Tools
Revision
100553
Author
[email protected]
Date
2011-11-16 19:32:02 -0800 (Wed, 16 Nov 2011)

Log Message

Fix the build.

The C++ standard library interferes with Objective-C exceptions when built with -fno-exceptions.
Apply the workaround that we use in other projects to WebKitTestRunner.

* WebKitTestRunner/Configurations/Base.xcconfig: Use the prefix header for all targets.
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Ditto.
* WebKitTestRunner/WebKitTestRunnerPrefix.h: Work around the C++ standard library obnoxiousness.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (100552 => 100553)


--- trunk/Tools/ChangeLog	2011-11-17 03:22:09 UTC (rev 100552)
+++ trunk/Tools/ChangeLog	2011-11-17 03:32:02 UTC (rev 100553)
@@ -1,3 +1,14 @@
+2011-11-16  Mark Rowe  <[email protected]>
+
+        Fix the build.
+
+        The C++ standard library interferes with Objective-C exceptions when built with -fno-exceptions.
+        Apply the workaround that we use in other projects to WebKitTestRunner.
+
+        * WebKitTestRunner/Configurations/Base.xcconfig: Use the prefix header for all targets.
+        * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Ditto.
+        * WebKitTestRunner/WebKitTestRunnerPrefix.h: Work around the C++ standard library obnoxiousness.
+
 2011-11-16  Caio Marcelo de Oliveira Filho  <[email protected]>
 
         [Qt] Fix build after WTR AX support

Modified: trunk/Tools/WebKitTestRunner/Configurations/Base.xcconfig (100552 => 100553)


--- trunk/Tools/WebKitTestRunner/Configurations/Base.xcconfig	2011-11-17 03:22:09 UTC (rev 100552)
+++ trunk/Tools/WebKitTestRunner/Configurations/Base.xcconfig	2011-11-17 03:32:02 UTC (rev 100553)
@@ -38,8 +38,8 @@
 WARNING_CFLAGS = -Wall -W -Wno-unused-parameter
 LINKER_DISPLAYS_MANGLED_NAMES = YES;
 VALID_ARCHS = i386 x86_64;
+GCC_PREFIX_HEADER = WebKitTestRunnerPrefix.h
 
-
 REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME));
 REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx);
 REAL_PLATFORM_NAME_iphoneos = iphoneos;

Modified: trunk/Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig (100552 => 100553)


--- trunk/Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig	2011-11-17 03:22:09 UTC (rev 100552)
+++ trunk/Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig	2011-11-17 03:32:02 UTC (rev 100553)
@@ -23,7 +23,6 @@
 
 PRODUCT_NAME = WebKitTestRunner
 GCC_ENABLE_OBJC_EXCEPTIONS = YES
-GCC_PREFIX_HEADER = WebKitTestRunnerPrefix.h
 
 INSTALL_PATH = $(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Resources;
 SKIP_INSTALL = NO;

Modified: trunk/Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h (100552 => 100553)


--- trunk/Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h	2011-11-17 03:22:09 UTC (rev 100552)
+++ trunk/Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h	2011-11-17 03:32:02 UTC (rev 100553)
@@ -40,3 +40,19 @@
 
 #include <wtf/Platform.h>
 #include <WebKit2/WebKit2.h>
+
+
+/* When C++ exceptions are disabled, the C++ library defines |try| and |catch|
+* to allow C++ code that expects exceptions to build. These definitions
+* interfere with Objective-C++ uses of Objective-C exception handlers, which
+* use |@try| and |@catch|. As a workaround, undefine these macros. */
+
+#ifdef __cplusplus
+#include <algorithm> // needed for exception_defines.h
+#endif
+
+#ifdef __OBJC__
+#undef try
+#undef catch
+#endif
+
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to