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