From 97fd849d097072bae508e48d6f766e6e79ad4bcf Mon Sep 17 00:00:00 2001 From: "weinig@apple.com" Date: Tue, 21 Feb 2012 16:44:31 +0000 Subject: [PATCH] Use libc++ when building with Clang on Mac https://bugs.webkit.org/show_bug.cgi?id=78981 Reviewed by Dan Bernstein. Source/JavaScriptCore: * Configurations/Base.xcconfig: Source/ThirdParty: * gtest/xcode/Config/General.xcconfig: In addition to enabling libc++ when building with Clang, disable gtest's use of tr1::tuple, which doesn't exist in libc++. Source/ThirdParty/ANGLE: * Configurations/Base.xcconfig: Source/WebCore: * Configurations/Base.xcconfig: Source/WebKit/mac: * Configurations/Base.xcconfig: Source/WebKit2: * Configurations/Base.xcconfig: Tools: * DumpRenderTree/mac/Configurations/Base.xcconfig: * MiniBrowser/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108361 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/JavaScriptCore/ChangeLog | 9 +++++++++ Source/JavaScriptCore/Configurations/Base.xcconfig | 4 ++++ Source/ThirdParty/ANGLE/ChangeLog | 9 +++++++++ Source/ThirdParty/ANGLE/Configurations/Base.xcconfig | 4 ++++ Source/ThirdParty/ChangeLog | 12 ++++++++++++ Source/ThirdParty/gtest/xcode/Config/General.xcconfig | 7 +++++++ Source/WebCore/ChangeLog | 9 +++++++++ Source/WebCore/Configurations/Base.xcconfig | 4 ++++ Source/WebKit/mac/ChangeLog | 9 +++++++++ Source/WebKit/mac/Configurations/Base.xcconfig | 4 ++++ Source/WebKit2/ChangeLog | 9 +++++++++ Source/WebKit2/Configurations/Base.xcconfig | 4 ++++ Tools/ChangeLog | 12 ++++++++++++ Tools/DumpRenderTree/mac/Configurations/Base.xcconfig | 4 ++++ Tools/MiniBrowser/Configurations/Base.xcconfig | 4 ++++ Tools/TestWebKitAPI/Configurations/Base.xcconfig | 6 +++++- Tools/WebKitTestRunner/Configurations/Base.xcconfig | 5 +++++ 17 files changed, 114 insertions(+), 1 deletion(-) diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog index 632ec71..cea813c 100644 --- a/Source/JavaScriptCore/ChangeLog +++ b/Source/JavaScriptCore/ChangeLog @@ -1,3 +1,12 @@ +2012-02-21 Sam Weinig + + Use libc++ when building with Clang on Mac + https://bugs.webkit.org/show_bug.cgi?id=78981 + + Reviewed by Dan Bernstein. + + * Configurations/Base.xcconfig: + 2012-02-21 Adam Roben Roll out r108309, r108323, and r108326 diff --git a/Source/JavaScriptCore/Configurations/Base.xcconfig b/Source/JavaScriptCore/Configurations/Base.xcconfig index e304bd1..4e30085 100644 --- a/Source/JavaScriptCore/Configurations/Base.xcconfig +++ b/Source/JavaScriptCore/Configurations/Base.xcconfig @@ -73,6 +73,10 @@ WARNING_CFLAGS_macosx_ppc64 = $(WARNING_CFLAGS_BASE); WARNING_CFLAGS_macosx_x86_64 = $(WARNING_CFLAGS_BASE); HEADER_SEARCH_PATHS = . icu $(HEADER_SEARCH_PATHS); +CLANG_CXX_LIBRARY = $(CLANG_CXX_LIBRARY_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +CLANG_CXX_LIBRARY_1070 = libc++; +CLANG_CXX_LIBRARY_1080 = libc++; +CLANG_CXX_LIBRARY_1090 = libc++; REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME)); REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx); diff --git a/Source/ThirdParty/ANGLE/ChangeLog b/Source/ThirdParty/ANGLE/ChangeLog index 109efc7..7c4c0c6 100644 --- a/Source/ThirdParty/ANGLE/ChangeLog +++ b/Source/ThirdParty/ANGLE/ChangeLog @@ -1,3 +1,12 @@ +2012-02-21 Sam Weinig + + Use libc++ when building with Clang on Mac + https://bugs.webkit.org/show_bug.cgi?id=78981 + + Reviewed by Dan Bernstein. + + * Configurations/Base.xcconfig: + 2012-01-07 Chris Marrin Fixed a warning in GTK build of ANGLE diff --git a/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig b/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig index 4a84fb3..cce02ea 100644 --- a/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig +++ b/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig @@ -24,6 +24,10 @@ LINKER_DISPLAYS_MANGLED_NAMES = YES; PREBINDING = NO; STRIP_INSTALLED_PRODUCT = NO; +CLANG_CXX_LIBRARY = $(CLANG_CXX_LIBRARY_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +CLANG_CXX_LIBRARY_1070 = libc++; +CLANG_CXX_LIBRARY_1080 = libc++; +CLANG_CXX_LIBRARY_1090 = libc++; REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME)); REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx); diff --git a/Source/ThirdParty/ChangeLog b/Source/ThirdParty/ChangeLog index 0238196..b1f6d45 100644 --- a/Source/ThirdParty/ChangeLog +++ b/Source/ThirdParty/ChangeLog @@ -1,3 +1,15 @@ +2012-02-21 Sam Weinig + + Use libc++ when building with Clang on Mac + https://bugs.webkit.org/show_bug.cgi?id=78981 + + Reviewed by Dan Bernstein. + + * gtest/xcode/Config/General.xcconfig: + In addition to enabling libc++ when building with Clang, + disable gtest's use of tr1::tuple, which doesn't exist in + libc++. + 2012-01-25 Mark Rowe Build in to an alternate location when USE_STAGING_INSTALL_PATH is set. diff --git a/Source/ThirdParty/gtest/xcode/Config/General.xcconfig b/Source/ThirdParty/gtest/xcode/Config/General.xcconfig index 50b7c2c..9b1bb6b 100644 --- a/Source/ThirdParty/gtest/xcode/Config/General.xcconfig +++ b/Source/ThirdParty/gtest/xcode/Config/General.xcconfig @@ -36,6 +36,13 @@ ALWAYS_SEARCH_USER_PATHS = NO // Turn on position dependent code for most cases (overridden where appropriate) GCC_DYNAMIC_NO_PIC = YES +GCC_PREPROCESSOR_DEFINITIONS = $(GCC_PREPROCESSOR_DEFINITIONS) GTEST_HAS_TR1_TUPLE=0; + +CLANG_CXX_LIBRARY = $(CLANG_CXX_LIBRARY_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +CLANG_CXX_LIBRARY_1070 = libc++; +CLANG_CXX_LIBRARY_1080 = libc++; +CLANG_CXX_LIBRARY_1090 = libc++; + REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME)); REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx); REAL_PLATFORM_NAME_iphoneos = iphoneos; diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index fccb669..1202e32 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,12 @@ +2012-02-21 Sam Weinig + + Use libc++ when building with Clang on Mac + https://bugs.webkit.org/show_bug.cgi?id=78981 + + Reviewed by Dan Bernstein. + + * Configurations/Base.xcconfig: + 2012-02-21 Adam Roben Mac build fix diff --git a/Source/WebCore/Configurations/Base.xcconfig b/Source/WebCore/Configurations/Base.xcconfig index 9e3608d..5bee13f 100644 --- a/Source/WebCore/Configurations/Base.xcconfig +++ b/Source/WebCore/Configurations/Base.xcconfig @@ -69,6 +69,10 @@ WARNING_CFLAGS_macosx_ppc = $(WARNING_CFLAGS_BASE) -Wshorten-64-to-32; WARNING_CFLAGS_macosx_ppc64 = $(WARNING_CFLAGS_BASE); WARNING_CFLAGS_macosx_x86_64 = $(WARNING_CFLAGS_BASE); +CLANG_CXX_LIBRARY = $(CLANG_CXX_LIBRARY_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +CLANG_CXX_LIBRARY_1070 = libc++; +CLANG_CXX_LIBRARY_1080 = libc++; +CLANG_CXX_LIBRARY_1090 = libc++; REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME)); REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx); diff --git a/Source/WebKit/mac/ChangeLog b/Source/WebKit/mac/ChangeLog index bd76fbb..483703a 100644 --- a/Source/WebKit/mac/ChangeLog +++ b/Source/WebKit/mac/ChangeLog @@ -1,3 +1,12 @@ +2012-02-21 Sam Weinig + + Use libc++ when building with Clang on Mac + https://bugs.webkit.org/show_bug.cgi?id=78981 + + Reviewed by Dan Bernstein. + + * Configurations/Base.xcconfig: + 2012-02-17 Mihnea Ovidenie CSS regions enabled by default diff --git a/Source/WebKit/mac/Configurations/Base.xcconfig b/Source/WebKit/mac/Configurations/Base.xcconfig index 6483322..d439d9d 100644 --- a/Source/WebKit/mac/Configurations/Base.xcconfig +++ b/Source/WebKit/mac/Configurations/Base.xcconfig @@ -65,6 +65,10 @@ WARNING_CFLAGS_iphoneos = $(WARNING_CFLAGS_BASE); WARNING_CFLAGS_iphonesimulator = $(WARNING_CFLAGS_BASE); WARNING_CFLAGS_macosx = $(WARNING_CFLAGS_BASE); +CLANG_CXX_LIBRARY = $(CLANG_CXX_LIBRARY_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +CLANG_CXX_LIBRARY_1070 = libc++; +CLANG_CXX_LIBRARY_1080 = libc++; +CLANG_CXX_LIBRARY_1090 = libc++; REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME)); REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx); diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog index c3ea1d4..e916ec3 100644 --- a/Source/WebKit2/ChangeLog +++ b/Source/WebKit2/ChangeLog @@ -1,3 +1,12 @@ +2012-02-21 Sam Weinig + + Use libc++ when building with Clang on Mac + https://bugs.webkit.org/show_bug.cgi?id=78981 + + Reviewed by Dan Bernstein. + + * Configurations/Base.xcconfig: + 2012-02-21 Andras Becsi [Qt][WK2] Get rid of the dependency to QtWidgets diff --git a/Source/WebKit2/Configurations/Base.xcconfig b/Source/WebKit2/Configurations/Base.xcconfig index cc86aca..3728565 100644 --- a/Source/WebKit2/Configurations/Base.xcconfig +++ b/Source/WebKit2/Configurations/Base.xcconfig @@ -60,6 +60,10 @@ WARNING_CFLAGS = -Wall -Wextra -Wchar-subscripts -Wextra-tokens -Wformat-securit // Prevent C++ standard library operator new, delete and their related exception types from being exported as weak symbols. OTHER_LDFLAGS = -Wl,-unexported_symbol -Wl,__ZTISt9bad_alloc -Wl,-unexported_symbol -Wl,__ZTISt9exception -Wl,-unexported_symbol -Wl,__ZTSSt9bad_alloc -Wl,-unexported_symbol -Wl,__ZTSSt9exception -Wl,-unexported_symbol -Wl,__ZdlPvS_ -Wl,-unexported_symbol -Wl,__ZnwmPv; +CLANG_CXX_LIBRARY = $(CLANG_CXX_LIBRARY_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +CLANG_CXX_LIBRARY_1070 = libc++; +CLANG_CXX_LIBRARY_1080 = libc++; +CLANG_CXX_LIBRARY_1090 = libc++; REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME)); REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx); diff --git a/Tools/ChangeLog b/Tools/ChangeLog index 24eb5f7..5297387 100644 --- a/Tools/ChangeLog +++ b/Tools/ChangeLog @@ -1,3 +1,15 @@ +2012-02-21 Sam Weinig + + Use libc++ when building with Clang on Mac + https://bugs.webkit.org/show_bug.cgi?id=78981 + + Reviewed by Dan Bernstein. + + * DumpRenderTree/mac/Configurations/Base.xcconfig: + * MiniBrowser/Configurations/Base.xcconfig: + * TestWebKitAPI/Configurations/Base.xcconfig: + * WebKitTestRunner/Configurations/Base.xcconfig: + 2012-02-21 Adam Roben Roll out r108309, r108323, and r108326 diff --git a/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig b/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig index 11fee71..1788472 100644 --- a/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig +++ b/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig @@ -38,6 +38,10 @@ GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO WARNING_CFLAGS = -Wall -W -Wno-unused-parameter LINKER_DISPLAYS_MANGLED_NAMES = YES; +CLANG_CXX_LIBRARY = $(CLANG_CXX_LIBRARY_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +CLANG_CXX_LIBRARY_1070 = libc++; +CLANG_CXX_LIBRARY_1080 = libc++; +CLANG_CXX_LIBRARY_1090 = libc++; REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME)); REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx); diff --git a/Tools/MiniBrowser/Configurations/Base.xcconfig b/Tools/MiniBrowser/Configurations/Base.xcconfig index 7c3e8af..e70bf6c 100644 --- a/Tools/MiniBrowser/Configurations/Base.xcconfig +++ b/Tools/MiniBrowser/Configurations/Base.xcconfig @@ -36,6 +36,10 @@ WARNING_CFLAGS = -Wall -W -Wno-unused-parameter LINKER_DISPLAYS_MANGLED_NAMES = YES; VALID_ARCHS = i386 x86_64; +CLANG_CXX_LIBRARY = $(CLANG_CXX_LIBRARY_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +CLANG_CXX_LIBRARY_1070 = libc++; +CLANG_CXX_LIBRARY_1080 = libc++; +CLANG_CXX_LIBRARY_1090 = libc++; REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME)); REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx); diff --git a/Tools/TestWebKitAPI/Configurations/Base.xcconfig b/Tools/TestWebKitAPI/Configurations/Base.xcconfig index 115b1d8..7c7520e 100644 --- a/Tools/TestWebKitAPI/Configurations/Base.xcconfig +++ b/Tools/TestWebKitAPI/Configurations/Base.xcconfig @@ -25,7 +25,7 @@ HEADER_SEARCH_PATHS = $(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders $(WEBCORE_PRIVATE_HEADERS_DIR)/icu; FRAMEWORK_SEARCH_PATHS = $(SYSTEM_LIBRARY_DIR)/Frameworks/Quartz.framework/Frameworks $(SYSTEM_LIBRARY_DIR)/Frameworks/ApplicationServices.framework/Frameworks $(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Frameworks; -GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) ENABLE_DASHBOARD_SUPPORT WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST; +GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) ENABLE_DASHBOARD_SUPPORT WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST GTEST_HAS_TR1_TUPLE=0; DEBUG_INFORMATION_FORMAT = dwarf PREBINDING = NO GCC_C_LANGUAGE_STANDARD = gnu99 @@ -39,6 +39,10 @@ WARNING_CFLAGS = -Wall -W -Wno-unused-parameter LINKER_DISPLAYS_MANGLED_NAMES = YES; VALID_ARCHS = i386 x86_64; +CLANG_CXX_LIBRARY = $(CLANG_CXX_LIBRARY_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +CLANG_CXX_LIBRARY_1070 = libc++; +CLANG_CXX_LIBRARY_1080 = libc++; +CLANG_CXX_LIBRARY_1090 = libc++; // DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL, STRIP_INSTALLED_PRODUCT and DEAD_CODE_STRIPPING vary between the debug and normal variants. // We set up the values for each variant here, and have the Debug configuration in the Xcode project use the _debug variant. diff --git a/Tools/WebKitTestRunner/Configurations/Base.xcconfig b/Tools/WebKitTestRunner/Configurations/Base.xcconfig index 89a778c..b674d8d 100644 --- a/Tools/WebKitTestRunner/Configurations/Base.xcconfig +++ b/Tools/WebKitTestRunner/Configurations/Base.xcconfig @@ -40,6 +40,11 @@ LINKER_DISPLAYS_MANGLED_NAMES = YES; VALID_ARCHS = i386 x86_64; GCC_PREFIX_HEADER = WebKitTestRunnerPrefix.h +CLANG_CXX_LIBRARY = $(CLANG_CXX_LIBRARY_$(TARGET_MAC_OS_X_VERSION_MAJOR)); +CLANG_CXX_LIBRARY_1070 = libc++; +CLANG_CXX_LIBRARY_1080 = libc++; +CLANG_CXX_LIBRARY_1090 = libc++; + REAL_PLATFORM_NAME = $(REAL_PLATFORM_NAME_$(PLATFORM_NAME)); REAL_PLATFORM_NAME_ = $(REAL_PLATFORM_NAME_macosx); REAL_PLATFORM_NAME_iphoneos = iphoneos; -- 2.7.4