[Gtk] allow building with css-shaders
[WebKit-https.git] / Source / WebCore / GNUmakefile.am
1 include $(srcdir)/Source/WebCore/GNUmakefile.features.am
2 include $(srcdir)/Source/WebCore/GNUmakefile.list.am
3
4 WEBCORE_CSS_PROPERTY_NAMES := $(WebCore)/css/CSSPropertyNames.in
5 WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in
6
7 webcore_cppflags += \
8         -I$(srcdir)/Source/ThirdParty/ANGLE/src \
9         -I$(srcdir)/Source/ThirdParty/ANGLE/include \
10         -I$(srcdir)/Source/ThirdParty/ANGLE/include/GLSLANG \
11         -I$(srcdir)/Source/WebCore \
12         -I$(srcdir)/Source/WebCore/Modules/filesystem \
13         -I$(srcdir)/Source/WebCore/Modules/gamepad \
14         -I$(srcdir)/Source/WebCore/Modules/geolocation \
15         -I$(srcdir)/Source/WebCore/Modules/indexeddb \
16         -I$(srcdir)/Source/WebCore/Modules/mediasource \
17         -I$(srcdir)/Source/WebCore/Modules/mediastream \
18         -I$(srcdir)/Source/WebCore/Modules/navigatorcontentutils \
19         -I$(srcdir)/Source/WebCore/Modules/notifications \
20         -I$(srcdir)/Source/WebCore/Modules/quota \
21         -I$(srcdir)/Source/WebCore/Modules/webaudio \
22         -I$(srcdir)/Source/WebCore/Modules/webdatabase \
23         -I$(srcdir)/Source/WebCore/Modules/websockets \
24         -I$(srcdir)/Source/WebCore/accessibility \
25         -I$(srcdir)/Source/WebCore/bindings \
26         -I$(srcdir)/Source/WebCore/bindings/generic \
27         -I$(srcdir)/Source/WebCore/bindings/js \
28         -I$(srcdir)/Source/WebCore/bridge \
29         -I$(srcdir)/Source/WebCore/bridge/c \
30         -I$(srcdir)/Source/WebCore/bridge/jni/jsc \
31         -I$(srcdir)/Source/WebCore/bridge/jsc \
32         -I$(srcdir)/Source/WebCore/css \
33         -I$(srcdir)/Source/WebCore/dom \
34         -I$(srcdir)/Source/WebCore/dom/default \
35         -I$(srcdir)/Source/WebCore/editing \
36         -I$(srcdir)/Source/WebCore/fileapi \
37         -I$(srcdir)/Source/WebCore/history \
38         -I$(srcdir)/Source/WebCore/html \
39         -I$(srcdir)/Source/WebCore/html/canvas \
40         -I$(srcdir)/Source/WebCore/html/parser \
41         -I$(srcdir)/Source/WebCore/html/shadow \
42         -I$(srcdir)/Source/WebCore/html/track \
43         -I$(srcdir)/Source/WebCore/inspector \
44         -I$(srcdir)/Source/WebCore/loader \
45         -I$(srcdir)/Source/WebCore/loader/appcache \
46         -I$(srcdir)/Source/WebCore/loader/archive \
47         -I$(srcdir)/Source/WebCore/loader/archive/mhtml \
48         -I$(srcdir)/Source/WebCore/loader/cache \
49         -I$(srcdir)/Source/WebCore/loader/icon \
50         -I$(srcdir)/Source/WebCore/mathml \
51         -I$(srcdir)/Source/WebCore/page \
52         -I$(srcdir)/Source/WebCore/page/animation \
53         -I$(srcdir)/Source/WebCore/page/scrolling \
54         -I$(srcdir)/Source/WebCore/platform \
55         -I$(srcdir)/Source/WebCore/platform/animation \
56         -I$(srcdir)/Source/WebCore/platform/audio \
57         -I$(srcdir)/Source/WebCore/platform/graphics \
58         -I$(srcdir)/Source/WebCore/platform/graphics/filters \
59         -I$(srcdir)/Source/WebCore/platform/graphics/filters/arm \
60         -I$(srcdir)/Source/WebCore/platform/graphics/gpu \
61         -I$(srcdir)/Source/WebCore/platform/graphics/opengl \
62         -I$(srcdir)/Source/WebCore/platform/graphics/opentype \
63         -I$(srcdir)/Source/WebCore/platform/graphics/transforms \
64         -I$(srcdir)/Source/WebCore/platform/image-decoders \
65         -I$(srcdir)/Source/WebCore/platform/image-decoders/bmp \
66         -I$(srcdir)/Source/WebCore/platform/image-decoders/gif \
67         -I$(srcdir)/Source/WebCore/platform/image-decoders/ico \
68         -I$(srcdir)/Source/WebCore/platform/image-decoders/jpeg \
69         -I$(srcdir)/Source/WebCore/platform/image-decoders/webp \
70         -I$(srcdir)/Source/WebCore/platform/image-decoders/png \
71         -I$(srcdir)/Source/WebCore/platform/leveldb \
72         -I$(srcdir)/Source/WebCore/platform/linux \
73         -I$(srcdir)/Source/WebCore/platform/mediastream \
74         -I$(srcdir)/Source/WebCore/platform/mediastream/gstreamer \
75         -I$(srcdir)/Source/WebCore/platform/mock \
76         -I$(srcdir)/Source/WebCore/platform/network \
77         -I$(srcdir)/Source/WebCore/platform/sql \
78         -I$(srcdir)/Source/WebCore/platform/text \
79         -I$(srcdir)/Source/WebCore/platform/text/transcoder \
80         -I$(srcdir)/Source/WebCore/platform/win \
81         -I$(srcdir)/Source/WebCore/plugins \
82         -I$(srcdir)/Source/WebCore/plugins/win \
83         -I$(srcdir)/Source/WebCore/rendering \
84         -I$(srcdir)/Source/WebCore/rendering/mathml \
85         -I$(srcdir)/Source/WebCore/rendering/style \
86         -I$(srcdir)/Source/WebCore/rendering/svg \
87         -I$(srcdir)/Source/WebCore/storage \
88         -I$(srcdir)/Source/WebCore/svg \
89         -I$(srcdir)/Source/WebCore/svg/animation \
90         -I$(srcdir)/Source/WebCore/svg/graphics \
91         -I$(srcdir)/Source/WebCore/svg/graphics/filters \
92         -I$(srcdir)/Source/WebCore/svg/properties \
93         -I$(srcdir)/Source/WebCore/testing \
94         -I$(srcdir)/Source/WebCore/testing/js \
95         -I$(srcdir)/Source/WebCore/websockets \
96         -I$(srcdir)/Source/WebCore/workers \
97         -I$(srcdir)/Source/WebCore/xml \
98         -I$(srcdir)/Source/WebCore/xml/parser \
99         -I$(top_builddir)/WebCore/bindings/js \
100         -I$(top_builddir)/DerivedSources/WebCore \
101         -I$(top_builddir)/DerivedSources \
102         -I$(top_builddir)/DerivedSources/JavaScriptCore \
103         -DDATA_DIR=\"${datadir}\"
104
105 webcoregtk_cppflags += \
106         -DWEBKITGTK_API_VERSION_STRING=\"@WEBKITGTK_API_VERSION@\" \
107         -DWTF_USE_SOUP=1 \
108         -I$(srcdir)/Source/WebCore/accessibility/gtk \
109         -I$(srcdir)/Source/WebCore/loader/gtk \
110         -I$(srcdir)/Source/WebCore/page/gtk \
111         -I$(srcdir)/Source/WebCore/platform/cairo \
112         -I$(srcdir)/Source/WebCore/platform/audio/gstreamer \
113         -I$(srcdir)/Source/WebCore/platform/geoclue \
114         -I$(srcdir)/Source/WebCore/platform/graphics/cairo \
115         -I$(srcdir)/Source/WebCore/platform/graphics/glx \
116         -I$(srcdir)/Source/WebCore/platform/graphics/gstreamer \
117         -I$(srcdir)/Source/WebCore/platform/graphics/gtk \
118         -I$(srcdir)/Source/WebCore/platform/gtk \
119         -I$(srcdir)/Source/WebCore/platform/network/soup \
120         -I$(srcdir)/Source/WebCore/platform/text/enchant
121
122 # ---
123 # Channel mesaging support
124 # ---
125 if ENABLE_CHANNEL_MESSAGING
126 feature_defines_overrides += ENABLE_CHANNEL_MESSAGING=1
127 else
128 feature_defines_overrides += ENABLE_CHANNEL_MESSAGING=0
129 endif # END ENABLE_CHANNEL_MESSAGING
130
131 # ---
132 # FreeType font backend
133 # ---
134 if USE_FREETYPE
135 webcoregtk_cppflags += \
136         -DWTF_USE_FREETYPE=1 \
137         -I$(srcdir)/Source/WebCore/platform/graphics/freetype
138 endif # END USE_FREETYPE
139
140 # ---
141 # Pango font backend
142 # ---
143 if USE_PANGO
144 webcoregtk_cppflags += \
145         -DWTF_USE_PANGO=1 \
146         -I$(srcdir)/Source/WebCore/platform/graphics/pango
147 endif # END USE_PANGO
148
149 # ---
150 # Windows plugin support
151 # ---
152 if TARGET_WIN32
153 webcoregtk_cppflags += \
154         -I$(srcdir)/Source/WebCore/platform/graphics/win
155 endif # END TARGET_WIN32
156
157 # ----
158 # HTML Meter Element
159 # ----
160 if ENABLE_METER_ELEMENT
161 feature_defines_overrides += ENABLE_METER_ELEMENT=1
162 else
163 feature_defines_overrides += ENABLE_METER_ELEMENT=0
164 endif # END ENABLE_METER_ELEMENT
165
166 # ----
167 # HTML Progress Element
168 # ----
169 if ENABLE_PROGRESS_ELEMENT
170 feature_defines_overrides += ENABLE_PROGRESS_ELEMENT=1
171 else
172 feature_defines_overrides += ENABLE_PROGRESS_ELEMENT=0
173 endif # END ENABLE_PROGRESS_ELEMENT
174
175 # ----
176 # JavaScript Debugger/Profiler
177 # ----
178 if ENABLE_JAVASCRIPT_DEBUGGER
179 feature_defines_overrides += ENABLE_JAVASCRIPT_DEBUGGER=1
180 else
181 feature_defines_overrides += ENABLE_JAVASCRIPT_DEBUGGER=0
182 endif # END ENABLE_JAVASCRIPT_DEBUGGER
183
184 # ----
185 # Gamepad support
186 # ---
187 if ENABLE_GAMEPAD
188 feature_defines_overrides += ENABLE_GAMEPAD=1
189 else
190 feature_defines_overrides += ENABLE_GAMEPAD=0
191 endif # END ENABLE_GAMEPAD
192
193 # ----
194 # Database Support
195 # ----
196 if ENABLE_SQL_DATABASE
197 feature_defines_overrides += ENABLE_SQL_DATABASE=1
198 else
199 feature_defines_overrides += ENABLE_SQL_DATABASE=0
200 endif # END ENABLE_SQL_DATABASE
201
202 # ----
203 # Indexed Database API support
204 # ----
205 if ENABLE_INDEXED_DATABASE
206 feature_defines_overrides += ENABLE_INDEXED_DATABASE=1
207 else
208 feature_defines_overrides += ENABLE_INDEXED_DATABASE=0
209 endif # END ENABLE_INDEXED_DATABASE
210
211 if USE_LEVELDB
212 webcore_cppflags += -DWTF_USE_LEVELDB
213 endif # END USE_LEVELDB
214
215 # ----
216 # DOM mutation observer support
217 # ----
218 if ENABLE_MUTATION_OBSERVERS
219 feature_defines_overrides += ENABLE_MUTATION_OBSERVERS=1
220 else
221 feature_defines_overrides += ENABLE_MUTATION_OBSERVERS=0
222 endif # END ENABLE_MUTATION_OBSERVERS
223
224 # ----
225 # Icon Database Support
226 # ----
227 if ENABLE_ICONDATABASE
228 feature_defines_overrides += -DENABLE_ICONDATABASE=1
229 else
230 feature_defines_overrides += -DENABLE_ICONDATABASE=0
231 endif # END ENABLE_ICONDATABASE
232
233 # ----
234 # Video Support
235 # ----
236 if ENABLE_VIDEO
237 feature_defines_overrides += ENABLE_VIDEO=1
238 if USE_GSTREAMER
239 if ENABLE_DEBUG
240 webcore_cppflags += -DGST_DISABLE_DEPRECATED
241 endif # END ENABLE_DEBUG
242 endif # END USE_GSTREAMER
243 else
244 feature_defines_overrides += ENABLE_VIDEO=0
245 endif # END ENABLE_VIDEO
246
247 # ----
248 # Javascript Fullscreen Support
249 # ----
250 if ENABLE_FULLSCREEN_API
251 feature_defines_overrides += ENABLE_FULLSCREEN_API=1
252 else
253 feature_defines_overrides += ENABLE_FULLSCREEN_API=0
254 endif # END ENABLE_FULLSCREEN_API
255
256 # ----
257 # Filters
258 # ----
259 if ENABLE_CSS_FILTERS
260 feature_defines_overrides += ENABLE_CSS_FILTERS=1
261 else
262 feature_defines_overrides += ENABLE_CSS_FILTERS=0
263 endif # END ENABLE_CSS_FILTERS
264
265 # ----
266 # Track Support
267 # ----
268 if ENABLE_VIDEO_TRACK
269 feature_defines_overrides += ENABLE_VIDEO_TRACK=1
270 else
271 feature_defines_overrides += ENABLE_VIDEO_TRACK=0
272 endif # END ENABLE_VIDEO_TRACK
273
274 # ----
275 # Media Stream Support
276 # ----
277 if ENABLE_MEDIA_STREAM
278 feature_defines_overrides += ENABLE_MEDIA_STREAM=1
279 else
280 feature_defines_overrides += ENABLE_MEDIA_STREAM=0
281 endif # END ENABLE_MEDIA_STREAM
282
283 # XPath grammar
284 # NOTE: older versions of bison do not inject an inclusion guard, so we do it
285 $(GENSOURCES_WEBCORE)/XPathGrammar.h: $(GENSOURCES_WEBCORE)/XPathGrammar.cpp
286 $(GENSOURCES_WEBCORE)/XPathGrammar.cpp: $(WebCore)/xml/XPathGrammar.y
287         $(AM_V_GEN)
288         $(AM_V_at)rm -f $(GENSOURCES_WEBCORE)/XPathGrammar.cpp.h $(GENSOURCES_WEBCORE)/XPathGrammar.hpp
289         $(AM_V_at)$(BISON) -d -p xpathyy $< -o $(GENSOURCES_WEBCORE)/XPathGrammar.cpp
290         $(AM_V_at)touch $(GENSOURCES_WEBCORE)/XPathGrammar.cpp.h $(GENSOURCES_WEBCORE)/XPathGrammar.hpp
291         $(AM_V_at)echo '#ifndef XPathGrammar_h' > $(GENSOURCES_WEBCORE)/XPathGrammar.h
292         $(AM_V_at)echo '#define XPathGrammar_h' >> $(GENSOURCES_WEBCORE)/XPathGrammar.h
293         $(AM_V_at)cat $(GENSOURCES_WEBCORE)/XPathGrammar.cpp.h $(GENSOURCES_WEBCORE)/XPathGrammar.hpp >> $(GENSOURCES_WEBCORE)/XPathGrammar.h
294         $(AM_V_at)echo '#endif' >> $(GENSOURCES_WEBCORE)/XPathGrammar.h
295         $(AM_V_at)rm -f $(GENSOURCES_WEBCORE)/XPathGrammar.cpp.h $(GENSOURCES_WEBCORE)/XPathGrammar.hpp
296
297 # ----
298 # XSLT Support
299 # ----
300 if ENABLE_XSLT
301 feature_defines_overrides += ENABLE_XSLT=1
302 else
303 feature_defines_overrides += ENABLE_XSLT=0
304 endif # END ENABLE_XSLT
305
306 # ----
307 # Web Workers support
308 # ----
309 if ENABLE_WORKERS
310 feature_defines_overrides += ENABLE_WORKERS=1
311 else
312 feature_defines_overrides += ENABLE_WORKERS=0
313 endif
314
315 # ---
316 # Shadow DOM support
317 # ---
318 if ENABLE_SHADOW_DOM
319 feature_defines_overrides += ENABLE_SHADOW_DOM=1
320 else
321 feature_defines_overrides += ENABLE_SHADOW_DOM=0
322 endif
323
324 # ---
325 # SharedWorker support
326 # ---
327 if ENABLE_SHARED_WORKERS
328 feature_defines_overrides += ENABLE_SHARED_WORKERS=1
329 else
330 feature_defines_overrides += ENABLE_SHARED_WORKERS=0
331 endif
332
333 # ----
334 # Filters
335 # ----
336 if ENABLE_FILTERS
337 feature_defines_overrides += ENABLE_FILTERS=1
338 else
339 feature_defines_overrides += ENABLE_FILTERS=0
340 endif # END ENABLE_FILTERS
341
342 # ----
343 # CSS box decoration break
344 # ----
345 if ENABLE_CSS_BOX_DECORATION_BREAK
346 feature_defines_overrides += ENABLE_CSS_BOX_DECORATION_BREAK=1
347 else
348 feature_defines_overrides += ENABLE_CSS_BOX_DECORATION_BREAK=0
349 endif # END ENABLE_CSS_BOX_DECORATION_BREAK
350
351 # ----
352 # Regions
353 # ----
354 if ENABLE_CSS_REGIONS
355 feature_defines_overrides += ENABLE_CSS_REGIONS=1
356 else
357 feature_defines_overrides += ENABLE_CSS_REGIONS=0
358 endif # END ENABLE_CSS_REGIONS
359
360 # ----
361 # Exclusions
362 # ----
363 if ENABLE_CSS_EXCLUSIONS
364 feature_defines_overrides += ENABLE_CSS_EXCLUSIONS=1
365 else
366 feature_defines_overrides += ENABLE_CSS_EXCLUSIONS=0
367 endif # END ENABLE_CSS_EXCLUSIONS
368
369 # Shaders
370 # ----
371 if ENABLE_CSS_SHADERS
372 feature_defines_overrides += ENABLE_CSS_SHADERS=1
373 else
374 feature_defines_overrides += ENABLE_CSS_SHADERS=0
375 endif # END ENABLE_CSS_SHADERS
376
377 # ----
378 # Geolocation
379 # ----
380 if ENABLE_GEOLOCATION
381 feature_defines_overrides += ENABLE_GEOLOCATION=1
382 else
383 feature_defines_overrides += ENABLE_GEOLOCATION=0
384 endif # END ENABLE_GEOLOCATION
385
386 # ----
387 # MathML support
388 # ----
389 if ENABLE_MATHML
390 feature_defines_overrides += ENABLE_MATHML=1
391 else
392 feature_defines_overrides += ENABLE_MATHML=0
393 endif # END ENABLE_MATHML
394
395 # MathML tag and attribute names, and element factory
396 DerivedSources/WebCore/MathMLElementFactory.h: DerivedSources/WebCore/MathMLElementFactory.cpp
397 DerivedSources/WebCore/MathMLNames.h: DerivedSources/WebCore/MathMLNames.cpp
398 DerivedSources/WebCore/MathMLElementFactory.cpp DerivedSources/WebCore/MathMLNames.cpp: $(WebCore)/dom/make_names.pl $(WebCore)/mathml/mathtags.in $(WebCore)/mathml/mathattrs.in
399         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --tags $(WebCore)/mathml/mathtags.in --attrs $(WebCore)/mathml/mathattrs.in --factory --wrapperFactory --outputDir "$(GENSOURCES_WEBCORE)"
400
401 # ----
402 # SVG Support
403 #
404 # FIXME: allow a more fine-grained inclusion/generation of sources per SVG feature
405 # ----
406 if ENABLE_SVG
407 feature_defines_overrides += ENABLE_SVG=1
408 WEBCORE_CSS_PROPERTY_NAMES += $(WebCore)/css/SVGCSSPropertyNames.in
409 WEBCORE_CSS_VALUE_KEYWORDS += $(WebCore)/css/SVGCSSValueKeywords.in
410 # SVG Features
411 if ENABLE_SVG_FONTS
412 feature_defines_overrides += ENABLE_SVG_FONTS=1
413 else
414 feature_defines_overrides += ENABLE_SVG_FONTS=0
415 endif
416 else
417 feature_defines_overrides += ENABLE_SVG=0 ENABLE_SVG_FONTS=0
418 endif # END ENABLE_SVG
419
420 # SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled)
421 DerivedSources/WebCore/SVGNames.cpp: DerivedSources/WebCore/SVGElementFactory.cpp
422 DerivedSources/WebCore/JSSVGElementWrapperFactory.cpp: DerivedSources/WebCore/SVGElementFactory.cpp
423 DerivedSources/WebCore/SVGElementFactory.cpp: $(WebCore)/dom/make_names.pl $(WebCore)/svg/svgtags.in $(WebCore)/svg/svgattrs.in
424         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --extraDefines "$(feature_defines)" --factory --wrapperFactory --outputDir "$(GENSOURCES_WEBCORE)"
425
426 # end SVG Features
427
428 DerivedSources/WebCore/XLinkNames.h: DerivedSources/WebCore/XLinkNames.cpp
429 DerivedSources/WebCore/XLinkNames.cpp : $(WebCore)/dom/make_names.pl $(WebCore)/svg/xlinkattrs.in
430         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/svg/xlinkattrs.in --outputDir "$(GENSOURCES_WEBCORE)"
431
432 # ----
433 # Web Audio Support
434 # ----
435 if ENABLE_WEB_AUDIO
436 feature_defines_overrides += ENABLE_WEB_AUDIO=1
437 else
438 feature_defines_overrides += ENABLE_WEB_AUDIO=0
439 endif
440
441 if USE_WEBAUDIO_GSTREAMER
442 webcore_cppflags += -DWTF_USE_WEBAUDIO_GSTREAMER=1
443 endif
444
445 # ----
446 # Web Sockets Support
447 # ----
448 if ENABLE_WEB_SOCKETS
449 feature_defines_overrides += ENABLE_WEB_SOCKETS=1
450 else
451 feature_defines_overrides += ENABLE_WEB_SOCKETS=0
452 endif  # END ENABLE_WEB_SOCKETS
453
454 # ---
455 # Blob support
456 # ---
457 if ENABLE_BLOB
458 feature_defines_overrides += ENABLE_BLOB=1
459 else
460 feature_defines_overrides += ENABLE_BLOB=0
461 endif  # END ENABLE_BLOB
462
463 # ---
464 # Legacy WebKitBlobBuilder support
465 # ---
466 if ENABLE_LEGACY_WEBKIT_BLOB_BUILDER
467 feature_defines_overrides += ENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1
468 else
469 feature_defines_overrides += ENABLE_LEGACY_WEBKIT_BLOB_BUILDER=0
470 endif  # END ENABLE_LEGACY_WEBKIT_BLOB_BUILDER
471
472 # ---
473 # RequestAnimationFrame support
474 # ---
475 if ENABLE_REQUEST_ANIMATION_FRAME
476 feature_defines_overrides += ENABLE_REQUEST_ANIMATION_FRAME=1
477 else
478 feature_defines_overrides += ENABLE_REQUEST_ANIMATION_FRAME=0
479 endif  # END ENABLE_REQUEST_ANIMATION_FRAME
480
481 # ---
482 # 3D canvas (WebGL) support
483 # ---
484 if ENABLE_WEBGL
485 feature_defines_overrides += ENABLE_WEBGL=1
486 else
487 feature_defines_overrides += ENABLE_WEBGL=0
488 endif  # END ENABLE_WEBGL
489
490 # ---
491 # Accelerated compositing support
492 # ---
493 if USE_ACCELERATED_COMPOSITING
494 feature_defines_overrides += ENABLE_3D_RENDERING=1
495 else
496 feature_defines_overrides += ENABLE_3D_RENDERING=0
497 endif  # END USE_ACCELERATED_COMPOSITING
498
499 if USE_TEXTURE_MAPPER_CAIRO
500 webcore_cppflags += \
501         -I$(srcdir)/Source/WebCore/platform/graphics/texmap
502 endif  # END USE_TEXTURE_MAPPER_CAIRO
503
504 if USE_TEXTURE_MAPPER_GL
505 webcore_cppflags += \
506         -I$(srcdir)/Source/WebCore/platform/graphics/texmap
507 endif  # END USETEXTURE_MAPPER_GL
508
509 if USE_CLUTTER
510 webcore_cppflags += \
511         -I$(srcdir)/Source/WebCore/platform/clutter \
512         -I$(srcdir)/Source/WebCore/platform/graphics/clutter
513 endif  # END USE_CLUTTER
514
515 # ---
516 # MHTML support
517 # ---
518 if ENABLE_MHTML
519 feature_defines_overrides += ENABLE_MHTML=1
520 else
521 feature_defines_overrides += ENABLE_MHTML=0
522 endif  # END ENABLE_MHTML
523
524 # ---
525 # Web Timing support
526 # ---
527 if ENABLE_WEB_TIMING
528 feature_defines_overrides += ENABLE_WEB_TIMING=1
529 else
530 feature_defines_overrides += ENABLE_WEB_TIMING=0
531 endif  # END ENABLE_WEB_TIMING
532
533 # ---
534 # HTML iframe seamless attribute support
535 # ---
536 if ENABLE_IFRAME_SEAMLESS
537 feature_defines_overrides += ENABLE_IFRAME_SEAMLESS=1
538 else
539 feature_defines_overrides += ENABLE_IFRAME_SEAMLESS=0
540 endif  # END ENABLE_IFRAME_SEAMLESS
541
542 # ---
543 # Link prefetch support
544 # ---
545 if ENABLE_LINK_PREFETCH
546 feature_defines_overrides += ENABLE_LINK_PREFETCH=1
547 else
548 feature_defines_overrides += ENABLE_LINK_PREFETCH=0
549 endif  # END ENABLE_LINK_PREFETCH
550
551 # ---
552 # Spell check support
553 # ---
554 if ENABLE_SPELLCHECK
555 feature_defines_overrides += ENABLE_SPELLCHECK=1
556 else
557 feature_defines_overrides += ENABLE_SPELLCHECK=0
558 endif  # END ENABLE_SPELLCHECK
559
560 # ---
561 # Unstable features
562 # If unstable features should not be enabled, their defines should be overriden with a 0 value.
563 # ---
564 if !ENABLE_UNSTABLE_FEATURES
565 # FIXME: List unstable features here once their configuration options are removed.
566 feature_defines_unstable +=
567 endif
568
569
570 # Fill the feature_defines variable with all the defines, making it possible
571 # to override the default define value (as set in feature_defines_defaults)
572 # through adding the feature define with the desired value to either
573 # feature_defines_unstable or feature_defines_overrides.
574 feature_defines += $(strip $(foreach bare_define, \
575         $(foreach define,$(feature_defines_defaults), \
576                 $(foreach fvalue,0 1, \
577                         $(if $(findstring =$(fvalue),$(define)),$(patsubst %=$(fvalue),%,$(define))) \
578                 ) \
579         ), \
580         $(if $(findstring $(bare_define), $(feature_defines_unstable)), \
581                 $(filter $(bare_define)=%,$(feature_defines_unstable)), \
582                 $(if $(findstring $(bare_define), $(feature_defines_overrides)), \
583                         $(filter $(bare_define)=%,$(feature_defines_overrides)), \
584                         $(filter $(bare_define)=%,$(feature_defines_defaults)) \
585                 ) \
586         ) \
587 ))
588
589 # Add the feature defines to webcore_cppflags in macro form.
590 webcore_cppflags += $(foreach define,$(feature_defines),-D$(define))
591
592
593 $(WEBCORE_CSS_PROPERTY_NAMES): $(srcdir)/configure.ac $(srcdir)/Source/WebCore/GNUmakefile.am
594
595 $(WEBCORE_CSS_VALUE_KEYWORDS): $(srcdir)/configure.ac $(srcdir)/Source/WebCore/GNUmakefile.am
596
597 DerivedSources/WebCore/CSSPropertyNames.cpp: DerivedSources/WebCore/CSSPropertyNames.h
598 DerivedSources/WebCore/CSSPropertyNames.h: $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/makeprop.pl
599         $(AM_V_GEN)
600         $(AM_V_at)cat $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in
601         $(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makeprop.pl" --defines "$(feature_defines)"
602         $(AM_V_at)mv CSSPropertyNames* $(GENSOURCES_WEBCORE)
603
604 # Lower case all the values, as CSS values are case-insensitive
605 DerivedSources/WebCore/CSSValueKeywords.cpp: DerivedSources/WebCore/CSSValueKeywords.h
606 DerivedSources/WebCore/CSSValueKeywords.h: $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/makevalues.pl
607         $(AM_V_GEN)
608         $(AM_V_at)cat $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in
609         $(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makevalues.pl" --defines "$(feature_defines)"
610         $(AM_V_at)mv CSSValueKeywords* $(GENSOURCES_WEBCORE)
611
612 # XML Viewer CSS
613 DerivedSources/WebCore/XMLViewerCSS.h: $(WebCore)/xml/XMLViewer.css
614         $(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl XMLViewer_css $(WebCore)/xml/XMLViewer.css $(GENSOURCES_WEBCORE)/XMLViewerCSS.h
615
616 # XML Viewer JS
617 DerivedSources/WebCore/XMLViewerJS.h: $(WebCore)/xml/XMLViewer.js
618         $(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl XMLViewer_js $(WebCore)/xml/XMLViewer.js $(GENSOURCES_WEBCORE)/XMLViewerJS.h
619
620 # HTML entity names
621 DerivedSources/WebCore/HTMLEntityTable.cpp: $(WebCore)/html/parser/HTMLEntityNames.in $(WebCore)/html/parser/create-html-entity-table
622         $(AM_V_GEN)$(PYTHON) $(WebCore)/html/parser/create-html-entity-table -o $(GENSOURCES_WEBCORE)/HTMLEntityTable.cpp $(WebCore)/html/parser/HTMLEntityNames.in
623
624 # color names
625 DerivedSources/WebCore/ColorData.cpp: $(WebCore)/platform/ColorData.gperf $(WebCore)/make-hash-tools.pl
626         $(AM_V_GEN)$(PERL) $(WebCore)/make-hash-tools.pl $(GENSOURCES_WEBCORE) $(WebCore)/platform/ColorData.gperf
627
628 # CSS grammar
629
630 # NOTE: older versions of bison do not inject an inclusion guard, so we do it
631 DerivedSources/WebCore/CSSGrammar.h: $(GENSOURCES_WEBCORE)/CSSGrammar.cpp
632 DerivedSources/WebCore/CSSGrammar.cpp: $(WebCore)/css/CSSGrammar.y
633         $(AM_V_GEN)
634         $(AM_V_at)rm -f $(GENSOURCES_WEBCORE)/CSSGrammar.cpp.h $(GENSOURCES_WEBCORE)/CSSGrammar.hpp
635         $(AM_V_at)$(BISON) -d -p cssyy $< -o $(GENSOURCES_WEBCORE)/CSSGrammar.cpp
636         $(AM_V_at)touch $(GENSOURCES_WEBCORE)/CSSGrammar.cpp.h $(GENSOURCES_WEBCORE)/CSSGrammar.hpp
637         $(AM_V_at)echo '#ifndef CSSGrammar_h' > $(GENSOURCES_WEBCORE)/CSSGrammar.h
638         $(AM_V_at)echo '#define CSSGrammar_h' >> $(GENSOURCES_WEBCORE)/CSSGrammar.h
639         $(AM_V_at)cat $(GENSOURCES_WEBCORE)/CSSGrammar.cpp.h $(GENSOURCES_WEBCORE)/CSSGrammar.hpp >> $(GENSOURCES_WEBCORE)/CSSGrammar.h
640         $(AM_V_at)echo '#endif' >> $(GENSOURCES_WEBCORE)/CSSGrammar.h
641         $(AM_V_at)rm -f $(GENSOURCES_WEBCORE)/CSSGrammar.cpp.h $(GENSOURCES_WEBCORE)/CSSGrammar.hpp
642
643 # user agent style sheets
644 USER_AGENT_STYLE_SHEETS = \
645         $(WebCore)/css/html.css \
646         $(WebCore)/css/mathml.css \
647         $(WebCore)/css/quirks.css \
648         $(WebCore)/css/view-source.css \
649         $(WebCore)/css/svg.css \
650         $(WebCore)/css/mediaControls.css \
651         $(WebCore)/css/mediaControlsGtk.css \
652         $(WebCore)/css/fullscreen.css
653
654 # new-style JavaScript bindings
655 SCRIPTS_FOR_GENERATE_BINDINGS = \
656         $(WebCore)/bindings/scripts/CodeGenerator.pm \
657         $(WebCore)/bindings/scripts/IDLParser.pm \
658         $(WebCore)/bindings/scripts/IDLStructure.pm \
659         $(WebCore)/bindings/scripts/InFilesCompiler.pm \
660         $(WebCore)/bindings/scripts/InFilesParser.pm \
661         $(WebCore)/bindings/scripts/generate-bindings.pl \
662         $(WebCore)/bindings/scripts/preprocessor.pm
663
664 SCRIPTS_FOR_PREPROCESS_IDLS = \
665         $(WebCore)/bindings/scripts/IDLParser.pm \
666         $(WebCore)/bindings/scripts/preprocess-idls.pl
667
668 DerivedSources/WebCore/UserAgentStyleSheetsData.cpp: DerivedSources/WebCore/UserAgentStyleSheets.h
669 DerivedSources/WebCore/UserAgentStyleSheets.h: $(WebCore)/css/make-css-file-arrays.pl $(WebCore)/bindings/scripts/preprocessor.pm $(USER_AGENT_STYLE_SHEETS)
670         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $<  --defines "$(feature_defines)" $@ DerivedSources/WebCore/UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS)
671
672 DerivedSources/WebCore/WebKitFontFamilyNames.cpp: DerivedSources/WebCore/WebKitFontFamilyNames.h
673 DerivedSources/WebCore/WebKitFontFamilyNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/css/WebKitFontFamilyNames.in
674         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --fonts $(WebCore)/css/WebKitFontFamilyNames.in --outputDir "$(GENSOURCES_WEBCORE)"
675
676
677 # HTML tag and attribute names
678 DerivedSources/WebCore/JSHTMLElementWrapperFactory.cpp: DerivedSources/WebCore/HTMLElementFactory.cpp
679 DerivedSources/WebCore/HTMLElementFactory.cpp: DerivedSources/WebCore/HTMLElementFactory.h
680 DerivedSources/WebCore/HTMLElementFactory.h: DerivedSources/WebCore/HTMLNames.cpp
681 DerivedSources/WebCore/HTMLNames.cpp: DerivedSources/WebCore/HTMLNames.h
682 DerivedSources/WebCore/HTMLNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/html/HTMLTagNames.in $(WebCore)/html/HTMLAttributeNames.in
683         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --extraDefines "$(feature_defines)" --factory --wrapperFactory --outputDir "$(GENSOURCES_WEBCORE)"
684
685
686 DerivedSources/WebCore/XMLNSNames.cpp DerivedSources/WebCore/XMLNSNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/xml/xmlnsattrs.in
687         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlnsattrs.in --outputDir "$(GENSOURCES_WEBCORE)"
688
689 DerivedSources/WebCore/XMLNames.cpp DerivedSources/WebCore/XMLNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/xml/xmlattrs.in
690         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlattrs.in --outputDir "$(GENSOURCES_WEBCORE)"
691
692 DerivedSources/WebCore/EventFactory.cpp DerivedSources/WebCore/EventHeaders.h DerivedSources/WebCore/EventInterfaces.h: $(WebCore)/dom/make_event_factory.pl $(WebCore)/dom/EventNames.in
693         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --input $(WebCore)/dom/EventNames.in --outputDir "$(GENSOURCES_WEBCORE)"
694
695 DerivedSources/WebCore/EventTargetHeaders.h DerivedSources/WebCore/EventTargetInterfaces.h: $(WebCore)/dom/make_event_factory.pl $(WebCore)/dom/EventTargetFactory.in
696         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --input $(WebCore)/dom/EventTargetFactory.in --outputDir "$(GENSOURCES_WEBCORE)"
697
698 DerivedSources/WebCore/ExceptionCodeDescription.cpp DerivedSources/WebCore/ExceptionCodeDescription.h DerivedSources/WebCore/ExceptionHeaders.h DerivedSources/WebCore/ExceptionInterfaces.h: $(WebCore)/dom/make_dom_exceptions.pl $(WebCore)/dom/DOMExceptions.in
699         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --input $(WebCore)/dom/DOMExceptions.in --outputDir "$(GENSOURCES_WEBCORE)"
700
701 # All Web Inspector generated files are created with this one call to CodeGeneratorInspector.py
702 DerivedSources/WebCore/InspectorProtocolVersion.h : $(WebCore)/inspector/Inspector.json $(WebCore)/inspector/generate-inspector-protocol-version
703         $(AM_V_GEN)$(PYTHON) $(WebCore)/inspector/generate-inspector-protocol-version -o $(GENSOURCES_WEBCORE)/InspectorProtocolVersion.h $(WebCore)/inspector/Inspector.json
704
705 DerivedSources/WebCore/InspectorBackendDispatcher.cpp: $(WebCore)/inspector/Inspector.json $(WebCore)/inspector/CodeGeneratorInspector.py
706         $(AM_V_GEN)$(PYTHON) $(WebCore)/inspector/CodeGeneratorInspector.py $< --output_h_dir $(GENSOURCES_WEBCORE) --output_cpp_dir $(GENSOURCES_WEBCORE)
707 DerivedSources/WebCore/InspectorTypeBuilder.h: DerivedSources/WebCore/InspectorTypeBuilder.cpp
708 DerivedSources/WebCore/InspectorTypeBuilder.cpp: DerivedSources/WebCore/InspectorFrontend.h
709 DerivedSources/WebCore/InspectorFrontend.h: DerivedSources/WebCore/InspectorFrontend.cpp
710 DerivedSources/WebCore/InspectorFrontend.cpp: DerivedSources/WebCore/InspectorBackendCommands.js
711 DerivedSources/WebCore/InspectorBackendCommands.js: DerivedSources/WebCore/InspectorBackendDispatcher.h
712 DerivedSources/WebCore/InspectorBackendDispatcher.h: DerivedSources/WebCore/InspectorBackendDispatcher.cpp
713 DerivedSources/WebCore/InspectorOverlayPage.h: $(WebCore)/inspector/InspectorOverlayPage.html
714         $(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl InspectorOverlayPage_html $(WebCore)/inspector/InspectorOverlayPage.html $(GENSOURCES_WEBCORE)/InspectorOverlayPage.h
715 DerivedSources/WebCore/InjectedScriptSource.h: $(WebCore)/inspector/InjectedScriptSource.js
716         $(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl InjectedScriptSource_js $(WebCore)/inspector/InjectedScriptSource.js $(GENSOURCES_WEBCORE)/InjectedScriptSource.h
717 DerivedSources/WebCore/InjectedScriptWebGLModuleSource.h: $(WebCore)/inspector/InjectedScriptWebGLModuleSource.js
718         $(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl InjectedScriptWebGLModuleSource_js $(WebCore)/inspector/InjectedScriptWebGLModuleSource.js $(GENSOURCES_WEBCORE)/InjectedScriptWebGLModuleSource.h
719
720 if ENABLE_WEB_AUDIO
721 # Installing HRTF database wav files
722 audiodir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/resources/audio/
723 audio_DATA = $(WebCore)/platform/audio/resources/Composite.wav
724 dist_audio_DATA = $(audio_DATA)
725 endif  # END ENABLE_WEB_AUDIO
726
727 # ANGLE tokenizer & parser
728 DerivedSources/ANGLE/glslang.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.l
729         $(AM_V_GEN)$(FLEX) --noline --nounistd --outfile="$@" "$<"
730
731 DerivedSources/ANGLE/glslang_tab.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.y
732         $(AM_V_GEN)$(BISON) --no-lines --defines="DerivedSources/ANGLE/glslang_tab.h" --skeleton=yacc.c --output="$@" $<
733 DerivedSources/ANGLE/glslang_tab.h: DerivedSources/ANGLE/glslang_tab.cpp
734
735 IDL_PATH := \
736     $(WebCore)/Modules/filesystem \
737     $(WebCore)/Modules/gamepad \
738     $(WebCore)/Modules/geolocation \
739     $(WebCore)/Modules/indexeddb \
740     $(WebCore)/Modules/mediasource \
741     $(WebCore)/Modules/mediastream \
742     $(WebCore)/Modules/notifications \
743     $(WebCore)/Modules/quota \
744     $(WebCore)/Modules/webaudio \
745     $(WebCore)/Modules/webdatabase \
746     $(WebCore)/Modules/websockets \
747     $(WebCore)/bindings/js \
748     $(WebCore)/css \
749     $(WebCore)/dom \
750     $(WebCore)/editing \
751     $(WebCore)/fileapi \
752     $(WebCore)/html \
753     $(WebCore)/html/canvas \
754     $(WebCore)/html/shadow \
755     $(WebCore)/html/track \
756     $(WebCore)/inspector \
757     $(WebCore)/loader/appcache \
758     $(WebCore)/page \
759     $(WebCore)/plugins \
760     $(WebCore)/storage \
761     $(WebCore)/svg \
762     $(WebCore)/testing \
763     $(WebCore)/workers \
764     $(WebCore)/xml
765
766 vpath %.idl $(IDL_PATH)
767
768 supplemental_dependency_file = $(top_builddir)/DerivedSources/WebCore/idl_supplemental_dependencies
769 idl_files_list = $(top_builddir)/DerivedSources/WebCore/idl_files_list
770 idl_attributes_file = $(WebCore)/bindings/scripts/IDLAttributes.txt
771
772 .SECONDARY:
773 $(supplemental_dependency_file): $(SCRIPTS_FOR_PREPROCESS_IDLS) $(dom_binding_idls) $(idl_attributes_file)
774         $(AM_V_GEN)
775         $(AM_V_at)echo -n > $(idl_files_list)
776         $(AM_V_at)($(foreach idl, $(dom_binding_idls), echo $(idl) &&) echo -n) >> $(idl_files_list)
777         $(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/preprocess-idls.pl --defines "LANGUAGE_JAVASCRIPT=1 $(feature_defines)" --idlFilesList $(idl_files_list) --supplementalDependencyFile $@ --idlAttributesFile $(idl_attributes_file)
778
779 # This does not appear to work correctly with gnumake unless
780 # it includes an empty command list (the semicolon).
781 DerivedSources/WebCore/JS%.cpp: DerivedSources/WebCore/JS%.h;
782
783 .SECONDARY:
784 DerivedSources/WebCore/JS%.h: %.idl $(SCRIPTS_FOR_GENERATE_BINDINGS) $(WebCore)/bindings/scripts/CodeGeneratorJS.pm $(supplemental_dependency_file)
785         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl $(IDL_PATH:%=--include "%") --outputDir "$(GENSOURCES_WEBCORE)" --defines "LANGUAGE_JAVASCRIPT=1 $(feature_defines)" --generator JS --supplementalDependencyFile $(supplemental_dependency_file) $<
786
787 # See https://bugs.webkit.org/show_bug.cgi?id=76388
788 # We need to introduce a manual dependency to prevent non-generated sources from
789 # trying to build before the generated ones. This can happen if the supplemental
790 # IDL generation takes a long time. The pipe represents an order-only dependency,
791 # which means that GNUmake will only try to build the dependencies first, but
792 # not rebuild all the targets if the dependencies change.
793 $(webkitgtk_sources) $(webkit2_sources) $(webkit2_plugin_process_sources) $(webcore_sources) $(webcoregtk_sources) : | $(supplemental_dependency_file) $(webcore_built_sources)
794
795 noinst_LTLIBRARIES += \
796         libWebCoreModules.la \
797         libWebCore.la
798
799 # Artificial dependency to try to force a relink of the WebCore libraries
800 # When their makefiles change.
801 webcore_lib_for_dep = libWebCore.la
802 $(webcore_lib_for_dep): $(srcdir)/Source/WebCore/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am
803
804 webcoremodules_lib_for_dep = libWebcoreModules.la
805 $(webcoremodules_lib_for_dep): $(srcdir)/Source/WebCore/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am
806
807 nodist_EXTRA_libWebCore_la_SOURCES = \
808         $(webcore_built_nosources)
809
810 nodist_libWebCore_la_SOURCES = \
811         $(webcore_built_sources)
812
813 libWebCore_la_SOURCES = \
814         $(webcore_sources)
815
816 libWebCore_la_CXXFLAGS = \
817         $(SYMBOL_VISIBILITY_INLINES) \
818         $(global_cxxflags)
819
820 libWebCore_la_CFLAGS = \
821         $(SYMBOL_VISIBILITY) \
822         $(global_cflags)
823
824 libWebCore_la_CPPFLAGS = \
825         -DBUILDING_WEBKIT \
826         $(global_cppflags) \
827         $(webcore_cppflags) \
828         $(webcoregtk_cppflags) \
829         $(javascriptcore_cppflags) \
830         -fno-strict-aliasing \
831         $(CAIRO_CFLAGS) \
832         $(CLUTTER_CFLAGS) \
833         $(COVERAGE_CFLAGS) \
834         $(ENCHANT_CFLAGS) \
835         $(GAMEPAD_CFLAGS) \
836         $(GEOCLUE_CFLAGS) \
837         $(GLIB_CFLAGS) \
838         $(GSTREAMER_CFLAGS) \
839         $(LIBSOUP_CFLAGS) \
840         $(LIBXML_CFLAGS) \
841         $(LIBXSLT_CFLAGS) \
842         $(PANGO_CFLAGS) \
843         $(SQLITE3_CFLAGS) \
844         $(UNICODE_CFLAGS) \
845         $(XRENDER_CFLAGS) \
846         $(XT_CFLAGS)
847
848 if TARGET_WIN32
849 # PluginPackageWin.cpp needs the symbols from version dll
850 libWebCore_la_LIBADD = -lversion
851 endif
852
853 libWebCoreModules_la_SOURCES = \
854         $(webcore_modules_sources)
855
856 libWebCoreModules_la_CXXFLAGS = $(libWebCore_la_CXXFLAGS)
857
858 libWebCoreModules_la_CFLAGS = $(libWebCore_la_CFLAGS)
859
860 libWebCoreModules_la_CPPFLAGS = $(libWebCore_la_CPPFLAGS)
861
862 # We have a different library with only the files that require GTK+. It allows us
863 # to build a common WebCore lib and two different gtk WebCore libs depending on
864 # the gtk version. In WeKit2 gtk2 is not supported, but the plugin process needs to
865 # be built using gtk2 because plugins like flash still use gtk2. For WebKit2, we build
866 # the common libWebCore and two libWebCoreGtk, one using gtk3 and the other one using gtk2.
867 noinst_LTLIBRARIES += \
868         libWebCoreGtk.la
869
870 libWebCoreGtk_la_SOURCES = \
871         $(webcoregtk_sources)
872
873 libWebCoreGtk_la_CXXFLAGS = \
874         $(SYMBOL_VISIBILITY_INLINES) \
875         $(global_cxxflags)
876
877 libWebCoreGtk_la_CFLAGS = \
878         $(SYMBOL_VISIBILITY) \
879         $(global_cflags)
880
881 libWebCoreGtk_la_CPPFLAGS = \
882         -DBUILDING_WEBKIT \
883         $(global_cppflags) \
884         $(webcore_cppflags) \
885         $(webcoregtk_cppflags) \
886         $(javascriptcore_cppflags) \
887         -fno-strict-aliasing \
888         $(HILDON_CPPFLAGS) \
889         $(CAIRO_CFLAGS) \
890         $(CLUTTER_CFLAGS) \
891         $(COVERAGE_CFLAGS) \
892         $(ENCHANT_CFLAGS) \
893         $(FARSTREAM_CFLAGS) \
894         $(GAIL_CFLAGS) \
895         $(GAMEPAD_CFLAGS) \
896         $(GEOCLUE_CFLAGS) \
897         $(GLIB_CFLAGS) \
898         $(GSTREAMER_CFLAGS) \
899         $(GTK_CFLAGS) \
900         $(HILDON_CFLAGS) \
901         $(LIBSOUP_CFLAGS) \
902         $(LIBXML_CFLAGS) \
903         $(LIBXSLT_CFLAGS) \
904         $(SQLITE3_CFLAGS) \
905         $(UNICODE_CFLAGS) \
906         $(XCOMPOSITE_CFLAGS) \
907         $(XRENDER_CFLAGS) \
908         $(XT_CFLAGS)
909
910 EXTRA_DIST += \
911         $(shell ls $(srcdir)/Source/WebCore/Modules/filesystem/*.idl) \
912         $(shell ls $(srcdir)/Source/WebCore/Modules/gamepad/*.idl) \
913         $(shell ls $(srcdir)/Source/WebCore/Modules/geolocation/*.idl) \
914         $(shell ls $(srcdir)/Source/WebCore/Modules/indexeddb/*.idl) \
915         $(shell ls $(srcdir)/Source/WebCore/Modules/mediasource/*.idl) \
916         $(shell ls $(srcdir)/Source/WebCore/Modules/mediastream/*.idl) \
917         $(shell ls $(srcdir)/Source/WebCore/Modules/navigatorcontentutils/*.idl) \
918         $(shell ls $(srcdir)/Source/WebCore/Modules/notifications/*.idl) \
919         $(shell ls $(srcdir)/Source/WebCore/Modules/quota/*.idl) \
920         $(shell ls $(srcdir)/Source/WebCore/Modules/webaudio/*.idl) \
921         $(shell ls $(srcdir)/Source/WebCore/Modules/webdatabase/*.idl) \
922         $(shell ls $(srcdir)/Source/WebCore/Modules/websockets/*.idl) \
923         $(shell ls $(srcdir)/Source/WebCore/css/*.idl) \
924         $(shell ls $(srcdir)/Source/WebCore/dom/*.idl) \
925         $(shell ls $(srcdir)/Source/WebCore/editing/*.idl) \
926         $(shell ls $(srcdir)/Source/WebCore/fileapi/*.idl) \
927         $(shell ls $(srcdir)/Source/WebCore/html/canvas/*.idl) \
928         $(shell ls $(srcdir)/Source/WebCore/html/shadow/*.idl) \
929         $(shell ls $(srcdir)/Source/WebCore/html/track/*.idl) \
930         $(shell ls $(srcdir)/Source/WebCore/html/*.idl) \
931         $(shell ls $(srcdir)/Source/WebCore/inspector/*.idl) \
932         $(shell ls $(srcdir)/Source/WebCore/loader/appcache/*.idl) \
933         $(shell ls $(srcdir)/Source/WebCore/page/*.idl) \
934         $(shell ls $(srcdir)/Source/WebCore/plugins/*.idl) \
935         $(shell ls $(srcdir)/Source/WebCore/storage/*.idl) \
936         $(shell ls $(srcdir)/Source/WebCore/svg/*.idl) \
937         $(shell ls $(srcdir)/Source/WebCore/testing/*.idl) \
938         $(shell ls $(srcdir)/Source/WebCore/workers/*.idl) \
939         $(shell ls $(srcdir)/Source/WebCore/xml/*.idl) \
940         Source/ThirdParty/ANGLE/src/compiler/glslang.l \
941         Source/ThirdParty/ANGLE/src/compiler/glslang.y \
942         Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm \
943         Source/WebCore/bindings/scripts/CodeGeneratorJS.pm \
944         Source/WebCore/bindings/scripts/CodeGenerator.pm \
945         Source/WebCore/bindings/scripts/IDLAttributes.txt \
946         Source/WebCore/bindings/scripts/IDLParser.pm \
947         Source/WebCore/bindings/scripts/IDLStructure.pm \
948         Source/WebCore/bindings/scripts/InFilesCompiler.pm \
949         Source/WebCore/bindings/scripts/InFilesParser.pm \
950         Source/WebCore/bindings/scripts/generate-bindings.pl \
951         Source/WebCore/bindings/scripts/gobject-generate-headers.pl \
952         Source/WebCore/bindings/scripts/preprocessor.pm \
953         Source/WebCore/bindings/scripts/preprocess-idls.pl \
954         Source/WebCore/ChangeLog \
955         Source/WebCore/css/CSSGrammar.y \
956         Source/WebCore/css/CSSPropertyNames.in \
957         Source/WebCore/css/CSSValueKeywords.in \
958         Source/WebCore/dom/DOMExceptions.in \
959         Source/WebCore/css/fullscreen.css \
960         Source/WebCore/css/fullscreenQuickTime.css \
961         Source/WebCore/css/html.css \
962         Source/WebCore/css/make-css-file-arrays.pl \
963         Source/WebCore/css/makegrammar.pl \
964         Source/WebCore/css/makeprop.pl \
965         Source/WebCore/css/maketokenizer \
966         Source/WebCore/css/makevalues.pl \
967         Source/WebCore/css/mathml.css \
968         Source/WebCore/css/mediaControls.css \
969         Source/WebCore/css/mediaControlsGtk.css \
970         Source/WebCore/css/quirks.css \
971         Source/WebCore/css/svg.css \
972         Source/WebCore/css/SVGCSSPropertyNames.in \
973         Source/WebCore/css/SVGCSSValueKeywords.in \
974         Source/WebCore/css/view-source.css \
975         Source/WebCore/css/WebKitFontFamilyNames.in \
976         Source/WebCore/dom/EventNames.in \
977         Source/WebCore/dom/EventTargetFactory.in \
978         Source/WebCore/dom/make_dom_exceptions.pl \
979         Source/WebCore/dom/make_event_factory.pl \
980         Source/WebCore/dom/make_names.pl \
981         Source/WebCore/html/HTMLAttributeNames.in \
982         Source/WebCore/html/HTMLTagNames.in \
983         Source/WebCore/html/parser/create-html-entity-table \
984         Source/WebCore/html/parser/HTMLEntityNames.in \
985         Source/WebCore/icu/LICENSE \
986         Source/WebCore/inspector/CodeGeneratorInspector.py \
987         Source/WebCore/inspector/InjectedScriptSource.js \
988         Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js \
989         Source/WebCore/inspector/Inspector.json \
990         Source/WebCore/inspector/Inspector-1.0.json \
991         Source/WebCore/inspector/InspectorOverlayPage.html \
992         Source/WebCore/inspector/generate-inspector-protocol-version \
993         Source/WebCore/inspector/xxd.pl \
994         Source/WebCore/LICENSE-APPLE \
995         Source/WebCore/LICENSE-LGPL-2 \
996         Source/WebCore/LICENSE-LGPL-2.1 \
997         Source/WebCore/make-hash-tools.pl \
998         Source/WebCore/mathml/mathattrs.in \
999         Source/WebCore/mathml/mathtags.in \
1000         Source/WebCore/platform/ColorData.gperf \
1001         Source/WebCore/platform/text/mac/make-charset-table.pl \
1002         Source/WebCore/svg/svgattrs.in \
1003         Source/WebCore/svg/svgtags.in \
1004         Source/WebCore/svg/xlinkattrs.in \
1005         Source/WebCore/xml/xmlattrs.in \
1006         Source/WebCore/xml/xmlnsattrs.in \
1007         Source/WebCore/xml/XMLViewer.css \
1008         Source/WebCore/xml/XMLViewer.js \
1009         Source/WebCore/xml/XPathGrammar.y
1010
1011 # Installing web inspector files
1012 webinspectordir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector
1013 dist_webinspector_DATA = \
1014         $(WebCore)/English.lproj/localizedStrings.js \
1015         DerivedSources/WebCore/InspectorBackendCommands.js \
1016         $(shell ls $(WebCore)/inspector/front-end/*.js) \
1017         $(shell ls $(WebCore)/inspector/front-end/*.html) \
1018         $(shell ls $(WebCore)/inspector/front-end/*.css)
1019
1020 webinspectoruglifyjsdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector/UglifyJS
1021 dist_webinspectoruglifyjs_DATA = \
1022         $(shell ls $(WebCore)/inspector/front-end/UglifyJS/*.js)
1023
1024 webinspectorimagesdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector/Images
1025 dist_webinspectorimages_DATA = \
1026         $(shell ls $(WebCore)/inspector/front-end/Images/*.gif) \
1027         $(shell ls $(WebCore)/inspector/front-end/Images/*.png)
1028
1029 # It seems that $(shell) does not expand when it is a rule dependency, so
1030 # we must redefine this list of copied files with traditional dependency wildcards.
1031 noinst_DATA = ${GENSOURCES_INSPECTOR}/inspector.html
1032 ${GENSOURCES_INSPECTOR}/inspector.html: $(WebCore)/inspector/front-end/*.html \
1033                 $(WebCore)/inspector/front-end/*.js \
1034                 $(WebCore)/inspector/front-end/UglifyJS/*.js \
1035                 $(WebCore)/inspector/front-end/*.css \
1036                 $(WebCore)/inspector/front-end/Images/* \
1037                 DerivedSources/WebCore/InspectorBackendCommands.js \
1038                 $(WebCore)/English.lproj/localizedStrings.js
1039         $(AM_V_GEN)
1040         $(AM_V_at)mkdir -p ${GENSOURCES_INSPECTOR}/UglifyJS
1041         $(AM_V_at)mkdir -p ${GENSOURCES_INSPECTOR}/Images
1042         $(AM_V_at)cp ${dist_webinspector_DATA} ${GENSOURCES_INSPECTOR}
1043         $(AM_V_at)cp ${dist_webinspectoruglifyjs_DATA} ${GENSOURCES_INSPECTOR}/UglifyJS
1044         $(AM_V_at)cp ${dist_webinspectorimages_DATA} ${GENSOURCES_INSPECTOR}/Images
1045
1046 webresourcesdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/images
1047 dist_webresources_DATA = \
1048         $(WebCore)/Resources/textAreaResizeCorner.png \
1049         $(WebCore)/Resources/nullPlugin.png \
1050         $(WebCore)/Resources/urlIcon.png \
1051         $(WebCore)/Resources/missingImage.png \
1052         $(WebCore)/Resources/panIcon.png \
1053         $(WebCore)/Resources/deleteButton.png \
1054         $(WebCore)/Resources/inputSpeech.png