/
webkit.gyp
389 lines (388 loc) · 14.4 KB
/
webkit.gyp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
#
#
# BEFORE YOU MODIFY THIS, READ THIS.
#
#
# We do not include native .gyp files from projects. Why? It's very easy with defines
# and exclusions to just specify what you want, and what you dont.
#
# Files get into here through derived.gypi, the files included
{
'includes':[
'tools/features.gypi',
'tools/sources.gypi',
'tools/derived.gypi',
'tools/common.gypi',
],
'targets': [
{
'target_name':'webkit',
'type':'js_library',
'dependencies':[
'xml',
'jpeg_turbo',
'png',
'freetype',
'harfbuzz',
'cairo',
'curl',
'zlib',
'libpixman',
'fontconfig',
'webcore_xml',
'webcore_wtf',
'webcore_svg',
'webcore_loader',
'webcore_html',
'webcore_dom',
'webcore_css',
'webcore_rendering',
'webcore_page',
'webcore_style',
'webcore_derived',
'webcore_platform',
'webcore_history',
'webcore_editing',
'webcore_storage',
'webcore_angle',
'webcore_support',
],
'sources':[
'<(DEPTH)/src/WebView.h',
'<(DEPTH)/src/WebView.cpp',
'<(DEPTH)/src/Main.cpp',
'<(DEPTH)/src/webkit.api.js',
'<(DEPTH)/src/webkit.pre.js',
'<(DEPTH)/src/webkit.post.js',
],
'defines+':['<@(feature_defines)','CAIRO_HAS_FT_FONT','CAIRO_HAS_FC_FONT','CAIRO_HAS_EGL_FUNCTIONS'],
'include_dirs':['<@(webcore_includes)','<(DEPTH)/src/',],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
'ldflags+':[''],
'jsflags+':[''],
},
{
'target_name':'webcore_support',
'defines+':['<@(feature_defines)','CAIRO_HAS_FT_FONT','CAIRO_HAS_FC_FONT','CAIRO_HAS_EGL_FUNCTIONS'],
'sources':[
'<(DEPTH)/src/WebCoreSupport/ApplicationCacheHostJS.cpp',
'<(DEPTH)/src/WebCoreSupport/ChromeClientJS.cpp',
'<(DEPTH)/src/WebCoreSupport/ChromeClientJS.h',
'<(DEPTH)/src/WebCoreSupport/DocumentLoaderJS.cpp',
'<(DEPTH)/src/WebCoreSupport/DocumentLoaderJS.h',
'<(DEPTH)/src/WebCoreSupport/FileSystemJS.cpp',
'<(DEPTH)/src/WebCoreSupport/FrameJS.cpp',
'<(DEPTH)/src/WebCoreSupport/FrameJS.h',
'<(DEPTH)/src/WebCoreSupport/FrameLoaderClientJS.cpp',
'<(DEPTH)/src/WebCoreSupport/FrameLoaderClientJS.h',
'<(DEPTH)/src/WebCoreSupport/FrameNetworkingContextJS.cpp',
'<(DEPTH)/src/WebCoreSupport/FrameNetworkingContextJS.h',
'<(DEPTH)/src/WebCoreSupport/SharedBufferJS.cpp',
'<(DEPTH)/src/WebCoreSupport/StorageAreaJS.cpp',
'<(DEPTH)/src/WebCoreSupport/StorageJS.cpp',
'<(DEPTH)/src/WebCoreSupport/StorageNamespaceJS.cpp',
'<(DEPTH)/src/WebCoreSupport/RenderThemeJS.cpp',
'<(DEPTH)/src/WebCoreSupport/RenderThemeJS.h',
'<(DEPTH)/src/WebCoreSupport/WebKitJSStrategies.cpp',
'<(DEPTH)/src/WebCoreSupport/WebKitJSStrategies.h',
'<(DEPTH)/src/WebCoreSupport/RuntimeEnabledFeaturesJS.cpp',
'<(DEPTH)/src/WebCoreSupport/RuntimeEnabledFeaturesJS.h',
'<(DEPTH)/src/WebCoreSupport/DebuggerJS.h',
'<(DEPTH)/src/WebCoreSupport/DOMPluginArray.h',
'<(DEPTH)/src/WebCoreSupport/khrplatform.h',
'<(DEPTH)/src/WebCoreSupport/PageBindings.cpp',
'<(DEPTH)/src/WebCoreSupport/PageBindings.h',
'<(DEPTH)/src/WebCoreSupport/PasteboardJS.cpp',
'<(DEPTH)/src/WebCoreSupport/ScriptController.cpp',
'<(DEPTH)/src/WebCoreSupport/ScriptValue.h',
'<(DEPTH)/src/WebCoreSupport/AbstractView.h',
'<(DEPTH)/src/WebCoreSupport/SharedTimer.cpp',
'<(DEPTH)/src/WebCoreSupport/AcceleratedContext.h',
'<(DEPTH)/src/WebCoreSupport/AcceleratedContext.cpp',
'<(DEPTH)/src/WebCoreSupport/WebFrameJS.h',
'<(DEPTH)/src/WebCoreSupport/WebFrameJS.cpp',
'<(DEPTH)/src/WebCoreSupport/Stubs/HTMLPluginElement.cpp',
'<(DEPTH)/src/WebCoreSupport/GraphicsLayerCairo.cpp',
'<(DEPTH)/src/WebCoreSupport/GraphicsLayerCairo.h',
'<(DEPTH)/src/EmscriptenSupport.cpp',
],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)','<(DEPTH)/src/',],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_xml',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_xml_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_wtf',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_wtf_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_svg',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_svg_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_loader',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_loader_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_html',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_html_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_dom',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_dom_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_css',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_css_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_rendering',
'defines+': ['<@(feature_defines)'],
'sources':['<@(webcore_rendering_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_page',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_page_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_style',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_style_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_derived',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_derived_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_platform',
'defines+':[ '<@(feature_defines)', 'CAIRO_HAS_FT_FONT', 'CAIRO_HAS_FC_FONT', 'CAIRO_HAS_EGL_FUNCTIONS', ],
'sources':['<@(webcore_platform_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'], #,'<(DEPTH)/deps/skia/include/core/','<(DEPTH)/deps/skia/include/config/'
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_history',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_history_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name':'webcore_editing',
'defines+':['<@(feature_defines)'],
'sources':['<@(webcore_editing_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name': 'webcore_storage',
'defines+': ['<@(feature_defines)'],
'sources': ['<@(webcore_storage_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name': 'webcore_angle',
'defines+': ['<@(feature_defines)'],
'sources': ['<@(webcore_angle_files)',],
'sources/':[ ['exclude','<(webcore_excludes)'] ],
'include_dirs':['<@(webcore_includes)'],
'cflags+':['-Werror -include ../deps/WebKit/Source/WebCore/WebCorePrefix.h'],
},
{
'target_name': 'xml',
'sources':['<@(libxml2)',],
'include_dirs':[
'<(DEPTH)/deps/zlib', '<(DEPTH)/deps/libxml2/include', '<(DEPTH)/deps/libxml2/config',
],
'sources/':[['exclude','(test|rngparser|trio|runxmlconf|runtest|runsuite|python/|macos/|win32config|nano|elfgccheck|tutorial|win32/|example|doc/|xmlcatalog\\.c$|testlimits\\.c$|gjobread\\.c$|macos_main\\.c$|xmllint\\.c$)'],],
'cflags+':['-Werror'],
},
{
'target_name':'jpeg_turbo',
'sources':['<@(libjpeg_turbo)',],
'sources/':[
['exclude','(cjpeg\\.c$|djpeg\\.c$|example\\.c$|java/|jccolext\\.c$|jcstest\\.c$|jdcolext\\.c$|jdmrgext\\.c$|jpegtran\\.c$|md5cmp\\.c$|rdjpgcom\\.c$|jsimd_arm\\.c$|jsimd_i386\\.c$|jsimd_mips_dspr2_asm\\.h$|jsimd_mips\\.c$|jsimd_x86_64\\.c$|jsimdcfg\\.inc\\.h$|tjbench\\.c$|tjunittest\\.c$|tjutil\\.c$|tjutil\\.h$|turbojpeg-jni\\.c$|wrjpgcom\\.c$)'],
],
'include_dirs': [
'<(DEPTH)/deps/libjpeg_turbo',
'<(DEPTH)/deps/libjpeg_turbo/config',
],
'cflags+':['-Werror'],
},
{
'target_name':'png',
'sources':['<@(libpng)',],
'include_dirs':['<(DEPTH)/deps/libpng', '<(DEPTH)/deps/zlib/' ],
'cxx':'<(emscripten_cc)',
'cflags+':['-Werror'],
},
{
'target_name': 'freetype',
'sources': ['<@(freetype)',],
'sources/': [ ['exclude', '(builds/|util/|/tools|autofit/af|gzip/ad|gzip/inf|gzip/z|/ftmac\\.c$|/ftbase\\.c$|/bdf\\.c$|ftcache\\.c$|cff\\.c$|/type1cid\\.c$|/gxvalid\\.c$|/otvalid\\.c$|pcf\\.c$|pfr\\.c$|/raster\\.c$|sfnt\\.c$|/smooth\\.c$|/truetype\\.c$|/type1\\.c$|/type42\\.c$|ftzopen\\.c$|/psaux\\.c$|/pshinter\\.c$|/psnames\\.c$|ttsbit0\\.c$|/gxvfgen\\.c$|/infutil\\.c$)'] ],
'defines+': [
'FT2_BUILD_LIBRARY',
'FT_CONFIG_CONFIG_H=<ftconfig.h>',
],
'include_dirs': [
'<(DEPTH)/deps/freetype',
'<(DEPTH)/deps/freetype/include',
'<(DEPTH)/deps/freetype/include/freetype/config',
'<(DEPTH)/deps/zlib'
],
'cflags+':['-Werror'],
},
{
'target_name':'libpixman',
'defines': ['HAVE_CONFIG_H','PIXMAN_NO_TLS'],
'sources': ['<@(pixman)',],
'sources/': [ ['exclude', '(demos/|test/|pixman-sse2\\.c$|pixman-ssse3\\.c$|pixman-vmx\\.c$|pixman-region\\.c$)'] ],
'include_dirs': [
'<(DEPTH)/deps/pixman',
'<(DEPTH)/deps/pixman/pixman',
],
'cxx':'<(emscripten_cc)',
'cflags+':['-Werror'],
},
{
'target_name':'harfbuzz',
'defines': ['HB_OT','HB_NO_MT','HAVE_OT',],
'sources': ['<@(harfbuzz_files)',],
'sources/': [ ['exclude', '(glib|coretext|icu|gobject|io1|jcstest)'] ],
'include_dirs': [
'<(DEPTH)/deps/harfbuzz',
'<(DEPTH)/deps/freetype',
'<(DEPTH)/deps/freetype/include',
'<(DEPTH)/deps/freetype/include/freetype/config/',
],
'cxx':'<(emscripten_cc)',
'cflags+':['-Werror'],
},
{
'target_name': 'cairo',
'defines+': ['CAIRO_NO_MUTEX','HAVE_CONFIG_H'], #,'PIXMAN_NO_TLS','HAVE_UINT64_T'
'sources': ['<@(cairo)',],
'sources/': [['exclude', '(prefs/|perf/|util/|test/|os2|win32|beos|qt|boilerplate|arm-|sse2|pdf|quartz|script-|wgl|xcb|vg-|-drm|skia-|tee-|xlib-|xml-|-vmx|utils/|cogl|directfb-|glx-|check-has-hidden|perceptualdiff\\.c$|cairo-ps-surface\\.c$|cairo-pdf-surface\\.c$|cairo-svg-surface\\.c$|cairo-time\\.c$|/test-|check-link\\.c$)'],],
'include_dirs': [
'<(DEPTH)/deps/cairo',
'<(DEPTH)/deps/cairo/src',
'<(DEPTH)/deps/cairo/pixman',
'<(DEPTH)/deps/cairo/config',
'<(DEPTH)/deps/zlib',
'<(DEPTH)/deps/libpng/',
'<(DEPTH)/deps/freetype',
'<(DEPTH)/deps/freetype/include',
'<(DEPTH)/deps/freetype/include/freetype/config/',
'<(DEPTH)/deps/fontconfig',
'<(DEPTH)/deps/pixman/pixman',
'<(DEPTH)/src/WebCoreSupport/',
],
'cxx':'<(emscripten_cc)',
'cflags+':['-Werror'],
},
{
'target_name': 'fontconfig',
'defines+': ['FONTCONFIG_PATH="/usr/lib/fontconfig/"','FC_CACHEDIR="/usr/lib/fontconfig/cache"','ENABLE_LIBXML2'],
'sources': ['<@(fontconfig_files)',],
'include_dirs': [
'<(DEPTH)/deps/fontconfig',
'<(DEPTH)/deps/fontconfig/src',
'<(DEPTH)/deps/fontconfig/config',
'<(DEPTH)/deps/freetype/',
'<(DEPTH)/deps/freetype/include',
'<(DEPTH)/deps/freetype/include/freetype/config/',
'<(DEPTH)/deps/libxml2/include/',
'<(DEPTH)/deps/skia/third_party/fontconfig/config/fc-glyphname/'
],
'cxx':'<(emscripten_cc)',
'cflags+':['-Werror -include ../deps/fontconfig/config/config.h'],
},
{
'target_name': 'curl',
'sources': ['<@(curl)',],
'sources/': [['exclude','(docs/|m4/|packages/|perl/|tests/|vs/|winbuild/|CMake/|tool_|vtls/|macos/)'],],
'include_dirs': [
'<(DEPTH)/deps/zlib',
'<(DEPTH)/deps/curl',
'<(DEPTH)/deps/curl/include',
'<(DEPTH)/deps/curl/lib',
],
'cxx':'<(emscripten_cc)',
'cflags+':['-Werror'],
},
{
'target_name':'zlib',
'sources':['<@(zlib_files)'],
'include_dirs':['<(DEPTH)/deps/zlib',],
'cxx':'<(emscripten_cc)',
'cflags+':['-Werror'],
},
#'sources/': [['exclude', '(fcobjs.c$)'],],
#{
# 'target_name':'webcore_derived_sources',
# 'type':'none',
# 'sources':[
# '<(DEPTH)/WebKit/Source/WebCore/dom/EventNames.in',
# '<(DEPTH)/WebKit/Source/WebCore/DerivedSources.make',
# ],
# 'actions':[
# {
# 'action_name':'generate',
# 'inputs':['<(_sources)'],
# 'outputs':['<(DEPTH)/src/derived/derived.STAMP'],
# 'action':['bash -c "/usr/bin/perl -I <(DEPTH)/deps/WebKit/Source/WebCore/bindings/scripts <(DEPTH)/deps/WebKit/Source/WebCore/dom/make_event_factory.pl --input <(DEPTH)/deps/WebKit/Source/WebCore/dom/EventNames.in --outputDir=<(DEPTH)/webcore_bindings/derived ; export SRCROOT=<(DEPTH)/deps/WebKit/Source/WebCore ; export SOURCE_ROOT=<(DEPTH)/deps/WebKit/Source/WebCore ; export WebCore=<(DEPTH)/deps/WebKit/Source/WebCore ; export InspectorScripts=<(DEPTH)/deps/WebKit/Source/JavaScriptCore/inspector/scripts/ ; make -C <(DEPTH)/src/derived -f <(DEPTH)/deps/WebKit/Source/WebCore/DerivedSources.make ; touch <(DEPTH)/src/derived/derived.STAMP'],
# },
# ],
#}
],
}