diff options
author | yaar@chromium.org <yaar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-18 17:14:46 +0000 |
---|---|---|
committer | yaar@chromium.org <yaar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-18 17:14:46 +0000 |
commit | 11246b5a8d079c1a1983b9c455a4b4d3107d3c80 (patch) | |
tree | b3835e4070f0a30716176aea40099d6dfdf052c3 /webkit/features.gypi | |
parent | 6d60e9b60fd6f35aeae795baa197895227dff072 (diff) | |
download | chromium_src-11246b5a8d079c1a1983b9c455a4b4d3107d3c80.zip chromium_src-11246b5a8d079c1a1983b9c455a4b4d3107d3c80.tar.gz chromium_src-11246b5a8d079c1a1983b9c455a4b4d3107d3c80.tar.bz2 |
Upstreamings parts of webkit.gyp (step 1)
This is step 1 a multi-step process that is part of the webkit chromium port.
This step includes:
A. Refactoring the wtf, pcre & webcore targets into separate files javascriptcore.gypi and webcore.gyp, which would eventually move upstream.
B. Refactoring the feature_define variables into features.gypi, to allow two sets of feature defines - one for chromium port and one for chromium.
C. Refactoring the config target into config.gyp, since currently both javascriptcore and webcore target depend on it.
Next steps:
2. Eliminate config dependency.
3. Make features.gypi only override built-in variables that live upstream (so we don't have to maintain 2 parallel feature lists).
4. Really move webcore.gyp & javascriptcore.gyp to webkit.org
Review URL: http://codereview.chromium.org/212003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26584 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/features.gypi')
-rw-r--r-- | webkit/features.gypi | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/webkit/features.gypi b/webkit/features.gypi new file mode 100644 index 0000000..9cece5e --- /dev/null +++ b/webkit/features.gypi @@ -0,0 +1,88 @@ +# Copyright (c) 2009 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'variables': { + 'feature_defines': [ + 'ENABLE_CHANNEL_MESSAGING=1', + 'ENABLE_DATABASE=1', + 'ENABLE_DATAGRID=0', + 'ENABLE_OFFLINE_WEB_APPLICATIONS=1', + 'ENABLE_DASHBOARD_SUPPORT=0', + 'ENABLE_DOM_STORAGE=1', + 'ENABLE_JAVASCRIPT_DEBUGGER=0', + 'ENABLE_JSC_MULTIPLE_THREADS=0', + 'ENABLE_ICONDATABASE=0', + 'ENABLE_NOTIFICATIONS=0', + 'ENABLE_XSLT=1', + 'ENABLE_XPATH=1', + 'ENABLE_SHARED_WORKERS=0', + 'ENABLE_SVG=1', + 'ENABLE_SVG_ANIMATION=1', + 'ENABLE_SVG_AS_IMAGE=1', + 'ENABLE_SVG_USE=1', + 'ENABLE_SVG_FOREIGN_OBJECT=1', + 'ENABLE_SVG_FONTS=1', + 'ENABLE_VIDEO=1', + 'ENABLE_WORKERS=1', + ], + 'non_feature_defines': [ + 'BUILDING_CHROMIUM__=1', + 'USE_GOOGLE_URL_LIBRARY=1', + 'USE_SYSTEM_MALLOC=1', + 'WEBCORE_NAVIGATOR_VENDOR="Google Inc."', + ], + 'conditions': [ + ['OS=="linux"', { + 'non_feature_defines': [ + # Mozilla on Linux effectively uses uname -sm, but when running + # 32-bit x86 code on an x86_64 processor, it uses + # "Linux i686 (x86_64)". Matching that would require making a + # run-time determination. + 'WEBCORE_NAVIGATOR_PLATFORM="Linux i686"', + ], + }], + ['OS=="mac"', { + 'non_feature_defines': [ + # Ensure that only Leopard features are used when doing the Mac build. + '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', + + # Use USE_NEW_THEME on Mac. + 'WTF_USE_NEW_THEME=1', + ], + }], + ['OS=="win"', { + 'non_feature_defines': [ + 'CRASH=__debugbreak', + # Match Safari and Mozilla on Windows. + 'WEBCORE_NAVIGATOR_PLATFORM="Win32"', + ], + }], + ], + }, # variables +} |