blob: d754adba03ead47cc0d865c98a513349faed2944 [file] [log] [blame]
include $(srcdir)/Source/WebCore/GNUmakefile.features.am
include $(srcdir)/Source/WebCore/GNUmakefile.list.am
WEBCORE_CSS_PROPERTY_NAMES := $(WebCore)/css/CSSPropertyNames.in
WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in
webcore_cppflags += \
-I$(srcdir)/Source/ThirdParty/ANGLE/src \
-I$(srcdir)/Source/ThirdParty/ANGLE/include \
-I$(srcdir)/Source/ThirdParty/ANGLE/include/GLSLANG \
-I$(srcdir)/Source/WebCore \
-I$(srcdir)/Source/WebCore/Modules/filesystem \
-I$(srcdir)/Source/WebCore/Modules/gamepad \
-I$(srcdir)/Source/WebCore/Modules/geolocation \
-I$(srcdir)/Source/WebCore/Modules/indexeddb \
-I$(srcdir)/Source/WebCore/Modules/mediasource \
-I$(srcdir)/Source/WebCore/Modules/mediastream \
-I$(srcdir)/Source/WebCore/Modules/navigatorcontentutils \
-I$(srcdir)/Source/WebCore/Modules/notifications \
-I$(srcdir)/Source/WebCore/Modules/quota \
-I$(srcdir)/Source/WebCore/Modules/webaudio \
-I$(srcdir)/Source/WebCore/Modules/webdatabase \
-I$(srcdir)/Source/WebCore/Modules/websockets \
-I$(srcdir)/Source/WebCore/accessibility \
-I$(srcdir)/Source/WebCore/bindings \
-I$(srcdir)/Source/WebCore/bindings/generic \
-I$(srcdir)/Source/WebCore/bindings/js \
-I$(srcdir)/Source/WebCore/bridge \
-I$(srcdir)/Source/WebCore/bridge/c \
-I$(srcdir)/Source/WebCore/bridge/jsc \
-I$(srcdir)/Source/WebCore/css \
-I$(srcdir)/Source/WebCore/dom \
-I$(srcdir)/Source/WebCore/dom/default \
-I$(srcdir)/Source/WebCore/editing \
-I$(srcdir)/Source/WebCore/fileapi \
-I$(srcdir)/Source/WebCore/history \
-I$(srcdir)/Source/WebCore/html \
-I$(srcdir)/Source/WebCore/html/canvas \
-I$(srcdir)/Source/WebCore/html/parser \
-I$(srcdir)/Source/WebCore/html/shadow \
-I$(srcdir)/Source/WebCore/html/track \
-I$(srcdir)/Source/WebCore/inspector \
-I$(srcdir)/Source/WebCore/loader \
-I$(srcdir)/Source/WebCore/loader/appcache \
-I$(srcdir)/Source/WebCore/loader/archive \
-I$(srcdir)/Source/WebCore/loader/archive/mhtml \
-I$(srcdir)/Source/WebCore/loader/cache \
-I$(srcdir)/Source/WebCore/loader/icon \
-I$(srcdir)/Source/WebCore/mathml \
-I$(srcdir)/Source/WebCore/page \
-I$(srcdir)/Source/WebCore/page/animation \
-I$(srcdir)/Source/WebCore/page/scrolling \
-I$(srcdir)/Source/WebCore/platform \
-I$(srcdir)/Source/WebCore/platform/animation \
-I$(srcdir)/Source/WebCore/platform/audio \
-I$(srcdir)/Source/WebCore/platform/graphics \
-I$(srcdir)/Source/WebCore/platform/graphics/filters \
-I$(srcdir)/Source/WebCore/platform/graphics/filters/arm \
-I$(srcdir)/Source/WebCore/platform/graphics/gpu \
-I$(srcdir)/Source/WebCore/platform/graphics/opengl \
-I$(srcdir)/Source/WebCore/platform/graphics/opentype \
-I$(srcdir)/Source/WebCore/platform/graphics/transforms \
-I$(srcdir)/Source/WebCore/platform/image-decoders \
-I$(srcdir)/Source/WebCore/platform/image-decoders/bmp \
-I$(srcdir)/Source/WebCore/platform/image-decoders/gif \
-I$(srcdir)/Source/WebCore/platform/image-decoders/ico \
-I$(srcdir)/Source/WebCore/platform/image-decoders/jpeg \
-I$(srcdir)/Source/WebCore/platform/image-decoders/webp \
-I$(srcdir)/Source/WebCore/platform/image-decoders/png \
-I$(srcdir)/Source/WebCore/platform/leveldb \
-I$(srcdir)/Source/WebCore/platform/linux \
-I$(srcdir)/Source/WebCore/platform/mediastream \
-I$(srcdir)/Source/WebCore/platform/mediastream/gstreamer \
-I$(srcdir)/Source/WebCore/platform/mock \
-I$(srcdir)/Source/WebCore/platform/network \
-I$(srcdir)/Source/WebCore/platform/network/gtk \
-I$(srcdir)/Source/WebCore/platform/sql \
-I$(srcdir)/Source/WebCore/platform/text \
-I$(srcdir)/Source/WebCore/platform/text/transcoder \
-I$(srcdir)/Source/WebCore/platform/win \
-I$(srcdir)/Source/WebCore/plugins \
-I$(srcdir)/Source/WebCore/plugins/win \
-I$(srcdir)/Source/WebCore/rendering \
-I$(srcdir)/Source/WebCore/rendering/mathml \
-I$(srcdir)/Source/WebCore/rendering/style \
-I$(srcdir)/Source/WebCore/rendering/svg \
-I$(srcdir)/Source/WebCore/storage \
-I$(srcdir)/Source/WebCore/svg \
-I$(srcdir)/Source/WebCore/svg/animation \
-I$(srcdir)/Source/WebCore/svg/graphics \
-I$(srcdir)/Source/WebCore/svg/graphics/filters \
-I$(srcdir)/Source/WebCore/svg/properties \
-I$(srcdir)/Source/WebCore/testing \
-I$(srcdir)/Source/WebCore/testing/js \
-I$(srcdir)/Source/WebCore/websockets \
-I$(srcdir)/Source/WebCore/workers \
-I$(srcdir)/Source/WebCore/xml \
-I$(srcdir)/Source/WebCore/xml/parser \
-I$(top_builddir)/WebCore/bindings/js \
-I$(top_builddir)/DerivedSources/WebCore \
-I$(top_builddir)/DerivedSources \
-I$(top_builddir)/DerivedSources/JavaScriptCore \
-DDATA_DIR=\"${datadir}\"
webcoregtk_cppflags += \
-DWEBKITGTK_API_VERSION_STRING=\"@WEBKITGTK_API_VERSION@\" \
-DWTF_USE_SOUP=1 \
-I$(srcdir)/Source/WebCore/accessibility/gtk \
-I$(srcdir)/Source/WebCore/loader/gtk \
-I$(srcdir)/Source/WebCore/page/gtk \
-I$(srcdir)/Source/WebCore/platform/cairo \
-I$(srcdir)/Source/WebCore/platform/audio/gstreamer \
-I$(srcdir)/Source/WebCore/platform/geoclue \
-I$(srcdir)/Source/WebCore/platform/graphics/cairo \
-I$(srcdir)/Source/WebCore/platform/graphics/glx \
-I$(srcdir)/Source/WebCore/platform/graphics/egl \
-I$(srcdir)/Source/WebCore/platform/graphics/gstreamer \
-I$(srcdir)/Source/WebCore/platform/graphics/gtk \
-I$(srcdir)/Source/WebCore/platform/gtk \
-I$(srcdir)/Source/WebCore/platform/network/soup \
-I$(srcdir)/Source/WebCore/platform/text/enchant
# ---
# FreeType font backend
# ---
if USE_FREETYPE
webcoregtk_cppflags += \
-DWTF_USE_FREETYPE=1 \
-I$(srcdir)/Source/WebCore/platform/graphics/freetype
endif # END USE_FREETYPE
# ---
# Pango font backend
# ---
if USE_PANGO
webcoregtk_cppflags += \
-DWTF_USE_PANGO=1 \
-I$(srcdir)/Source/WebCore/platform/graphics/pango
endif # END USE_PANGO
# ---
# Windows plugin support
# ---
if TARGET_WIN32
webcoregtk_cppflags += \
-I$(srcdir)/Source/WebCore/platform/graphics/win
endif # END TARGET_WIN32
# ----
# Gamepad support
# ---
if ENABLE_GAMEPAD
feature_defines_overrides += ENABLE_GAMEPAD=1
else
feature_defines_overrides += ENABLE_GAMEPAD=0
endif # END ENABLE_GAMEPAD
# ----
# Indexed Database API support
# ----
if ENABLE_INDEXED_DATABASE
feature_defines_overrides += ENABLE_INDEXED_DATABASE=1
else
feature_defines_overrides += ENABLE_INDEXED_DATABASE=0
endif # END ENABLE_INDEXED_DATABASE
if USE_LEVELDB
webcore_cppflags += -DWTF_USE_LEVELDB
endif # END USE_LEVELDB
# ----
# Video Support
# ----
if ENABLE_VIDEO
feature_defines_overrides += ENABLE_VIDEO=1
if USE_GSTREAMER
if ENABLE_DEBUG
webcore_cppflags += -DGST_DISABLE_DEPRECATED
endif # END ENABLE_DEBUG
endif # END USE_GSTREAMER
else
feature_defines_overrides += ENABLE_VIDEO=0 ENABLE_VIDEO_TRACK=0
endif # END ENABLE_VIDEO
# ----
# Filters
# ----
if ENABLE_CSS_FILTERS
feature_defines_overrides += ENABLE_CSS_FILTERS=1
else
feature_defines_overrides += ENABLE_CSS_FILTERS=0
endif # END ENABLE_CSS_FILTERS
# ----
# Media Stream Support
# ----
if ENABLE_MEDIA_STREAM
feature_defines_overrides += ENABLE_MEDIA_STREAM=1
else
feature_defines_overrides += ENABLE_MEDIA_STREAM=0
endif # END ENABLE_MEDIA_STREAM
# XPath grammar
$(GENSOURCES_WEBCORE)/XPathGrammar.h: $(GENSOURCES_WEBCORE)/XPathGrammar.cpp
$(GENSOURCES_WEBCORE)/XPathGrammar.cpp: $(WebCore)/xml/XPathGrammar.y
$(AM_V_GEN)
$(AM_V_at)perl $(WebCore)/css/makegrammar.pl --outputDir $(GENSOURCES_WEBCORE) --bison "$(BISON)" --symbolsPrefix xpathyy $<
# ----
# XHR timeout Support
# ----
if ENABLE_XHR_TIMEOUT
feature_defines_overrides += ENABLE_XHR_TIMEOUT=1
else
feature_defines_overrides += ENABLE_XHR_TIMEOUT=0
endif # END ENABLE_XHR_TIMEOUT
# ----
# XSLT Support
# ----
if ENABLE_XSLT
feature_defines_overrides += ENABLE_XSLT=1
else
feature_defines_overrides += ENABLE_XSLT=0
endif # END ENABLE_XSLT
# ----
# Filters
# ----
if ENABLE_FILTERS
feature_defines_overrides += ENABLE_FILTERS=1
else
feature_defines_overrides += ENABLE_FILTERS=0
endif # END ENABLE_FILTERS
# ----
# CSS Device Adaptation
# ----
if ENABLE_CSS_DEVICE_ADAPTATION
feature_defines_overrides += ENABLE_CSS_DEVICE_ADAPTATION=1
else
feature_defines_overrides += ENABLE_CSS_DEVICE_ADAPTATION=0
endif # END ENABLE_CSS_DEVICE_ADAPTATION
# ----
# Shaders
# ----
if ENABLE_CSS_SHADERS
feature_defines_overrides += ENABLE_CSS_SHADERS=1
else
feature_defines_overrides += ENABLE_CSS_SHADERS=0
endif # END ENABLE_CSS_SHADERS
# ----
# Geolocation
# ----
if ENABLE_GEOLOCATION
feature_defines_overrides += ENABLE_GEOLOCATION=1
else
feature_defines_overrides += ENABLE_GEOLOCATION=0
endif # END ENABLE_GEOLOCATION
# MathML tag and attribute names, and element factory
DerivedSources/WebCore/MathMLElementFactory.h: DerivedSources/WebCore/MathMLElementFactory.cpp
DerivedSources/WebCore/MathMLNames.h: DerivedSources/WebCore/MathMLNames.cpp
DerivedSources/WebCore/MathMLElementFactory.cpp DerivedSources/WebCore/MathMLNames.cpp: $(WebCore)/dom/make_names.pl $(WebCore)/mathml/mathtags.in $(WebCore)/mathml/mathattrs.in
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --tags $(WebCore)/mathml/mathtags.in --attrs $(WebCore)/mathml/mathattrs.in --factory --wrapperFactory --outputDir "$(GENSOURCES_WEBCORE)"
# ----
# SVG Support
#
# FIXME: allow a more fine-grained inclusion/generation of sources per SVG feature
# ----
if ENABLE_SVG
feature_defines_overrides += ENABLE_SVG=1
WEBCORE_CSS_PROPERTY_NAMES += $(WebCore)/css/SVGCSSPropertyNames.in
WEBCORE_CSS_VALUE_KEYWORDS += $(WebCore)/css/SVGCSSValueKeywords.in
# SVG Features
if ENABLE_SVG_FONTS
feature_defines_overrides += ENABLE_SVG_FONTS=1
else
feature_defines_overrides += ENABLE_SVG_FONTS=0
endif
else
feature_defines_overrides += ENABLE_SVG=0 ENABLE_SVG_FONTS=0
endif # END ENABLE_SVG
# SVG tag and attribute names (need to pass an extra flag if svg experimental features are enabled)
DerivedSources/WebCore/SVGNames.cpp: DerivedSources/WebCore/SVGElementFactory.cpp
DerivedSources/WebCore/JSSVGElementWrapperFactory.cpp: DerivedSources/WebCore/SVGElementFactory.cpp
DerivedSources/WebCore/SVGElementFactory.cpp: $(WebCore)/dom/make_names.pl $(WebCore)/svg/svgtags.in $(WebCore)/svg/svgattrs.in
$(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)"
# end SVG Features
DerivedSources/WebCore/XLinkNames.h: DerivedSources/WebCore/XLinkNames.cpp
DerivedSources/WebCore/XLinkNames.cpp : $(WebCore)/dom/make_names.pl $(WebCore)/svg/xlinkattrs.in
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/svg/xlinkattrs.in --outputDir "$(GENSOURCES_WEBCORE)"
# ----
# Web Audio Support
# ----
if ENABLE_WEB_AUDIO
feature_defines_overrides += ENABLE_WEB_AUDIO=1
else
feature_defines_overrides += ENABLE_WEB_AUDIO=0
endif
if USE_WEBAUDIO_GSTREAMER
webcore_cppflags += -DWTF_USE_WEBAUDIO_GSTREAMER=1
endif
# ---
# 3D canvas (WebGL) support
# ---
if ENABLE_WEBGL
feature_defines_overrides += ENABLE_WEBGL=1
else
feature_defines_overrides += ENABLE_WEBGL=0
endif # END ENABLE_WEBGL
# ---
# Accelerated compositing support
# ---
if USE_ACCELERATED_COMPOSITING
feature_defines_overrides += ENABLE_3D_RENDERING=1
else
feature_defines_overrides += ENABLE_3D_RENDERING=0
endif # END USE_ACCELERATED_COMPOSITING
if USE_TEXTURE_MAPPER_CAIRO
webcore_cppflags += \
-I$(srcdir)/Source/WebCore/platform/graphics/texmap
endif # END USE_TEXTURE_MAPPER_CAIRO
if USE_TEXTURE_MAPPER_GL
webcore_cppflags += \
-I$(srcdir)/Source/WebCore/platform/graphics/texmap
endif # END USETEXTURE_MAPPER_GL
if USE_CLUTTER
webcore_cppflags += \
-I$(srcdir)/Source/WebCore/platform/clutter \
-I$(srcdir)/Source/WebCore/platform/graphics/clutter
endif # END USE_CLUTTER
# ---
# Spell check support
# ---
if ENABLE_SPELLCHECK
feature_defines_overrides += ENABLE_SPELLCHECK=1
else
feature_defines_overrides += ENABLE_SPELLCHECK=0
endif # END ENABLE_SPELLCHECK
# ---
# CSS3 Conditional Rules support
# ---
if ENABLE_CSS3_CONDITIONAL_RULES
feature_defines_overrides += ENABLE_CSS3_CONDITIONAL_RULES=1
else
feature_defines_overrides += ENABLE_CSS3_CONDITIONAL_RULES=0
endif # END ENABLE_CSS3_CONDITIONAL_RULES
# ---
# Unstable features
# If unstable features should not be enabled, their defines should be overriden with a 0 value.
# ---
if !ENABLE_UNSTABLE_FEATURES
feature_defines_unstable += \
ENABLE_CSP_NEXT=0 \
ENABLE_CSS3_TEXT=0 \
ENABLE_CSS_STICKY_POSITION=0 \
ENABLE_LINK_PREFETCH=0 \
ENABLE_MICRODATA=0 \
ENABLE_MUTATION_OBSERVERS=0 \
ENABLE_STYLE_SCOPED=0 \
ENABLE_VIDEO_TRACK=0 \
ENABLE_WEB_TIMING=0
endif
# Fill the feature_defines variable with all the defines, making it possible
# to override the default define value (as set in feature_defines_defaults)
# through adding the feature define with the desired value to either
# feature_defines_unstable or feature_defines_overrides.
feature_defines += $(strip $(foreach bare_define, \
$(foreach define,$(feature_defines_defaults), \
$(foreach fvalue,0 1, \
$(if $(findstring =$(fvalue),$(define)),$(patsubst %=$(fvalue),%,$(define))) \
) \
), \
$(if $(findstring $(bare_define)=, $(feature_defines_unstable)), \
$(filter $(bare_define)=%,$(feature_defines_unstable)), \
$(if $(findstring $(bare_define)=, $(feature_defines_overrides)), \
$(filter $(bare_define)=%,$(feature_defines_overrides)), \
$(filter $(bare_define)=%,$(feature_defines_defaults)) \
) \
) \
))
# Add the feature defines to webcore_cppflags in macro form.
webcore_cppflags += $(foreach define,$(feature_defines),-D$(define))
$(WEBCORE_CSS_PROPERTY_NAMES): $(srcdir)/configure.ac $(srcdir)/Source/WebCore/GNUmakefile.am
$(WEBCORE_CSS_VALUE_KEYWORDS): $(srcdir)/configure.ac $(srcdir)/Source/WebCore/GNUmakefile.am
DerivedSources/WebCore/CSSPropertyNames.cpp: DerivedSources/WebCore/CSSPropertyNames.h
DerivedSources/WebCore/CSSPropertyNames.h: $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/makeprop.pl
$(AM_V_GEN)
$(AM_V_at)cat $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in
$(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makeprop.pl" --defines "$(feature_defines)"
$(AM_V_at)mv CSSPropertyNames* $(GENSOURCES_WEBCORE)
# Lower case all the values, as CSS values are case-insensitive
DerivedSources/WebCore/CSSValueKeywords.cpp: DerivedSources/WebCore/CSSValueKeywords.h
DerivedSources/WebCore/CSSValueKeywords.h: $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/makevalues.pl
$(AM_V_GEN)
$(AM_V_at)cat $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in
$(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makevalues.pl" --defines "$(feature_defines)"
$(AM_V_at)mv CSSValueKeywords* $(GENSOURCES_WEBCORE)
# XML Viewer CSS
DerivedSources/WebCore/XMLViewerCSS.h: $(WebCore)/xml/XMLViewer.css
$(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl XMLViewer_css $(WebCore)/xml/XMLViewer.css $(GENSOURCES_WEBCORE)/XMLViewerCSS.h
# XML Viewer JS
DerivedSources/WebCore/XMLViewerJS.h: $(WebCore)/xml/XMLViewer.js
$(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl XMLViewer_js $(WebCore)/xml/XMLViewer.js $(GENSOURCES_WEBCORE)/XMLViewerJS.h
# HTML entity names
DerivedSources/WebCore/HTMLEntityTable.cpp: $(WebCore)/html/parser/HTMLEntityNames.in $(WebCore)/html/parser/create-html-entity-table
$(AM_V_GEN)$(PYTHON) $(WebCore)/html/parser/create-html-entity-table -o $(GENSOURCES_WEBCORE)/HTMLEntityTable.cpp $(WebCore)/html/parser/HTMLEntityNames.in
# color names
DerivedSources/WebCore/ColorData.cpp: $(WebCore)/platform/ColorData.gperf $(WebCore)/make-hash-tools.pl
$(AM_V_GEN)$(PERL) $(WebCore)/make-hash-tools.pl $(GENSOURCES_WEBCORE) $(WebCore)/platform/ColorData.gperf
# CSS grammar
DerivedSources/WebCore/CSSGrammar.h: $(GENSOURCES_WEBCORE)/CSSGrammar.cpp
DerivedSources/WebCore/CSSGrammar.cpp: $(WebCore)/css/CSSGrammar.y.in
$(AM_V_GEN)
$(AM_V_at)perl -I $(WebCore)/bindings/scripts $(WebCore)/css/makegrammar.pl --extraDefines "$(feature_defines)" --outputDir $(GENSOURCES_WEBCORE) --bison "$(BISON)" --symbolsPrefix cssyy $<
# user agent style sheets
USER_AGENT_STYLE_SHEETS = \
$(WebCore)/css/html.css \
$(WebCore)/css/mathml.css \
$(WebCore)/css/quirks.css \
$(WebCore)/css/view-source.css \
$(WebCore)/css/svg.css \
$(WebCore)/css/mediaControls.css \
$(WebCore)/css/mediaControlsGtk.css \
$(WebCore)/css/fullscreen.css
# new-style JavaScript bindings
SCRIPTS_FOR_GENERATE_BINDINGS = \
$(WebCore)/bindings/scripts/CodeGenerator.pm \
$(WebCore)/bindings/scripts/IDLParser.pm \
$(WebCore)/bindings/scripts/IDLStructure.pm \
$(WebCore)/bindings/scripts/InFilesCompiler.pm \
$(WebCore)/bindings/scripts/InFilesParser.pm \
$(WebCore)/bindings/scripts/generate-bindings.pl \
$(WebCore)/bindings/scripts/preprocessor.pm
SCRIPTS_FOR_PREPROCESS_IDLS = \
$(WebCore)/bindings/scripts/IDLParser.pm \
$(WebCore)/bindings/scripts/preprocess-idls.pl
DerivedSources/WebCore/UserAgentStyleSheetsData.cpp: DerivedSources/WebCore/UserAgentStyleSheets.h
DerivedSources/WebCore/UserAgentStyleSheets.h: $(WebCore)/css/make-css-file-arrays.pl $(WebCore)/bindings/scripts/preprocessor.pm $(USER_AGENT_STYLE_SHEETS)
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --defines "$(feature_defines)" $@ DerivedSources/WebCore/UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS)
DerivedSources/WebCore/WebKitFontFamilyNames.cpp: DerivedSources/WebCore/WebKitFontFamilyNames.h
DerivedSources/WebCore/WebKitFontFamilyNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/css/WebKitFontFamilyNames.in
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --fonts $(WebCore)/css/WebKitFontFamilyNames.in --outputDir "$(GENSOURCES_WEBCORE)"
# HTML tag and attribute names
DerivedSources/WebCore/JSHTMLElementWrapperFactory.cpp: DerivedSources/WebCore/HTMLElementFactory.cpp
DerivedSources/WebCore/HTMLElementFactory.cpp: DerivedSources/WebCore/HTMLElementFactory.h
DerivedSources/WebCore/HTMLElementFactory.h: DerivedSources/WebCore/HTMLNames.cpp
DerivedSources/WebCore/HTMLNames.cpp: DerivedSources/WebCore/HTMLNames.h
DerivedSources/WebCore/HTMLNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/html/HTMLTagNames.in $(WebCore)/html/HTMLAttributeNames.in
$(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)"
DerivedSources/WebCore/XMLNSNames.cpp DerivedSources/WebCore/XMLNSNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/xml/xmlnsattrs.in
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlnsattrs.in --outputDir "$(GENSOURCES_WEBCORE)"
DerivedSources/WebCore/XMLNames.cpp DerivedSources/WebCore/XMLNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/xml/xmlattrs.in
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --attrs $(WebCore)/xml/xmlattrs.in --outputDir "$(GENSOURCES_WEBCORE)"
DerivedSources/WebCore/EventFactory.cpp DerivedSources/WebCore/EventHeaders.h DerivedSources/WebCore/EventInterfaces.h: $(WebCore)/dom/make_event_factory.pl $(WebCore)/dom/EventNames.in
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --input $(WebCore)/dom/EventNames.in --outputDir "$(GENSOURCES_WEBCORE)"
DerivedSources/WebCore/EventTargetHeaders.h DerivedSources/WebCore/EventTargetInterfaces.h: $(WebCore)/dom/make_event_factory.pl $(WebCore)/dom/EventTargetFactory.in
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --input $(WebCore)/dom/EventTargetFactory.in --outputDir "$(GENSOURCES_WEBCORE)"
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
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --input $(WebCore)/dom/DOMExceptions.in --outputDir "$(GENSOURCES_WEBCORE)"
# All Web Inspector generated files are created with this one call to CodeGeneratorInspector.py
DerivedSources/WebCore/InspectorProtocolVersion.h : $(WebCore)/inspector/Inspector.json $(WebCore)/inspector/generate-inspector-protocol-version
$(AM_V_GEN)$(PYTHON) $(WebCore)/inspector/generate-inspector-protocol-version -o $(GENSOURCES_WEBCORE)/InspectorProtocolVersion.h $(WebCore)/inspector/Inspector.json
DerivedSources/WebCore/InspectorBackendDispatcher.cpp: $(WebCore)/inspector/Inspector.json $(WebCore)/inspector/CodeGeneratorInspector.py
$(AM_V_GEN)$(PYTHON) $(WebCore)/inspector/CodeGeneratorInspector.py $< --output_h_dir $(GENSOURCES_WEBCORE) --output_cpp_dir $(GENSOURCES_WEBCORE)
DerivedSources/WebCore/InspectorTypeBuilder.h: DerivedSources/WebCore/InspectorTypeBuilder.cpp
DerivedSources/WebCore/InspectorTypeBuilder.cpp: DerivedSources/WebCore/InspectorFrontend.h
DerivedSources/WebCore/InspectorFrontend.h: DerivedSources/WebCore/InspectorFrontend.cpp
DerivedSources/WebCore/InspectorFrontend.cpp: DerivedSources/WebCore/InspectorBackendCommands.js
DerivedSources/WebCore/InspectorBackendCommands.js: DerivedSources/WebCore/InspectorBackendDispatcher.h
DerivedSources/WebCore/InspectorBackendDispatcher.h: DerivedSources/WebCore/InspectorBackendDispatcher.cpp
DerivedSources/WebCore/InspectorOverlayPage.h: $(WebCore)/inspector/InspectorOverlayPage.html
$(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl InspectorOverlayPage_html $(WebCore)/inspector/InspectorOverlayPage.html $(GENSOURCES_WEBCORE)/InspectorOverlayPage.h
DerivedSources/WebCore/InjectedScriptCanvasModuleSource.h: $(WebCore)/inspector/InjectedScriptCanvasModuleSource.js
$(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl InjectedScriptCanvasModuleSource_js $(WebCore)/inspector/InjectedScriptCanvasModuleSource.js $(GENSOURCES_WEBCORE)/InjectedScriptCanvasModuleSource.h
DerivedSources/WebCore/InjectedScriptSource.h: $(WebCore)/inspector/InjectedScriptSource.js
$(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl InjectedScriptSource_js $(WebCore)/inspector/InjectedScriptSource.js $(GENSOURCES_WEBCORE)/InjectedScriptSource.h
if ENABLE_WEB_AUDIO
# Installing HRTF database wav files
audiodir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/resources/audio/
audio_DATA = $(WebCore)/platform/audio/resources/Composite.wav
dist_audio_DATA = $(audio_DATA)
endif # END ENABLE_WEB_AUDIO
# ANGLE tokenizer & parser
DerivedSources/ANGLE/glslang.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.l
$(AM_V_GEN)$(FLEX) --noline --nounistd --outfile="$@" "$<"
DerivedSources/ANGLE/glslang_tab.cpp: Source/ThirdParty/ANGLE/src/compiler/glslang.y
$(AM_V_GEN)$(BISON) --no-lines --defines="DerivedSources/ANGLE/glslang_tab.h" --skeleton=yacc.c --output="$@" $<
DerivedSources/ANGLE/glslang_tab.h: DerivedSources/ANGLE/glslang_tab.cpp
IDL_PATH := \
$(WebCore)/Modules/filesystem \
$(WebCore)/Modules/gamepad \
$(WebCore)/Modules/geolocation \
$(WebCore)/Modules/indexeddb \
$(WebCore)/Modules/mediasource \
$(WebCore)/Modules/mediastream \
$(WebCore)/Modules/notifications \
$(WebCore)/Modules/quota \
$(WebCore)/Modules/webaudio \
$(WebCore)/Modules/webdatabase \
$(WebCore)/Modules/websockets \
$(WebCore)/bindings/js \
$(WebCore)/css \
$(WebCore)/dom \
$(WebCore)/editing \
$(WebCore)/fileapi \
$(WebCore)/html \
$(WebCore)/html/canvas \
$(WebCore)/html/shadow \
$(WebCore)/html/track \
$(WebCore)/inspector \
$(WebCore)/loader/appcache \
$(WebCore)/page \
$(WebCore)/plugins \
$(WebCore)/storage \
$(WebCore)/svg \
$(WebCore)/testing \
$(WebCore)/workers \
$(WebCore)/xml
vpath %.idl $(IDL_PATH)
supplemental_dependency_file = $(top_builddir)/DerivedSources/WebCore/idl_supplemental_dependencies
idl_files_list = $(top_builddir)/DerivedSources/WebCore/idl_files_list
idl_attributes_file = $(WebCore)/bindings/scripts/IDLAttributes.txt
.SECONDARY:
$(supplemental_dependency_file): $(SCRIPTS_FOR_PREPROCESS_IDLS) $(dom_binding_idls) $(idl_attributes_file)
$(AM_V_GEN)
$(AM_V_at)echo -n > $(idl_files_list)
$(AM_V_at)($(foreach idl, $(dom_binding_idls), echo $(idl) &&) echo -n) >> $(idl_files_list)
$(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)
# This does not appear to work correctly with gnumake unless
# it includes an empty command list (the semicolon).
DerivedSources/WebCore/JS%.cpp: DerivedSources/WebCore/JS%.h;
.SECONDARY:
DerivedSources/WebCore/JS%.h: %.idl $(SCRIPTS_FOR_GENERATE_BINDINGS) $(WebCore)/bindings/scripts/CodeGeneratorJS.pm $(supplemental_dependency_file)
$(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) $<
# See https://bugs.webkit.org/show_bug.cgi?id=76388
# We need to introduce a manual dependency to prevent non-generated sources from
# trying to build before the generated ones. This can happen if the supplemental
# IDL generation takes a long time. The pipe represents an order-only dependency,
# which means that GNUmake will only try to build the dependencies first, but
# not rebuild all the targets if the dependencies change.
$(webkitgtk_sources) $(webkit2_sources) $(webkit2_plugin_process_sources) $(webcore_sources) $(webcoregtk_sources) : | $(supplemental_dependency_file) $(webcore_built_sources)
noinst_LTLIBRARIES += \
libWebCoreModules.la \
libWebCore.la
# Artificial dependency to try to force a relink of the WebCore libraries
# When their makefiles change.
webcore_lib_for_dep = libWebCore.la
$(webcore_lib_for_dep): $(srcdir)/Source/WebCore/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am
webcoremodules_lib_for_dep = libWebcoreModules.la
$(webcoremodules_lib_for_dep): $(srcdir)/Source/WebCore/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am
nodist_EXTRA_libWebCore_la_SOURCES = \
$(webcore_built_nosources)
nodist_libWebCore_la_SOURCES = \
$(webcore_built_sources)
libWebCore_la_SOURCES = \
$(webcore_sources)
libWebCore_la_CXXFLAGS = \
$(SYMBOL_VISIBILITY_INLINES) \
$(global_cxxflags)
libWebCore_la_CFLAGS = \
$(SYMBOL_VISIBILITY) \
$(global_cflags)
libWebCore_la_CPPFLAGS = \
-DBUILDING_WebCore \
-DBUILDING_WEBKIT \
$(global_cppflags) \
$(webcore_cppflags) \
$(webcoregtk_cppflags) \
$(javascriptcore_cppflags) \
-fno-strict-aliasing \
$(CAIRO_CFLAGS) \
$(CLUTTER_CFLAGS) \
$(COVERAGE_CFLAGS) \
$(ENCHANT_CFLAGS) \
$(GAMEPAD_CFLAGS) \
$(GEOCLUE_CFLAGS) \
$(GLIB_CFLAGS) \
$(GSTREAMER_CFLAGS) \
$(LIBSECRET_CFLAGS) \
$(LIBSOUP_CFLAGS) \
$(LIBXML_CFLAGS) \
$(LIBXSLT_CFLAGS) \
$(PANGO_CFLAGS) \
$(SQLITE3_CFLAGS) \
$(UNICODE_CFLAGS) \
$(XRENDER_CFLAGS) \
$(XT_CFLAGS)
if TARGET_WIN32
# PluginPackageWin.cpp needs the symbols from version dll
libWebCore_la_LIBADD = -lversion
endif
libWebCoreModules_la_SOURCES = \
$(webcore_modules_sources)
libWebCoreModules_la_CXXFLAGS = $(libWebCore_la_CXXFLAGS)
libWebCoreModules_la_CFLAGS = $(libWebCore_la_CFLAGS)
libWebCoreModules_la_CPPFLAGS = $(libWebCore_la_CPPFLAGS)
# We have a different library with only the files that require GTK+. It allows us
# to build a common WebCore lib and two different gtk WebCore libs depending on
# the gtk version. In WeKit2 gtk2 is not supported, but the plugin process needs to
# be built using gtk2 because plugins like flash still use gtk2. For WebKit2, we build
# the common libWebCore and two libWebCoreGtk, one using gtk3 and the other one using gtk2.
noinst_LTLIBRARIES += \
libWebCoreGtk.la
libWebCoreGtk_la_SOURCES = \
$(webcoregtk_sources)
libWebCoreGtk_la_CXXFLAGS = \
$(SYMBOL_VISIBILITY_INLINES) \
$(global_cxxflags)
libWebCoreGtk_la_CFLAGS = \
$(SYMBOL_VISIBILITY) \
$(global_cflags)
libWebCoreGtk_la_CPPFLAGS = \
-DBUILDING_WebCore \
-DBUILDING_WEBKIT \
$(global_cppflags) \
$(webcore_cppflags) \
$(webcoregtk_cppflags) \
$(javascriptcore_cppflags) \
-fno-strict-aliasing \
$(HILDON_CPPFLAGS) \
$(CAIRO_CFLAGS) \
$(CLUTTER_CFLAGS) \
$(COVERAGE_CFLAGS) \
$(ENCHANT_CFLAGS) \
$(FARSTREAM_CFLAGS) \
$(GAIL_CFLAGS) \
$(GAMEPAD_CFLAGS) \
$(GEOCLUE_CFLAGS) \
$(GLIB_CFLAGS) \
$(GSTREAMER_CFLAGS) \
$(GTK_CFLAGS) \
$(HILDON_CFLAGS) \
$(LIBSECRET_CFLAGS) \
$(LIBSOUP_CFLAGS) \
$(LIBXML_CFLAGS) \
$(LIBXSLT_CFLAGS) \
$(SQLITE3_CFLAGS) \
$(UNICODE_CFLAGS) \
$(XCOMPOSITE_CFLAGS) \
$(XDAMAGE_CFLAGS) \
$(XRENDER_CFLAGS) \
$(XT_CFLAGS)
EXTRA_DIST += \
$(wildcard $(srcdir)/Source/WebCore/Modules/filesystem/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/Modules/gamepad/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/Modules/geolocation/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/Modules/indexeddb/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/Modules/mediasource/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/Modules/mediastream/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/Modules/navigatorcontentutils/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/Modules/notifications/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/Modules/quota/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/Modules/webaudio/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/Modules/webdatabase/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/Modules/websockets/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/css/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/dom/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/fileapi/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/html/canvas/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/html/shadow/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/html/track/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/html/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/inspector/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/loader/appcache/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/page/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/plugins/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/storage/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/svg/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/testing/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/workers/*.idl) \
$(wildcard $(srcdir)/Source/WebCore/xml/*.idl) \
Source/ThirdParty/ANGLE/src/compiler/glslang.l \
Source/ThirdParty/ANGLE/src/compiler/glslang.y \
Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm \
Source/WebCore/bindings/scripts/CodeGeneratorJS.pm \
Source/WebCore/bindings/scripts/CodeGenerator.pm \
Source/WebCore/bindings/scripts/IDLAttributes.txt \
Source/WebCore/bindings/scripts/IDLParser.pm \
Source/WebCore/bindings/scripts/IDLStructure.pm \
Source/WebCore/bindings/scripts/InFilesCompiler.pm \
Source/WebCore/bindings/scripts/InFilesParser.pm \
Source/WebCore/bindings/scripts/generate-bindings.pl \
Source/WebCore/bindings/scripts/gobject-generate-headers.pl \
Source/WebCore/bindings/scripts/preprocessor.pm \
Source/WebCore/bindings/scripts/preprocess-idls.pl \
Source/WebCore/ChangeLog \
Source/WebCore/css/CSSGrammar.y.in \
Source/WebCore/css/CSSGrammar.y.includes \
Source/WebCore/css/CSSPropertyNames.in \
Source/WebCore/css/CSSValueKeywords.in \
Source/WebCore/dom/DOMExceptions.in \
Source/WebCore/css/fullscreen.css \
Source/WebCore/css/fullscreenQuickTime.css \
Source/WebCore/css/html.css \
Source/WebCore/css/make-css-file-arrays.pl \
Source/WebCore/css/makegrammar.pl \
Source/WebCore/css/makeprop.pl \
Source/WebCore/css/maketokenizer \
Source/WebCore/css/makevalues.pl \
Source/WebCore/css/mathml.css \
Source/WebCore/css/mediaControls.css \
Source/WebCore/css/mediaControlsGtk.css \
Source/WebCore/css/quirks.css \
Source/WebCore/css/svg.css \
Source/WebCore/css/SVGCSSPropertyNames.in \
Source/WebCore/css/SVGCSSValueKeywords.in \
Source/WebCore/css/view-source.css \
Source/WebCore/css/WebKitFontFamilyNames.in \
Source/WebCore/dom/EventNames.in \
Source/WebCore/dom/EventTargetFactory.in \
Source/WebCore/dom/make_dom_exceptions.pl \
Source/WebCore/dom/make_event_factory.pl \
Source/WebCore/dom/make_names.pl \
Source/WebCore/html/HTMLAttributeNames.in \
Source/WebCore/html/HTMLTagNames.in \
Source/WebCore/html/parser/create-html-entity-table \
Source/WebCore/html/parser/HTMLEntityNames.in \
Source/WebCore/icu/LICENSE \
Source/WebCore/inspector/CodeGeneratorInspector.py \
Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js \
Source/WebCore/inspector/InjectedScriptSource.js \
Source/WebCore/inspector/Inspector.json \
Source/WebCore/inspector/Inspector-1.0.json \
Source/WebCore/inspector/InspectorOverlayPage.html \
Source/WebCore/inspector/generate-inspector-protocol-version \
Source/WebCore/inspector/xxd.pl \
Source/WebCore/LICENSE-APPLE \
Source/WebCore/LICENSE-LGPL-2 \
Source/WebCore/LICENSE-LGPL-2.1 \
Source/WebCore/make-hash-tools.pl \
Source/WebCore/mathml/mathattrs.in \
Source/WebCore/mathml/mathtags.in \
Source/WebCore/platform/ColorData.gperf \
Source/WebCore/platform/text/mac/make-charset-table.pl \
Source/WebCore/svg/svgattrs.in \
Source/WebCore/svg/svgtags.in \
Source/WebCore/svg/xlinkattrs.in \
Source/WebCore/xml/xmlattrs.in \
Source/WebCore/xml/xmlnsattrs.in \
Source/WebCore/xml/XMLViewer.css \
Source/WebCore/xml/XMLViewer.js \
Source/WebCore/xml/XPathGrammar.y
# Installing web inspector files
webinspectordir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector
dist_webinspector_DATA = \
$(WebCore)/English.lproj/localizedStrings.js \
DerivedSources/WebCore/InspectorBackendCommands.js \
$(shell ls $(WebCore)/inspector/front-end/*.js) \
$(shell ls $(WebCore)/inspector/front-end/*.html) \
$(shell ls $(WebCore)/inspector/front-end/*.css)
webinspectoruglifyjsdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector/UglifyJS
dist_webinspectoruglifyjs_DATA = \
$(shell ls $(WebCore)/inspector/front-end/UglifyJS/*.js)
webinspectorimagesdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/webinspector/Images
dist_webinspectorimages_DATA = \
$(shell ls $(WebCore)/inspector/front-end/Images/*.gif) \
$(shell ls $(WebCore)/inspector/front-end/Images/*.png)
# It seems that $(shell) does not expand when it is a rule dependency, so
# we must redefine this list of copied files with traditional dependency wildcards.
noinst_DATA = ${GENSOURCES_INSPECTOR}/inspector.html
${GENSOURCES_INSPECTOR}/inspector.html: $(WebCore)/inspector/front-end/*.html \
$(WebCore)/inspector/front-end/*.js \
$(WebCore)/inspector/front-end/UglifyJS/*.js \
$(WebCore)/inspector/front-end/*.css \
$(WebCore)/inspector/front-end/Images/* \
DerivedSources/WebCore/InspectorBackendCommands.js \
$(WebCore)/English.lproj/localizedStrings.js
$(AM_V_GEN)
$(AM_V_at)mkdir -p ${GENSOURCES_INSPECTOR}/UglifyJS
$(AM_V_at)mkdir -p ${GENSOURCES_INSPECTOR}/Images
$(AM_V_at)cp ${dist_webinspector_DATA} ${GENSOURCES_INSPECTOR}
$(AM_V_at)cp ${dist_webinspectoruglifyjs_DATA} ${GENSOURCES_INSPECTOR}/UglifyJS
$(AM_V_at)cp ${dist_webinspectorimages_DATA} ${GENSOURCES_INSPECTOR}/Images
webresourcesdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/images
dist_webresources_DATA = \
$(WebCore)/Resources/textAreaResizeCorner.png \
$(WebCore)/Resources/nullPlugin.png \
$(WebCore)/Resources/urlIcon.png \
$(WebCore)/Resources/missingImage.png \
$(WebCore)/Resources/panIcon.png \
$(WebCore)/Resources/deleteButton.png \
$(WebCore)/Resources/inputSpeech.png