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