Commit e6d3cc94 authored by tkent@chromium.org's avatar tkent@chromium.org

2010-08-29 Marc-Antoine Ruel <maruel@chromium.org>

        Reviewed by Kent Tamura.

        Move more common settings to webcore_prerequisites
        https://bugs.webkit.org/show_bug.cgi?id=44812

        * WebCore.gyp/WebCore.gyp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66364 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 0842bd42
2010-08-29 Marc-Antoine Ruel <maruel@chromium.org>
Reviewed by Kent Tamura.
Move more common settings to webcore_prerequisites
https://bugs.webkit.org/show_bug.cgi?id=44812
* WebCore.gyp/WebCore.gyp:
2010-08-29 Darin Adler <darin@apple.com>
Reviewed by Maciej Stachowiak.
......@@ -839,6 +839,9 @@
'<(chromium_src_dir)/third_party/sqlite/sqlite.gyp:sqlite',
'<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:translator_common',
],
# This is needed for mac because of webkit_system_interface. It'd be nice
# if this hard dependency could be split off the rest.
'hard_dependency': 1,
'direct_dependent_settings': {
'defines': [
'WEBCORE_NAVIGATOR_VENDOR="Google Inc."',
......@@ -849,7 +852,87 @@
'<(chromium_src_dir)/gpu',
'<(chromium_src_dir)/third_party/angle/include/GLSLANG',
],
'mac_framework_dirs': [
'$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework/Frameworks',
],
'msvs_disabled_warnings': [
4138, 4244, 4291, 4305, 4344, 4355, 4521, 4099,
],
'scons_line_length' : 1,
'xcode_settings': {
# Some Mac-specific parts of WebKit won't compile without having this
# prefix header injected.
# FIXME: make this a first-class setting.
'GCC_PREFIX_HEADER': '../WebCorePrefix.h',
},
},
'conditions': [
['javascript_engine=="v8"', {
'conditions': [
['inside_chromium_build==1 and OS=="win" and component=="shared_library"', {
'defines': [
'USING_V8_SHARED',
],
}],
],
}],
['OS=="linux" or OS=="freebsd"', {
'cflags': [
# WebCore does not work with strict aliasing enabled.
# https://bugs.webkit.org/show_bug.cgi?id=25864
'-fno-strict-aliasing',
],
}],
['OS=="linux"', {
'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"', {
'defines': [
# 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.
# FIXME: 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.
'ScrollbarPrefsObserver=ChromiumWebCoreObjCScrollbarPrefsObserver',
'WebCoreRenderThemeNotificationObserver=ChromiumWebCoreObjCWebCoreRenderThemeNotificationObserver',
'WebFontCache=ChromiumWebCoreObjCWebFontCache',
],
'include_dirs': [
'../../WebKitLibraries',
],
}],
['OS=="win"', {
'defines': [
# Match Safari and Mozilla on Windows.
'WEBCORE_NAVIGATOR_PLATFORM="Win32"',
'__PRETTY_FUNCTION__=__FUNCTION__',
],
# This is needed because Event.h in this directory is blocked
# by a system header on windows.
'include_dirs++': ['../dom'],
}],
],
},
{
# TODO: To be the remaining, there must be other sibbling projects.
......@@ -860,6 +943,9 @@
'dependencies': [
'webcore_prerequisites',
],
# This is needed for mac because of webkit_system_interface. It'd be nice
# if this hard dependency could be split off the rest.
'hard_dependency': 1,
'sources': [
'<@(webcore_files)',
......@@ -985,32 +1071,11 @@
'../Resources/zoomOutCursor.png',
],
},
'hard_dependency': 1,
'mac_framework_dirs': [
'$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework/Frameworks',
],
'msvs_disabled_warnings': [
4138, 4244, 4291, 4305, 4344, 4355, 4521, 4099,
],
'scons_line_length' : 1,
'xcode_settings': {
# Some Mac-specific parts of WebKit won't compile without having this
# prefix header injected.
# FIXME: make this a first-class setting.
'GCC_PREFIX_HEADER': '../WebCorePrefix.h',
},
'conditions': [
['javascript_engine=="v8"', {
'dependencies': [
'<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
],
'conditions': [
['inside_chromium_build==1 and OS=="win" and component=="shared_library"', {
'defines': [
'USING_V8_SHARED',
],
}],
],
}],
['enable_svg!=0', {
'sources/': [
......@@ -1049,50 +1114,15 @@
['include', 'platform/graphics/chromium/GlyphPageTreeNodeLinux\\.cpp$'],
['include', 'platform/graphics/chromium/SimpleFontDataLinux\\.cpp$'],
],
'cflags': [
# WebCore does not work with strict aliasing enabled.
# https://bugs.webkit.org/show_bug.cgi?id=25864
'-fno-strict-aliasing',
],
}],
['OS=="linux"', {
'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"', {
# Necessary for Mac .mm stuff.
'include_dirs': [
'../../WebKitLibraries',
],
'dependencies': [
'webkit_system_interface',
],
'defines': [
# 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.
# FIXME: 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.
'ScrollbarPrefsObserver=ChromiumWebCoreObjCScrollbarPrefsObserver',
'WebCoreRenderThemeNotificationObserver=ChromiumWebCoreObjCWebCoreRenderThemeNotificationObserver',
'WebFontCache=ChromiumWebCoreObjCWebFontCache',
],
'actions': [
{
# Allow framework-style #include of
......@@ -1107,9 +1137,6 @@
'action': ['cp', '<@(_inputs)', '<@(_outputs)'],
},
],
'include_dirs': [
'../../WebKitLibraries',
],
'sources/': [
# Additional files from the WebCore Mac build that are presently
# used in the WebCore Chromium Mac build too.
......@@ -1225,14 +1252,6 @@
['include', '/SkiaFontWin\\.cpp$'],
['include', '/TransparencyWin\\.cpp$'],
],
'defines': [
# Match Safari and Mozilla on Windows.
'WEBCORE_NAVIGATOR_PLATFORM="Win32"',
'__PRETTY_FUNCTION__=__FUNCTION__',
],
# This is needed because Event.h in this directory is blocked
# by a system header on windows.
'include_dirs++': ['../dom'],
}],
['OS!="linux" and OS!="freebsd"', {
'sources/': [['exclude', '(Gtk|Linux)\\.cpp$']]
......@@ -1246,13 +1265,6 @@
['exclude', '/(Windows|Uniscribe)[^/]*\\.cpp$']
],
}],
['OS!="win" and remove_webcore_debug_symbols==1', {
'configurations': {
'Debug': {
'cflags!': ['-g'],
}
},
}],
],
},
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment