1 include $(srcdir)/Source/WebCore/GNUmakefile.list.am
6 WEBCORE_CSS_PROPERTY_NAMES := $(WebCore)/css/CSSPropertyNames.in
7 WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in
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/accessibility \
15 -I$(srcdir)/Source/WebCore/bindings \
16 -I$(srcdir)/Source/WebCore/bindings/generic \
17 -I$(srcdir)/Source/WebCore/bindings/js \
18 -I$(srcdir)/Source/WebCore/bindings/js/specialization \
19 -I$(srcdir)/Source/WebCore/bridge \
20 -I$(srcdir)/Source/WebCore/bridge/c \
21 -I$(srcdir)/Source/WebCore/bridge/jni/jsc \
22 -I$(srcdir)/Source/WebCore/bridge/jsc \
23 -I$(srcdir)/Source/WebCore/css \
24 -I$(srcdir)/Source/WebCore/dom \
25 -I$(srcdir)/Source/WebCore/dom/default \
26 -I$(srcdir)/Source/WebCore/editing \
27 -I$(srcdir)/Source/WebCore/fileapi \
28 -I$(srcdir)/Source/WebCore/history \
29 -I$(srcdir)/Source/WebCore/html \
30 -I$(srcdir)/Source/WebCore/html/canvas \
31 -I$(srcdir)/Source/WebCore/html/parser \
32 -I$(srcdir)/Source/WebCore/html/shadow \
33 -I$(srcdir)/Source/WebCore/html/track \
34 -I$(srcdir)/Source/WebCore/inspector \
35 -I$(srcdir)/Source/WebCore/loader \
36 -I$(srcdir)/Source/WebCore/loader/appcache \
37 -I$(srcdir)/Source/WebCore/loader/archive \
38 -I$(srcdir)/Source/WebCore/loader/cache \
39 -I$(srcdir)/Source/WebCore/loader/icon \
40 -I$(srcdir)/Source/WebCore/mathml \
41 -I$(srcdir)/Source/WebCore/notifications \
42 -I$(srcdir)/Source/WebCore/p2p \
43 -I$(srcdir)/Source/WebCore/page \
44 -I$(srcdir)/Source/WebCore/page/animation \
45 -I$(srcdir)/Source/WebCore/platform \
46 -I$(srcdir)/Source/WebCore/platform/animation \
47 -I$(srcdir)/Source/WebCore/platform/audio \
48 -I$(srcdir)/Source/WebCore/platform/graphics \
49 -I$(srcdir)/Source/WebCore/platform/graphics/filters \
50 -I$(srcdir)/Source/WebCore/platform/graphics/filters/arm \
51 -I$(srcdir)/Source/WebCore/platform/graphics/gpu \
52 -I$(srcdir)/Source/WebCore/platform/graphics/opengl \
53 -I$(srcdir)/Source/WebCore/platform/graphics/opentype \
54 -I$(srcdir)/Source/WebCore/platform/graphics/transforms \
55 -I$(srcdir)/Source/WebCore/platform/image-decoders \
56 -I$(srcdir)/Source/WebCore/platform/image-decoders/bmp \
57 -I$(srcdir)/Source/WebCore/platform/image-decoders/gif \
58 -I$(srcdir)/Source/WebCore/platform/image-decoders/ico \
59 -I$(srcdir)/Source/WebCore/platform/image-decoders/jpeg \
60 -I$(srcdir)/Source/WebCore/platform/image-decoders/webp \
61 -I$(srcdir)/Source/WebCore/platform/image-decoders/png \
62 -I$(srcdir)/Source/WebCore/platform/leveldb \
63 -I$(srcdir)/Source/WebCore/platform/mediastream \
64 -I$(srcdir)/Source/WebCore/platform/mock \
65 -I$(srcdir)/Source/WebCore/platform/network \
66 -I$(srcdir)/Source/WebCore/platform/sql \
67 -I$(srcdir)/Source/WebCore/platform/text \
68 -I$(srcdir)/Source/WebCore/platform/text/transcoder \
69 -I$(srcdir)/Source/WebCore/platform/win \
70 -I$(srcdir)/Source/WebCore/plugins \
71 -I$(srcdir)/Source/WebCore/plugins/win \
72 -I$(srcdir)/Source/WebCore/rendering \
73 -I$(srcdir)/Source/WebCore/rendering/mathml \
74 -I$(srcdir)/Source/WebCore/rendering/style \
75 -I$(srcdir)/Source/WebCore/rendering/svg \
76 -I$(srcdir)/Source/WebCore/storage \
77 -I$(srcdir)/Source/WebCore/svg \
78 -I$(srcdir)/Source/WebCore/svg/animation \
79 -I$(srcdir)/Source/WebCore/svg/graphics \
80 -I$(srcdir)/Source/WebCore/svg/graphics/filters \
81 -I$(srcdir)/Source/WebCore/svg/properties \
82 -I$(srcdir)/Source/WebCore/testing \
83 -I$(srcdir)/Source/WebCore/testing/js \
84 -I$(srcdir)/Source/WebCore/webaudio \
85 -I$(srcdir)/Source/WebCore/websockets \
86 -I$(srcdir)/Source/WebCore/workers \
87 -I$(srcdir)/Source/WebCore/xml \
88 -I$(srcdir)/Source/WebCore/xml/parser \
89 -I$(top_builddir)/WebCore/bindings/js \
90 -I$(top_builddir)/DerivedSources/WebCore \
91 -I$(top_builddir)/DerivedSources \
92 -I$(top_builddir)/DerivedSources/JavaScriptCore \
93 -DDATA_DIR=\"${datadir}\"
95 webcoregtk_cppflags += \
96 -DWEBKITGTK_API_VERSION_STRING=\"@WEBKITGTK_API_VERSION@\" \
98 -I$(srcdir)/Source/WebCore/accessibility/gtk \
99 -I$(srcdir)/Source/WebCore/loader/gtk \
100 -I$(srcdir)/Source/WebCore/page/gtk \
101 -I$(srcdir)/Source/WebCore/platform/cairo \
102 -I$(srcdir)/Source/WebCore/platform/graphics/cairo \
103 -I$(srcdir)/Source/WebCore/platform/graphics/gstreamer \
104 -I$(srcdir)/Source/WebCore/platform/graphics/gtk \
105 -I$(srcdir)/Source/WebCore/platform/gtk \
106 -I$(srcdir)/Source/WebCore/platform/network/soup
109 # Channel mesaging support
111 if ENABLE_CHANNEL_MESSAGING
112 FEATURE_DEFINES += ENABLE_CHANNEL_MESSAGING=1
113 webcore_cppflags += -DENABLE_CHANNEL_MESSAGING=1
114 endif # END ENABLE_CHANNEL_MESSAGING
117 # Fast Mobile Scrolling
119 if ENABLE_FAST_MOBILE_SCROLLING
120 FEATURE_DEFINES += ENABLE_FAST_MOBILE_SCROLLING=1
121 webcore_cppflags += -DENABLE_FAST_MOBILE_SCROLLING=1
122 endif # END ENABLE_FAST_MOBILE_SCROLLING
125 # FreeType font backend
128 webcoregtk_cppflags += \
129 -DWTF_USE_FREETYPE=1 \
130 -I$(srcdir)/Source/WebCore/platform/graphics/freetype
131 endif # END USE_FREETYPE
137 webcoregtk_cppflags += \
139 -I$(srcdir)/Source/WebCore/platform/graphics/pango
140 endif # END USE_PANGO
143 # HTML Details Element
146 FEATURE_DEFINES += ENABLE_DETAILS=1
147 webcore_cppflags += -DENABLE_DETAILS=1
148 endif # END ENABLE_DETAILS
154 FEATURE_DEFINES += ENABLE_METER_TAG=1
155 webcore_cppflags += -DENABLE_METER_TAG=1
156 endif # END ENABLE_METER_TAG
159 # HTML Progress Element
161 if ENABLE_PROGRESS_TAG
162 FEATURE_DEFINES += ENABLE_PROGRESS_TAG=1
163 webcore_cppflags += -DENABLE_PROGRESS_TAG=1
164 endif # END ENABLE_PROGRESS_TAG
167 # JavaScript Debugger/Profiler
169 if ENABLE_JAVASCRIPT_DEBUGGER
170 FEATURE_DEFINES += ENABLE_JAVASCRIPT_DEBUGGER=1
171 webcore_cppflags += -DENABLE_JAVASCRIPT_DEBUGGER=1
173 webcore_cppflags += -DENABLE_JAVASCRIPT_DEBUGGER=0
174 endif # END ENABLE_JAVASCRIPT_DEBUGGER
180 FEATURE_DEFINES += ENABLE_GAMEPAD=1
181 webcore_cppflags += -DENABLE_GAMEPAD=1
183 webcore_cppflags += -DENABLE_GAMEPAD=0
184 endif # END ENABLE_GAMEPAD
189 if ENABLE_SQL_DATABASE
190 FEATURE_DEFINES += ENABLE_SQL_DATABASE=1
191 webcore_cppflags += -DENABLE_SQL_DATABASE=1
193 webcore_cppflags += -DENABLE_SQL_DATABASE=0
194 endif # END ENABLE_SQL_DATABASE
197 # HTML5 datalist Support
200 FEATURE_DEFINES += ENABLE_DATALIST=1
201 HTML_FEATURES += ENABLE_DATALIST=1
202 webcore_cppflags += -DENABLE_DATALIST=1
203 endif # END ENABLE_DATALIST
206 # HTML5 data transfer items support
208 if ENABLE_DATA_TRANSFER_ITEMS
209 FEATURE_DEFINES += ENABLE_DATA_TRANSFER_ITEMS=1
210 webcore_cppflags += -DENABLE_DATA_TRANSFER_ITEMS=1
211 endif # END ENABLE_DATA_TRANSFER_ITEMS
214 # Indexed Database API support
216 if ENABLE_INDEXED_DATABASE
217 FEATURE_DEFINES += ENABLE_INDEXED_DATABASE=1
218 webcore_cppflags += -DENABLE_INDEXED_DATABASE=1
219 endif # END ENABLE_INDEXED_DATABASE
222 # Support for <input type="file" directory>
224 if ENABLE_DIRECTORY_UPLOAD
225 FEATURE_DEFINES += ENABLE_DIRECTORY_UPLOAD=1
226 webcore_cppflags += -DENABLE_DIRECTORY_UPLOAD=1
228 webcore_cppflags += -DENABLE_DIRECTORY_UPLOAD=0
229 endif # END ENABLE_DIRECTORY_UPLOAD
232 # DOM mutation observer support
234 if ENABLE_MUTATION_OBSERVERS
235 FEATURE_DEFINES += ENABLE_MUTATION_OBSERVERS=1
236 webcore_cppflags += -DENABLE_MUTATION_OBSERVERS=1
237 endif # END ENABLE_MUTATION_OBSERVERS
240 # FileSystem API support
242 if ENABLE_FILE_SYSTEM
243 FEATURE_DEFINES += ENABLE_FILE_SYSTEM=1
244 webcore_cppflags += -DENABLE_FILE_SYSTEM=1
245 endif # END ENABLE_FILE_SYSTEM
251 FEATURE_DEFINES += ENABLE_QUOTA=1
252 webcore_cppflags += -DENABLE_QUOTA=1
253 webcore_built_sources += \
254 DerivedSources/WebCore/JSStorageInfo.cpp \
255 DerivedSources/WebCore/JSStorageInfo.h \
256 DerivedSources/WebCore/JSStorageInfoErrorCallback.cpp \
257 DerivedSources/WebCore/JSStorageInfoErrorCallback.h \
258 DerivedSources/WebCore/JSStorageInfoQuotaCallback.cpp \
259 DerivedSources/WebCore/JSStorageInfoQuotaCallback.h \
260 DerivedSources/WebCore/JSStorageInfoUsageCallback.cpp \
261 DerivedSources/WebCore/JSStorageInfoUsageCallback.h
262 endif # END ENABLE_QUOTA
267 if ENABLE_TOUCH_ICON_LOADING
268 FEATURE_DEFINES += ENABLE_TOUCH_ICON_LOADING=1
269 webcore_cppflags += -DENABLE_TOUCH_ICON_LOADING=1
271 webcore_cppflags += -DENABLE_TOUCH_ICON_LOADING=0
272 endif # END ENABLE_TOUCH_ICON_LOADING
275 # Color Input API support
277 if ENABLE_INPUT_COLOR
278 FEATURE_DEFINES += ENABLE_INPUT_COLOR=1
279 webcore_cppflags += -DENABLE_INPUT_COLOR=1
281 webcore_cppflags += -DENABLE_INPUT_COLOR=0
282 endif # END ENABLE_INPUT_COLOR
285 # Speech Input API support
287 if ENABLE_INPUT_SPEECH
288 FEATURE_DEFINES += ENABLE_INPUT_SPEECH=1
289 webcore_cppflags += -DENABLE_INPUT_SPEECH=1
291 webcore_cppflags += -DENABLE_INPUT_SPEECH=0
292 endif # END ENABLE_INPUT_SPEECH
295 # Icon Database Support
297 if ENABLE_ICONDATABASE
298 webcore_cppflags += -DENABLE_ICONDATABASE=1
300 webcore_cppflags += -DENABLE_ICONDATABASE=0
301 endif # END ENABLE_ICONDATABASE
306 if ENABLE_ORIENTATION_EVENTS
307 FEATURE_DEFINES += ENABLE_ORIENTATION_EVENTS=1
308 webcore_cppflags += -DENABLE_ORIENTATION_EVENTS=1
309 endif # END ENABLE_ORIENTATION_EVENTS
315 FEATURE_DEFINES += ENABLE_VIDEO=1
316 HTML_FEATURES += ENABLE_VIDEO=1
317 webcore_cppflags += -DENABLE_VIDEO=1
321 webcore_cppflags += -DGST_DISABLE_DEPRECATED
322 endif # END ENABLE_DEBUG
324 -lgstinterfaces-0.10 \
328 endif # END USE_GSTREAMER
329 endif # END ENABLE_VIDEO
332 # Media Source Support
334 if ENABLE_MEDIA_SOURCE
335 FEATURE_DEFINES += ENABLE_MEDIA_SOURCE=1
336 webcore_cppflags += -DENABLE_MEDIA_SOURCE=1
338 webcore_cppflags += -DENABLE_MEDIA_SOURCE=0
339 endif # END ENABLE_MEDIA_SOURCE
342 # Media Statistics Support
344 if ENABLE_MEDIA_STATISTICS
345 FEATURE_DEFINES += ENABLE_MEDIA_STATISTICS=1
346 webcore_cppflags += -DENABLE_MEDIA_STATISTICS=1
348 webcore_cppflags += -DENABLE_MEDIA_STATISTICS=0
349 endif # END ENABLE_MEDIA_STATISTICS
352 # Javascript Fullscreen Support
354 if ENABLE_FULLSCREEN_API
355 FEATURE_DEFINES += ENABLE_FULLSCREEN_API=1
356 webcore_cppflags += -DENABLE_FULLSCREEN_API=1
357 endif # END ENABLE_FULLSCREEN_API
362 if ENABLE_VIDEO_TRACK
363 FEATURE_DEFINES += ENABLE_VIDEO_TRACK=1
364 webcore_cppflags += -DENABLE_VIDEO_TRACK=1
366 webcore_cppflags += -DENABLE_VIDEO_TRACK=0
367 endif # END ENABLE_VIDEO_TRACK
370 # Media Stream Support
372 if ENABLE_MEDIA_STREAM
373 FEATURE_DEFINES += ENABLE_MEDIA_STREAM=1
374 webcore_cppflags += -DENABLE_MEDIA_STREAM=1
376 webcore_cppflags += -DENABLE_MEDIA_STREAM=0
377 endif # END ENABLE_MEDIA_STREAM
383 FEATURE_DEFINES += ENABLE_XPATH=1
384 webcore_cppflags += -DENABLE_XPATH=1
387 # NOTE: older versions of bison do not inject an inclusion guard, so we do it
388 $(GENSOURCES_WEBCORE)/XPathGrammar.h: $(GENSOURCES_WEBCORE)/XPathGrammar.cpp
389 $(GENSOURCES_WEBCORE)/XPathGrammar.cpp: $(WebCore)/xml/XPathGrammar.y
390 rm -f $(GENSOURCES_WEBCORE)/XPathGrammar.cpp.h $(GENSOURCES_WEBCORE)/XPathGrammar.hpp
391 $(BISON) -d -p xpathyy $< -o $(GENSOURCES_WEBCORE)/XPathGrammar.cpp
392 touch $(GENSOURCES_WEBCORE)/XPathGrammar.cpp.h $(GENSOURCES_WEBCORE)/XPathGrammar.hpp
393 echo '#ifndef XPathGrammar_h' > $(GENSOURCES_WEBCORE)/XPathGrammar.h
394 echo '#define XPathGrammar_h' >> $(GENSOURCES_WEBCORE)/XPathGrammar.h
395 cat $(GENSOURCES_WEBCORE)/XPathGrammar.cpp.h $(GENSOURCES_WEBCORE)/XPathGrammar.hpp >> $(GENSOURCES_WEBCORE)/XPathGrammar.h
396 echo '#endif' >> $(GENSOURCES_WEBCORE)/XPathGrammar.h
397 rm -f $(GENSOURCES_WEBCORE)/XPathGrammar.cpp.h $(GENSOURCES_WEBCORE)/XPathGrammar.hpp
398 endif # END ENABLE_XPATH
404 FEATURE_DEFINES += ENABLE_XSLT=1
405 webcore_cppflags += -DENABLE_XSLT=1
406 endif # END ENABLE_XSLT
409 # Web Workers support
412 FEATURE_DEFINES += ENABLE_WORKERS=1
413 webcore_cppflags += -DENABLE_WORKERS=1
417 # SharedWorker support
419 if ENABLE_SHARED_WORKERS
420 FEATURE_DEFINES += ENABLE_SHARED_WORKERS=1
421 webcore_cppflags += -DENABLE_SHARED_WORKERS=1
428 FEATURE_DEFINES += ENABLE_FILTERS=1
429 webcore_cppflags += -DENABLE_FILTERS=1
431 SVG_FEATURES += ENABLE_FILTERS=1
434 endif # END ENABLE_FILTERS
439 if ENABLE_GEOLOCATION
441 FEATURE_DEFINES += ENABLE_GEOLOCATION=1
442 webcore_cppflags += -DENABLE_GEOLOCATION=1
443 endif # END ENABLE_GEOLOCATION
449 FEATURE_DEFINES += ENABLE_MATHML=1
450 webcore_cppflags += -DENABLE_MATHML=1
451 endif # END ENABLE_MATHML
453 # MathML tag and attribute names, and element factory
454 DerivedSources/WebCore/MathMLElementFactory.h: DerivedSources/WebCore/MathMLElementFactory.cpp
455 DerivedSources/WebCore/MathMLNames.h: DerivedSources/WebCore/MathMLNames.cpp
456 DerivedSources/WebCore/MathMLElementFactory.cpp DerivedSources/WebCore/MathMLNames.cpp: $(WebCore)/dom/make_names.pl $(WebCore)/mathml/mathtags.in $(WebCore)/mathml/mathattrs.in
457 $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --tags $(WebCore)/mathml/mathtags.in --attrs $(WebCore)/mathml/mathattrs.in --factory --wrapperFactory --outputDir "$(GENSOURCES_WEBCORE)"
460 # Notifications support
462 if ENABLE_NOTIFICATIONS
463 FEATURE_DEFINES += ENABLE_NOTIFICATIONS=1
464 webcore_cppflags += -DENABLE_NOTIFICATIONS=1
465 endif # END ENABLE_NOTIFICATIONS
470 # FIXME: allow a more fine-grained inclusion/generation of sources per SVG feature
473 FEATURE_DEFINES += ENABLE_SVG=1
474 webcore_cppflags += -DENABLE_SVG=1
475 WEBCORE_CSS_PROPERTY_NAMES += $(WebCore)/css/SVGCSSPropertyNames.in
476 WEBCORE_CSS_VALUE_KEYWORDS += $(WebCore)/css/SVGCSSValueKeywords.in
480 FEATURE_DEFINES += ENABLE_SVG_FONTS=1
481 SVG_FEATURES += ENABLE_SVG_FONTS=1
482 webcore_cppflags += -DENABLE_SVG_FONTS=1
485 endif # END ENABLE_SVG
487 # SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled)
488 DerivedSources/WebCore/SVGNames.cpp: DerivedSources/WebCore/SVGElementFactory.cpp
489 DerivedSources/WebCore/JSSVGElementWrapperFactory.cpp: DerivedSources/WebCore/SVGElementFactory.cpp
492 DerivedSources/WebCore/SVGElementFactory.cpp: $(WebCore)/dom/make_names.pl $(WebCore)/svg/svgtags.in $(WebCore)/svg/svgattrs.in
493 $(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)"
495 DerivedSources/WebCore/SVGElementFactory.cpp: $(WebCore)/dom/make_names.pl $(WebCore)/svg/svgtags.in $(WebCore)/svg/svgattrs.in
496 $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --factory --wrapperFactory --outputDir "$(GENSOURCES_WEBCORE)"
501 DerivedSources/WebCore/XLinkNames.h: DerivedSources/WebCore/XLinkNames.cpp
502 DerivedSources/WebCore/XLinkNames.cpp : $(WebCore)/dom/make_names.pl $(WebCore)/svg/xlinkattrs.in
503 $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/svg/xlinkattrs.in --outputDir "$(GENSOURCES_WEBCORE)"
509 FEATURE_DEFINES += ENABLE_WEB_AUDIO=1
510 webcore_cppflags += -DENABLE_WEB_AUDIO=1
514 # Web Sockets Support
516 if ENABLE_WEB_SOCKETS
517 FEATURE_DEFINES += ENABLE_WEB_SOCKETS=1
518 webcore_cppflags += -DENABLE_WEB_SOCKETS=1
520 webcore_cppflags += -DENABLE_WEB_SOCKETS=0
521 endif # END ENABLE_WEB_SOCKETS
527 FEATURE_DEFINES += ENABLE_BLOB=1
528 webcore_cppflags += -DENABLE_BLOB=1
529 endif # END ENABLE_BLOB
532 # Animation API support
534 if ENABLE_ANIMATION_API
535 FEATURE_DEFINES += ENABLE_ANIMATION_API=1
536 webcore_cppflags += -DENABLE_ANIMATION_API=1
537 endif # END ENABLE_ANIMATION_API
540 # RequestAnimationFrame support
542 if ENABLE_REQUEST_ANIMATION_FRAME
543 FEATURE_DEFINES += ENABLE_REQUEST_ANIMATION_FRAME=1
544 webcore_cppflags += -DENABLE_REQUEST_ANIMATION_FRAME=1
545 endif # END ENABLE_REQUEST_ANIMATION_FRAME
548 # 3D canvas (WebGL) support
551 FEATURE_DEFINES += ENABLE_WEBGL=1
552 webcore_cppflags += -DENABLE_WEBGL=1
553 endif # END ENABLE_WEBGL
556 # 3D rendering (CSS3 3D transforms) support
558 if ENABLE_3D_RENDERING
559 FEATURE_DEFINES += ENABLE_3D_RENDERING=1
560 webcore_cppflags += -DENABLE_3D_RENDERING=1
561 endif # END ENABLE_3D_RENDERING
567 FEATURE_DEFINES += ENABLE_MHTML=1
568 webcore_cppflags += -DENABLE_MHTML=1
569 endif # END ENABLE_MHTML
572 # HTML5 Microdata support
575 FEATURE_DEFINES += ENABLE_MICRODATA=1
576 webcore_cppflags += -DENABLE_MICRODATA=1
577 endif # END ENABLE_MICRODATA
580 # Register Protocol Handler support
582 if ENABLE_REGISTER_PROTOCOL_HANDLER
583 FEATURE_DEFINES += ENABLE_REGISTER_PROTOCOL_HANDLER=1
584 webcore_cppflags += -DENABLE_REGISTER_PROTOCOL_HANDLER=1
585 endif # END ENABLE_REGISTER_PROTOCOL_HANDLER
588 # DeviceOrientation support
590 if ENABLE_DEVICE_ORIENTATION
591 FEATURE_DEFINES += ENABLE_DEVICE_ORIENTATION=1
592 webcore_cppflags += -DENABLE_DEVICE_ORIENTATION=1
593 endif # END ENABLE_DEVICE_ORIENTATION
595 DerivedSources/WebCore/CSSPropertyNames.cpp: DerivedSources/WebCore/CSSPropertyNames.h
596 DerivedSources/WebCore/CSSPropertyNames.h: $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/makeprop.pl
597 cat $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in
598 $(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makeprop.pl" --defines "$(FEATURE_DEFINES)"
599 mv CSSPropertyNames* $(GENSOURCES_WEBCORE)
601 # Lower case all the values, as CSS values are case-insensitive
602 DerivedSources/WebCore/CSSValueKeywords.cpp: DerivedSources/WebCore/CSSValueKeywords.h
603 DerivedSources/WebCore/CSSValueKeywords.h: $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/makevalues.pl
604 cat $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in
605 $(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makevalues.pl" --defines "$(FEATURE_DEFINES)"
606 mv CSSValueKeywords* $(GENSOURCES_WEBCORE)
609 DerivedSources/WebCore/XMLViewerCSS.h: $(WebCore)/xml/XMLViewer.css
610 $(PERL) $(WebCore)/inspector/xxd.pl XMLViewer_css $(WebCore)/xml/XMLViewer.css $(GENSOURCES_WEBCORE)/XMLViewerCSS.h
613 DerivedSources/WebCore/XMLViewerJS.h: $(WebCore)/xml/XMLViewer.js
614 $(PERL) $(WebCore)/inspector/xxd.pl XMLViewer_js $(WebCore)/xml/XMLViewer.js $(GENSOURCES_WEBCORE)/XMLViewerJS.h
617 DerivedSources/WebCore/HTMLEntityTable.cpp: $(WebCore)/html/parser/HTMLEntityNames.in $(WebCore)/html/parser/create-html-entity-table
618 $(PYTHON) $(WebCore)/html/parser/create-html-entity-table -o $(GENSOURCES_WEBCORE)/HTMLEntityTable.cpp $(WebCore)/html/parser/HTMLEntityNames.in
621 DerivedSources/WebCore/ColorData.cpp: $(WebCore)/platform/ColorData.gperf $(WebCore)/make-hash-tools.pl
622 $(PERL) $(WebCore)/make-hash-tools.pl $(GENSOURCES_WEBCORE) $(WebCore)/platform/ColorData.gperf
625 DerivedSources/WebCore/tokenizer.cpp : $(WebCore)/css/tokenizer.flex $(WebCore)/css/maketokenizer
626 $(AM_V_GEN)$(FLEX) -t $< | $(PERL) $(WebCore)/css/maketokenizer > $@
630 # NOTE: older versions of bison do not inject an inclusion guard, so we do it
631 DerivedSources/WebCore/CSSGrammar.h: $(GENSOURCES_WEBCORE)/CSSGrammar.cpp
632 DerivedSources/WebCore/CSSGrammar.cpp: $(WebCore)/css/CSSGrammar.y
633 rm -f $(GENSOURCES_WEBCORE)/CSSGrammar.cpp.h $(GENSOURCES_WEBCORE)/CSSGrammar.hpp
634 $(BISON) -d -p cssyy $< -o $(GENSOURCES_WEBCORE)/CSSGrammar.cpp
635 touch $(GENSOURCES_WEBCORE)/CSSGrammar.cpp.h $(GENSOURCES_WEBCORE)/CSSGrammar.hpp
636 echo '#ifndef CSSGrammar_h' > $(GENSOURCES_WEBCORE)/CSSGrammar.h
637 echo '#define CSSGrammar_h' >> $(GENSOURCES_WEBCORE)/CSSGrammar.h
638 cat $(GENSOURCES_WEBCORE)/CSSGrammar.cpp.h $(GENSOURCES_WEBCORE)/CSSGrammar.hpp >> $(GENSOURCES_WEBCORE)/CSSGrammar.h
639 echo '#endif' >> $(GENSOURCES_WEBCORE)/CSSGrammar.h
640 rm -f $(GENSOURCES_WEBCORE)/CSSGrammar.cpp.h $(GENSOURCES_WEBCORE)/CSSGrammar.hpp
642 # user agent style sheets
643 USER_AGENT_STYLE_SHEETS = \
644 $(WebCore)/css/html.css \
645 $(WebCore)/css/mathml.css \
646 $(WebCore)/css/quirks.css \
647 $(WebCore)/css/view-source.css \
648 $(WebCore)/css/svg.css \
649 $(WebCore)/css/mediaControls.css \
650 $(WebCore)/css/mediaControlsGtk.css \
651 $(WebCore)/css/fullscreen.css \
652 $(WebCore)/css/fullscreenQuickTime.css
654 # new-style JavaScript bindings
656 $(WebCore)/bindings/scripts/CodeGenerator.pm \
657 $(WebCore)/bindings/scripts/IDLParser.pm \
658 $(WebCore)/bindings/scripts/IDLStructure.pm \
659 $(WebCore)/bindings/scripts/InFilesParser.pm \
660 $(WebCore)/bindings/scripts/generate-bindings.pl \
661 $(WebCore)/bindings/scripts/preprocessor.pm
663 DerivedSources/WebCore/UserAgentStyleSheetsData.cpp: DerivedSources/WebCore/UserAgentStyleSheets.h
664 DerivedSources/WebCore/UserAgentStyleSheets.h: $(WebCore)/css/make-css-file-arrays.pl $(WebCore)/bindings/scripts/preprocessor.pm $(USER_AGENT_STYLE_SHEETS)
665 $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --defines "$(FEATURE_DEFINES)" $@ DerivedSources/WebCore/UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS)
667 DerivedSources/WebCore/WebKitFontFamilyNames.cpp: DerivedSources/WebCore/WebKitFontFamilyNames.h
668 DerivedSources/WebCore/WebKitFontFamilyNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/css/WebKitFontFamilyNames.in
669 $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --fonts $(WebCore)/css/WebKitFontFamilyNames.in --outputDir "$(GENSOURCES_WEBCORE)"
672 # HTML tag and attribute names
673 DerivedSources/WebCore/JSHTMLElementWrapperFactory.cpp: DerivedSources/WebCore/HTMLElementFactory.cpp
674 DerivedSources/WebCore/HTMLElementFactory.cpp: DerivedSources/WebCore/HTMLElementFactory.h
675 DerivedSources/WebCore/HTMLElementFactory.h: DerivedSources/WebCore/HTMLNames.cpp
676 DerivedSources/WebCore/HTMLNames.cpp: DerivedSources/WebCore/HTMLNames.h
678 DerivedSources/WebCore/HTMLNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/html/HTMLTagNames.in $(WebCore)/html/HTMLAttributeNames.in
679 $(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)"
681 DerivedSources/WebCore/HTMLNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/html/HTMLTagNames.in $(WebCore)/html/HTMLAttributeNames.in
682 $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --factory --wrapperFactory --outputDir "$(GENSOURCES_WEBCORE)"
686 DerivedSources/WebCore/XMLNSNames.cpp DerivedSources/WebCore/XMLNSNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/xml/xmlnsattrs.in
687 $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlnsattrs.in --outputDir "$(GENSOURCES_WEBCORE)"
689 DerivedSources/WebCore/XMLNames.cpp DerivedSources/WebCore/XMLNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/xml/xmlattrs.in
690 $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlattrs.in --outputDir "$(GENSOURCES_WEBCORE)"
692 # All Web Inspector generated files are created with this one call to CodeGeneratorInspector.pm
693 DerivedSources/WebCore/InspectorProtocolVersion.h : $(WebCore)/inspector/Inspector.json $(WebCore)/inspector/generate-inspector-protocol-version
694 $(PYTHON) $(WebCore)/inspector/generate-inspector-protocol-version -o $(GENSOURCES_WEBCORE)/InspectorProtocolVersion.h $(WebCore)/inspector/Inspector.json
696 DerivedSources/WebCore/Inspector.idl : $(WebCore)/inspector/Inspector.json $(WebCore)/inspector/generate-inspector-idl
697 $(PYTHON) $(WebCore)/inspector/generate-inspector-idl -o $(GENSOURCES_WEBCORE)/Inspector.idl $(WebCore)/inspector/Inspector.json
699 DerivedSources/WebCore/InspectorBackendDispatcher.cpp: DerivedSources/WebCore/Inspector.idl $(SCRIPTS_BINDINGS) $(WebCore)/inspector/CodeGeneratorInspector.pm
700 $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts -I$(WebCore)/inspector $(WebCore)/bindings/scripts/generate-bindings.pl $(IDL_PATH:%=--include "%") --outputDir "$(GENSOURCES_WEBCORE)" --defines "LANGUAGE_JAVASCRIPT=1 $(FEATURE_DEFINES)" --generator Inspector $<
701 DerivedSources/WebCore/InspectorFrontend.h: DerivedSources/WebCore/InspectorFrontend.cpp
702 DerivedSources/WebCore/InspectorFrontend.cpp: DerivedSources/WebCore/InspectorBackendStub.js
703 DerivedSources/WebCore/InspectorBackendStub.js: DerivedSources/WebCore/InspectorBackendDispatcher.h
704 DerivedSources/WebCore/InspectorBackendDispatcher.h: DerivedSources/WebCore/InspectorBackendDispatcher.cpp
705 DerivedSources/WebCore/InjectedScriptSource.h: $(WebCore)/inspector/InjectedScriptSource.js
706 perl $(WebCore)/inspector/xxd.pl InjectedScriptSource_js $(WebCore)/inspector/InjectedScriptSource.js $(GENSOURCES_WEBCORE)/InjectedScriptSource.h
708 # ANGLE tokenizer & parser
709 DerivedSources/ANGLE/glslang.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.l
710 $(AM_V_GEN)$(FLEX) --noline --nounistd --outfile="$@" "$<"
712 DerivedSources/ANGLE/glslang_tab.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.y
713 $(AM_V_GEN)$(BISON) --no-lines --defines="DerivedSources/ANGLE/glslang_tab.h" --skeleton=yacc.c --output="$@" $<
714 DerivedSources/ANGLE/glslang_tab.h: DerivedSources/ANGLE/glslang_tab.cpp
717 $(WebCore)/bindings/js \
722 $(WebCore)/html/canvas \
723 $(WebCore)/inspector \
724 $(WebCore)/loader/appcache \
725 $(WebCore)/notifications \
732 $(WebCore)/webaudio \
733 $(WebCore)/websockets \
737 vpath %.idl $(IDL_PATH)
739 # This does not appear to work correctly with gnumake unless
740 # it includes an empty command list (the semicolon).
741 DerivedSources/WebCore/JS%.cpp: DerivedSources/WebCore/JS%.h;
744 DerivedSources/WebCore/JS%.h: %.idl $(SCRIPTS_BINDINGS) $(WebCore)/bindings/scripts/CodeGeneratorJS.pm
745 $(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 $<
747 noinst_LTLIBRARIES += \
750 nodist_EXTRA_libWebCore_la_SOURCES = \
751 $(webcore_built_nosources)
753 nodist_libWebCore_la_SOURCES = \
754 $(webcore_built_sources)
756 libWebCore_la_SOURCES = \
759 libWebCore_la_CXXFLAGS = \
760 $(SYMBOL_VISIBILITY_INLINES) \
763 libWebCore_la_CFLAGS = \
764 $(SYMBOL_VISIBILITY) \
767 libWebCore_la_CPPFLAGS = \
770 $(webcore_cppflags) \
771 $(webcoregtk_cppflags) \
772 $(javascriptcore_cppflags) \
773 -fno-strict-aliasing \
779 $(GSTREAMER_CFLAGS) \
788 # We have a different library with only the files that require GTK+. It allows us
789 # to build a common WebCore lib and two different gtk WebCore libs depending on
790 # the gtk version. In WeKit2 gtk2 is not supported, but the plugin process needs to
791 # be built using gtk2 because plugins like flash still use gtk2. For WebKit2, we build
792 # the common libWebCore and two libWebCoreGtk, one using gtk3 and the other one using gtk2.
793 noinst_LTLIBRARIES += \
796 libWebCoreGtk_la_SOURCES = \
797 $(webcoregtk_sources)
799 libWebCoreGtk_la_CXXFLAGS = \
800 $(SYMBOL_VISIBILITY_INLINES) \
803 libWebCoreGtk_la_CFLAGS = \
804 $(SYMBOL_VISIBILITY) \
807 libWebCoreGtk_la_CPPFLAGS = \
810 $(webcore_cppflags) \
811 $(webcoregtk_cppflags) \
812 $(javascriptcore_cppflags) \
813 -fno-strict-aliasing \
820 $(GSTREAMER_CFLAGS) \
832 $(shell ls $(srcdir)/Source/WebCore/css/*.idl) \
833 $(shell ls $(srcdir)/Source/WebCore/dom/*.idl) \
834 $(shell ls $(srcdir)/Source/WebCore/fileapi/*.idl) \
835 $(shell ls $(srcdir)/Source/WebCore/html/canvas/*.idl) \
836 $(shell ls $(srcdir)/Source/WebCore/html/*.idl) \
837 $(shell ls $(srcdir)/Source/WebCore/inspector/*.idl) \
838 $(shell ls $(srcdir)/Source/WebCore/loader/appcache/*.idl) \
839 $(shell ls $(srcdir)/Source/WebCore/notifications/*.idl) \
840 $(shell ls $(srcdir)/Source/WebCore/p2p/*.idl) \
841 $(shell ls $(srcdir)/Source/WebCore/page/*.idl) \
842 $(shell ls $(srcdir)/Source/WebCore/plugins/*.idl) \
843 $(shell ls $(srcdir)/Source/WebCore/storage/*.idl) \
844 $(shell ls $(srcdir)/Source/WebCore/svg/*.idl) \
845 $(shell ls $(srcdir)/Source/WebCore/testing/*.idl) \
846 $(shell ls $(srcdir)/Source/WebCore/webaudio/*.idl) \
847 $(shell ls $(srcdir)/Source/WebCore/websockets/*.idl) \
848 $(shell ls $(srcdir)/Source/WebCore/workers/*.idl) \
849 $(shell ls $(srcdir)/Source/WebCore/xml/*.idl) \
850 Source/ThirdParty/ANGLE/src/compiler/glslang.l \
851 Source/ThirdParty/ANGLE/src/compiler/glslang.y \
852 Source/WebCore/bindings/scripts/CodeGenerator.pm \
853 Source/WebCore/bindings/scripts/IDLParser.pm \
854 Source/WebCore/bindings/scripts/IDLStructure.pm \
855 Source/WebCore/bindings/scripts/InFilesParser.pm \
856 Source/WebCore/bindings/scripts/generate-bindings.pl \
857 Source/WebCore/bindings/scripts/preprocessor.pm \
858 Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm \
859 Source/WebCore/bindings/scripts/CodeGeneratorJS.pm \
860 Source/WebCore/bindings/scripts/CodeGenerator.pm \
861 Source/WebCore/bindings/scripts/generate-bindings.pl \
862 Source/WebCore/bindings/scripts/gobject-generate-headers.pl \
863 Source/WebCore/bindings/scripts/IDLParser.pm \
864 Source/WebCore/bindings/scripts/IDLStructure.pm \
865 Source/WebCore/bindings/scripts/InFilesParser.pm \
866 Source/WebCore/ChangeLog \
867 Source/WebCore/css/CSSGrammar.y \
868 Source/WebCore/css/CSSPropertyNames.in \
869 Source/WebCore/css/CSSValueKeywords.in \
870 Source/WebCore/css/fullscreen.css \
871 Source/WebCore/css/fullscreenQuickTime.css \
872 Source/WebCore/css/html.css \
873 Source/WebCore/css/make-css-file-arrays.pl \
874 Source/WebCore/css/makegrammar.pl \
875 Source/WebCore/css/makeprop.pl \
876 Source/WebCore/css/maketokenizer \
877 Source/WebCore/css/makevalues.pl \
878 Source/WebCore/css/mathml.css \
879 Source/WebCore/css/mediaControls.css \
880 Source/WebCore/css/mediaControlsGtk.css \
881 Source/WebCore/css/quirks.css \
882 Source/WebCore/css/svg.css \
883 Source/WebCore/css/SVGCSSPropertyNames.in \
884 Source/WebCore/css/SVGCSSValueKeywords.in \
885 Source/WebCore/css/tokenizer.flex \
886 Source/WebCore/css/view-source.css \
887 Source/WebCore/css/WebKitFontFamilyNames.in \
888 Source/WebCore/dom/make_names.pl \
889 Source/WebCore/html/HTMLAttributeNames.in \
890 Source/WebCore/html/HTMLTagNames.in \
891 Source/WebCore/html/parser/create-html-entity-table \
892 Source/WebCore/html/parser/HTMLEntityNames.in \
893 Source/WebCore/icu/LICENSE \
894 Source/WebCore/inspector/CodeGeneratorInspector.pm \
895 Source/WebCore/inspector/InjectedScriptSource.js \
896 Source/WebCore/inspector/Inspector.json \
897 Source/WebCore/inspector/Inspector-0.1.json \
898 Source/WebCore/inspector/generate-inspector-idl \
899 Source/WebCore/inspector/generate-inspector-protocol-version \
900 Source/WebCore/inspector/xxd.pl \
901 Source/WebCore/LICENSE-APPLE \
902 Source/WebCore/LICENSE-LGPL-2 \
903 Source/WebCore/LICENSE-LGPL-2.1 \
904 Source/WebCore/make-hash-tools.pl \
905 Source/WebCore/mathml/mathattrs.in \
906 Source/WebCore/mathml/mathtags.in \
907 Source/WebCore/platform/ColorData.gperf \
908 Source/WebCore/platform/text/mac/make-charset-table.pl \
909 Source/WebCore/svg/svgattrs.in \
910 Source/WebCore/svg/svgtags.in \
911 Source/WebCore/svg/xlinkattrs.in \
912 Source/WebCore/xml/xmlattrs.in \
913 Source/WebCore/xml/xmlnsattrs.in \
914 Source/WebCore/xml/XMLViewer.css \
915 Source/WebCore/xml/XMLViewer.js \
916 Source/WebCore/xml/XPathGrammar.y
918 # Installing web inspector files
919 webinspectordir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector
920 dist_webinspector_DATA = \
921 $(WebCore)/English.lproj/localizedStrings.js \
922 DerivedSources/WebCore/InspectorBackendStub.js \
923 $(shell ls $(WebCore)/inspector/front-end/*.js) \
924 $(shell ls $(WebCore)/inspector/front-end/*.html) \
925 $(shell ls $(WebCore)/inspector/front-end/*.css)
927 webinspectoruglifyjsdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector/UglifyJS
928 dist_webinspectoruglifyjs_DATA = \
929 $(shell ls $(WebCore)/inspector/front-end/UglifyJS/*.js)
931 webinspectorimagesdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector/Images
932 dist_webinspectorimages_DATA = \
933 $(shell ls $(WebCore)/inspector/front-end/Images/*.gif) \
934 $(shell ls $(WebCore)/inspector/front-end/Images/*.png)
936 # It seems that $(shell) does not expand when it is a rule dependency, so
937 # we must redefine this list of copied files with traditional dependency wildcards.
938 noinst_DATA = ${GENSOURCES_INSPECTOR}/inspector.html
939 ${GENSOURCES_INSPECTOR}/inspector.html: $(WebCore)/inspector/front-end/*.html \
940 $(WebCore)/inspector/front-end/*.js \
941 $(WebCore)/inspector/front-end/UglifyJS/*.js \
942 $(WebCore)/inspector/front-end/*.css \
943 $(WebCore)/inspector/front-end/Images/* \
944 DerivedSources/WebCore/InspectorBackendStub.js \
945 $(WebCore)/English.lproj/localizedStrings.js
946 $(AM_V_GEN)mkdir -p ${GENSOURCES_INSPECTOR}/UglifyJS
947 $(AM_V_GEN)mkdir -p ${GENSOURCES_INSPECTOR}/images
948 $(AM_V_at)cp ${dist_webinspector_DATA} ${GENSOURCES_INSPECTOR}
949 $(AM_V_at)cp ${dist_webinspectoruglifyjs_DATA} ${GENSOURCES_INSPECTOR}/UglifyJS
950 $(AM_V_at)cp ${dist_webinspectorimages_DATA} ${GENSOURCES_INSPECTOR}/images
952 webresourcesdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/images
953 dist_webresources_DATA = \
954 $(WebCore)/Resources/textAreaResizeCorner.png \
955 $(WebCore)/Resources/nullPlugin.png \
956 $(WebCore)/Resources/urlIcon.png \
957 $(WebCore)/Resources/missingImage.png \
958 $(WebCore)/Resources/panIcon.png \
959 $(WebCore)/Resources/deleteButton.png \
960 $(WebCore)/Resources/inputSpeech.png