diff options
author | dglazkov@chromium.org <dglazkov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-09 19:54:46 +0000 |
---|---|---|
committer | dglazkov@chromium.org <dglazkov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-09 19:54:46 +0000 |
commit | ba1daaf88102d3c82b6a63daef7cb77ae5d6578d (patch) | |
tree | 9d56ebada324780551784e405190b984f803f413 /webkit | |
parent | e12f608b69add886e9a1557fc0debbc000e23dad (diff) | |
download | chromium_src-ba1daaf88102d3c82b6a63daef7cb77ae5d6578d.zip chromium_src-ba1daaf88102d3c82b6a63daef7cb77ae5d6578d.tar.gz chromium_src-ba1daaf88102d3c82b6a63daef7cb77ae5d6578d.tar.bz2 |
Bring config.h.in up to date.
Chromium today has its own config.h
(over here
http://src.chromium.org/svn/trunk/src/webkit/config.h.in), which was forked
a while back from webkit's config.h. I'm preparing the ground for the webkit
port, I'm depreciating chromium's config.h and moving its chromium-specific
defines into the ifdef PLATFORM(CHROMIUM) section of webkit's config.h.
Due the complexity of this step, it is broken into three steps:
Step 1: Merge in changes from webkit's config.h into chromium's config.h.in.
Step 2: Copy config.h.in into webkit as the new config.h.
Step 3: Delete chromiums config.h.in and make it use webkit's config.h.
THIS PATCH IS FOR STEP 1.
Patch by yaar@chromium.org, see review here:
http://codereview.chromium.org/201056
Review URL: http://codereview.chromium.org/192056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25776 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/config.h.in | 125 | ||||
-rw-r--r-- | webkit/webkit.gyp | 23 |
2 files changed, 86 insertions, 62 deletions
diff --git a/webkit/config.h.in b/webkit/config.h.in index 2fb36a3..158eb18 100644 --- a/webkit/config.h.in +++ b/webkit/config.h.in @@ -24,6 +24,22 @@ #include <wtf/Platform.h> +#if PLATFORM(WIN_OS) && !defined(BUILDING_WX__) && !COMPILER(GCC) +#if defined(BUILDING_JavaScriptCore) || defined(BUILDING_WTF) +#define JS_EXPORTDATA __declspec(dllexport) +#else +#define JS_EXPORTDATA __declspec(dllimport) +#endif +#if defined(BUILDING_WebCore) || defined(BUILDING_WebKit) +#define WEBKIT_EXPORTDATA __declspec(dllexport) +#else +#define WEBKIT_EXPORTDATA __declspec(dllimport) +#endif +#else +#define JS_EXPORTDATA +#define WEBKIT_EXPORTDATA +#endif + #define MOBILE 0 #ifdef __APPLE__ @@ -58,22 +74,6 @@ #endif /* PLATFORM(WIN_OS) */ -// On MSW, wx headers need to be included before windows.h is. -// The only way we can always ensure this is if we include wx here. -#if PLATFORM(WX) -// The defines in KeyboardCodes.h conflict with Windows as well, and the only way I've found -// to address the problem is include KeyboarddCodes.h before windows.h, so do it here. -#include "KeyboardCodes.h" -#include <wx/defs.h> -#endif - -#if !PLATFORM(SYMBIAN) -#define IMPORT_C -#define EXPORT_C -#endif - -#define WTF_CHANGES 1 - #ifdef __cplusplus // These undefs match up with defines in WebCorePrefix.h for Mac OS X. @@ -84,6 +84,15 @@ #endif +// On MSW, wx headers need to be included before windows.h is. +// The only way we can always ensure this is if we include wx here. +#if PLATFORM(WX) +// The defines in KeyboardCodes.h conflict with Windows as well, and the only way I've found +// to address the problem is include KeyboarddCodes.h before windows.h, so do it here. +#include "KeyboardCodes.h" +#include <wx/defs.h> +#endif + // this breaks compilation of <QFontDatabase>, at least, so turn it off for now // Also generates errors on wx on Windows, presumably because these functions // are used from wx headers. @@ -98,14 +107,39 @@ #endif #if PLATFORM(WIN) +#if defined(WIN_CAIRO) +#undef WTF_PLATFORM_CG +#define WTF_PLATFORM_CAIRO 1 +#undef WTF_USE_CFNETWORK +#define WTF_USE_CURL 1 +#ifndef _WINSOCKAPI_ +#define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h +#endif +#else #define WTF_PLATFORM_CG 1 #undef WTF_PLATFORM_CAIRO #define WTF_USE_CFNETWORK 1 +#undef WTF_USE_CURL +#endif #undef WTF_USE_WININET #define WTF_PLATFORM_CF 1 #define WTF_USE_PTHREADS 0 #endif +#if PLATFORM(MAC) +// ATSUI vs. CoreText +#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) +#define WTF_USE_ATSUI 0 +#define WTF_USE_CORE_TEXT 1 +#else +#define WTF_USE_ATSUI 1 +#define WTF_USE_CORE_TEXT 0 +#endif + +// New theme +#define WTF_USE_NEW_THEME 1 +#endif // PLATFORM(MAC) + #if PLATFORM(SYMBIAN) #undef WIN32 #undef _WIN32 @@ -118,61 +152,36 @@ #define U_HAVE_INTTYPES_H 0 #include <stdio.h> -#include <snprintf.h> #include <limits.h> #include <wtf/MathExtras.h> #endif #if PLATFORM(CHROMIUM) -#define WTF_USE_GOOGLEURL 1 - -#if PLATFORM(DARWIN) - -// Chromium's version of WebCore includes the following Objective-C classes. -// The system-provided WebCore framework may also provide these classes. -// Because of the nature of Objective-C binding (dynamically at runtime), -// it's possible for the Chromium-provided versions to interfere with the -// system-provided versions. This may happen when a system framework attempts -// to use WebCore.framework, such as when converting an HTML-flavored string -// to an NSAttributedString. The solution is to force Objective-C class names -// that would conflict to use alternate names. -// -// TODO(mark): This list will hopefully shrink but may also grow. Periodically -// run "nm libwebcore.a | grep -E '[atsATS] ([+-]\[|\.objc_class_name)'" and -// make sure that everything listed there has the alternate ChromiumWebCoreObjC -// name, and that nothing extraneous is listed here. If all Objective-C can -// be eliminated from Chromium's WebCore library, these defines should be -// removed entirely. - -#define ScrollbarPrefsObserver \ - ChromiumWebCoreObjCScrollbarPrefsObserver -#define WebCoreControlTintObserver \ - ChromiumWebCoreObjCWebCoreControlTintObserver -#define WebCoreRenderThemeNotificationObserver \ - ChromiumWebCoreObjCWebCoreRenderThemeNotificationObserver -#define WebFontCache \ - ChromiumWebCoreObjCWebFontCache - -#else // !PLATFORM(DARWIN) - -// Don't define SKIA on Mac. Undefine other things as well that might get set -// as side-effects. +#if !PLATFORM(DARWIN) +// Define SKIA on non-Mac. #define WTF_PLATFORM_SKIA 1 -#undef WTF_PLATFORM_CG -#undef WTF_PLATFORM_CF - #endif // !PLATFORM(DARWIN) +// WebCore should compile with WTF_CHANGES as WTF does. +#define WTF_CHANGES 1 + +// Use the Googleurl library. +#define WTF_USE_GOOGLEURL 1 + +/* Chromium uses V8 by default */ #if !defined(WTF_USE_V8) #define WTF_USE_V8 1 #endif +// Chromium doesn't use CFNetwork #undef WTF_USE_CFNETWORK + // Upstream Platform.h's #ifdef check for other graphics libraries doesn't // check SKIA, so it falls back on defining CAIRO. Undo that here. -// TODO(evanm): clean this up. +// TODO(yaar): clean this up once config.h.in is upstreamed back to webkit. #undef WTF_PLATFORM_CAIRO + #endif // if PLATFORM(CHROMIUM) #if !defined(WTF_USE_V8) @@ -201,11 +210,3 @@ typedef float CGFloat; #if PLATFORM(WIN) && PLATFORM(CG) #define WTF_USE_SAFARI_THEME 1 #endif - -#ifndef WEBCORE_NAVIGATOR_VENDOR -#ifdef GOOGLE_CHROME_BUILD -#define WEBCORE_NAVIGATOR_VENDOR "Google Inc." -#else -#define WEBCORE_NAVIGATOR_VENDOR "" -#endif // ifdef GOOGLE_CHROME_BUILD -#endif // ifndef WEBCORE_NAVIGATOR_VENDOR diff --git a/webkit/webkit.gyp b/webkit/webkit.gyp index abd28b3..12f7c2f 100644 --- a/webkit/webkit.gyp +++ b/webkit/webkit.gyp @@ -31,6 +31,7 @@ 'BUILDING_CHROMIUM__=1', 'USE_GOOGLE_URL_LIBRARY=1', 'USE_SYSTEM_MALLOC=1', + 'WEBCORE_NAVIGATOR_VENDOR="Google Inc."', ], 'webcore_include_dirs': [ '../third_party/WebKit/WebCore/accessibility', @@ -102,6 +103,28 @@ 'BUILDING_ON_LEOPARD', # Match Safari and Mozilla on Mac x86. 'WEBCORE_NAVIGATOR_PLATFORM="MacIntel"', + + # Chromium's version of WebCore includes the following Objective-C + # classes. The system-provided WebCore framework may also provide + # these classes. Because of the nature of Objective-C binding + # (dynamically at runtime), it's possible for the Chromium-provided + # versions to interfere with the system-provided versions. This may + # happen when a system framework attempts to use WebCore.framework, + # such as when converting an HTML-flavored string to an + # NSAttributedString. The solution is to force Objective-C class + # names that would conflict to use alternate names. + + # TODO(mark) This list will hopefully shrink but may also grow. + # Periodically run: + # nm libwebcore.a | grep -E '[atsATS] ([+-]\[|\.objc_class_name)' + # and make sure that everything listed there has the alternate + # ChromiumWebCoreObjC name, and that nothing extraneous is listed + # here. If all Objective-C can be eliminated from Chromium's WebCore + # library, these defines should be removed entirely. + # TODO(yaar) move these out of command line defines. + 'ScrollbarPrefsObserver=ChromiumWebCoreObjCScrollbarPrefsObserver', + 'WebCoreRenderThemeNotificationObserver=ChromiumWebCoreObjCWebCoreRenderThemeNotificationObserver', + 'WebFontCache=ChromiumWebCoreObjCWebFontCache', ], 'webcore_include_dirs+': [ # platform/graphics/cg and mac needs to come before |