2 # Copyright (C) 2011 Google Inc. All rights reserved.
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
8 # * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 # * Redistributions in binary form must reproduce the above
11 # copyright notice, this list of conditions and the following disclaimer
12 # in the documentation and/or other materials provided with the
14 # * Neither the name of Google Inc. nor the names of its
15 # contributors may be used to endorse or promote products derived from
16 # this software without specific prior written permission.
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 '../bindings/bindings.gypi',
35 '../build/features.gypi',
36 '../build/scripts/scripts.gypi',
37 '../build/win/precompile.gypi',
38 '../modules/modules.gypi',
39 '../platform/blink_platform.gypi',
45 'target_name': 'blink_web',
46 'type': '<(component)',
47 'variables': { 'enable_wexit_time_destructors': 1, },
49 '../config.gyp:config',
50 '../platform/blink_platform.gyp:blink_common',
51 '../core/core.gyp:webcore',
52 '../modules/modules.gyp:modules',
53 '<(DEPTH)/skia/skia.gyp:skia',
54 '<(angle_path)/src/build_angle.gyp:translator',
55 '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
56 '<(DEPTH)/third_party/npapi/npapi.gyp:npapi',
57 '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
59 'export_dependent_settings': [
60 '<(DEPTH)/skia/skia.gyp:skia',
61 '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
62 '<(DEPTH)/third_party/npapi/npapi.gyp:npapi',
63 '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
66 '<(angle_path)/include',
67 '<(DEPTH)/third_party/skia/include/utils',
70 'BLINK_IMPLEMENTATION=1',
77 ['component=="shared_library"', {
79 '../core/core.gyp:webcore_generated',
80 '../core/core.gyp:webcore_testing',
81 '../modules/modules.gyp:modules_testing',
82 '../wtf/wtf_tests.gyp:wtf_unittest_helpers',
83 '<(DEPTH)/base/base.gyp:test_support_base',
84 '<(DEPTH)/testing/gmock.gyp:gmock',
85 '<(DEPTH)/testing/gtest.gyp:gtest',
86 '<(DEPTH)/third_party/icu/icu.gyp:icuuc',
87 '<(DEPTH)/third_party/icu/icu.gyp:icui18n',
88 '<(DEPTH)/third_party/libpng/libpng.gyp:libpng',
89 '<(DEPTH)/third_party/libwebp/libwebp.gyp:libwebp',
90 '<(DEPTH)/third_party/libxml/libxml.gyp:libxml',
91 '<(DEPTH)/third_party/libxslt/libxslt.gyp:libxslt',
92 '<(DEPTH)/third_party/modp_b64/modp_b64.gyp:modp_b64',
93 '<(DEPTH)/third_party/ots/ots.gyp:ots',
94 '<(DEPTH)/third_party/zlib/zlib.gyp:zlib',
95 '<(DEPTH)/url/url.gyp:url_lib',
96 '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
97 '<(libjpeg_gyp_path):libjpeg',
98 # We must not add webkit_support here because of cyclic dependency.
100 'export_dependent_settings': [
101 '<(DEPTH)/url/url.gyp:url_lib',
102 '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
105 # Compile Blink unittest files into blink_web.dll in component build mode
106 # since there're methods that are tested but not exported.
107 # WebUnitTests.* exports an API that runs all the unittests inside
109 '<@(bindings_unittest_files)',
110 '<@(core_unittest_files)',
111 '<@(modules_unittest_files)',
112 # FIXME: the next line should not be needed. We prefer to run these unit tests outside blink_web.dll.
113 '<@(platform_web_unittest_files)',
114 '<@(web_unittest_files)',
115 'WebTestingSupport.cpp',
116 'tests/WebUnitTests.cpp', # Components test runner support.
119 ['OS=="win" or OS=="mac"', {
121 '<(DEPTH)/third_party/nss/nss.gyp:*',
125 # FIXME: It would be nice to enable this in shared builds too,
126 # but the test files have global constructors from the GTEST macro
127 # and we pull in the test files into the blink_web target in the
129 'cflags!': ['-Wglobal-constructors'],
131 'WARNING_CFLAGS!': ['-Wglobal-constructors'],
138 ['incremental_chrome_dll==1', {
139 'UseLibraryDependencyInputs': "true",
147 '<(DEPTH)/build/linux/system.gyp:fontconfig',
151 ['exclude', 'linux/'],
156 '<(DEPTH)/build/linux/system.gyp:x11',
165 ['exclude', 'WebInputEventFactoryAndroid.cpp$'],
171 '$(SDKROOT)/System/Library/Frameworks/Accelerate.framework',
172 '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
175 }, { # else: OS!="mac"
177 ['exclude', 'WebInputEventFactoryMac.mm$'],
178 ['exclude', 'mac/WebScrollbarTheme.cpp$'],
183 ['exclude', 'WebInputEventFactoryWin.cpp$'],
186 ['use_default_render_theme==0', {
188 ['exclude', 'default/WebRenderTheme.cpp'],
192 'direct_dependent_settings': {
197 'target_conditions': [
200 ['include', '^linux/WebFontRendering\\.cpp$'],
206 'action_name': 'PickerCommon',
207 'process_outputs_as_sources': 1,
210 'resources/pickerCommon.css',
211 'resources/pickerCommon.js',
215 'scripts/make-file-arrays.py',
219 '<(SHARED_INTERMEDIATE_DIR)/blink/PickerCommon.h',
220 '<(SHARED_INTERMEDIATE_DIR)/blink/PickerCommon.cpp',
224 'scripts/make-file-arrays.py',
225 '--out-h=<(SHARED_INTERMEDIATE_DIR)/blink/PickerCommon.h',
226 '--out-cpp=<(SHARED_INTERMEDIATE_DIR)/blink/PickerCommon.cpp',
231 'action_name': 'CalendarPicker',
232 'process_outputs_as_sources': 1,
235 'resources/calendarPicker.css',
236 'resources/calendarPicker.js',
237 'resources/pickerButton.css',
238 'resources/suggestionPicker.css',
239 'resources/suggestionPicker.js',
243 'scripts/make-file-arrays.py',
247 '<(SHARED_INTERMEDIATE_DIR)/blink/CalendarPicker.h',
248 '<(SHARED_INTERMEDIATE_DIR)/blink/CalendarPicker.cpp',
252 'scripts/make-file-arrays.py',
253 '--out-h=<(SHARED_INTERMEDIATE_DIR)/blink/CalendarPicker.h',
254 '--out-cpp=<(SHARED_INTERMEDIATE_DIR)/blink/CalendarPicker.cpp',
259 'action_name': 'ColorSuggestionPicker',
260 'process_outputs_as_sources': 1,
263 'resources/colorSuggestionPicker.css',
264 'resources/colorSuggestionPicker.js',
268 'scripts/make-file-arrays.py',
272 '<(SHARED_INTERMEDIATE_DIR)/blink/ColorSuggestionPicker.h',
273 '<(SHARED_INTERMEDIATE_DIR)/blink/ColorSuggestionPicker.cpp',
277 'scripts/make-file-arrays.py',
278 '--out-h=<(SHARED_INTERMEDIATE_DIR)/blink/ColorSuggestionPicker.h',
279 '--out-cpp=<(SHARED_INTERMEDIATE_DIR)/blink/ColorSuggestionPicker.cpp',
286 'target_name': 'webkit_test_support',
288 ['component=="shared_library"', {
291 'type': 'static_library',
293 '../config.gyp:config',
294 '../core/core.gyp:webcore_testing',
295 '../modules/modules.gyp:modules_testing',
296 '../wtf/wtf.gyp:wtf',
297 '<(DEPTH)/skia/skia.gyp:skia',
303 'WebTestingSupport.cpp',
310 ['gcc_version>=46', {
312 # Disable warnings about c++0x compatibility, as some names (such
313 # as nullptr) conflict with upcoming c++0x types.
314 'cflags_cc': ['-Wno-c++0x-compat'],
320 'target_name': 'copy_mesa',
322 'dependencies': ['<(DEPTH)/third_party/mesa/mesa.gyp:osmesa'],
324 'destination': '<(PRODUCT_DIR)/DumpRenderTree.app/Contents/MacOS/',
325 'files': ['<(PRODUCT_DIR)/osmesa.so'],
332 'cflags': ['-Wglobal-constructors'],
334 'WARNING_CFLAGS': ['-Wglobal-constructors'],