[EFL] Implement the Web Audio API feature.
[WebKit-https.git] / Source / WebCore / PlatformEfl.cmake
1 LIST(APPEND WebCore_LINK_FLAGS
2     ${ECORE_X_LDFLAGS}
3     ${EFLDEPS_LDFLAGS}
4 )
5
6 LIST(APPEND WebCore_INCLUDE_DIRECTORIES
7   "${JAVASCRIPTCORE_DIR}/wtf/gobject"
8   "${WEBCORE_DIR}/accessibility/efl"
9   "${WEBCORE_DIR}/page/efl"
10   "${WEBCORE_DIR}/platform/efl"
11   "${WEBCORE_DIR}/platform/graphics/efl"
12   "${WEBCORE_DIR}/platform/network/soup"
13   "${WEBCORE_DIR}/platform/text/efl"
14   "${WEBCORE_DIR}/plugins/efl"
15   "${WEBKIT_DIR}/efl/WebCoreSupport"
16   "${WEBKIT_DIR}/efl/ewk"
17 )
18
19 LIST(APPEND WebCore_SOURCES
20   accessibility/efl/AccessibilityObjectEfl.cpp
21   bindings/js/ScriptControllerEfl.cpp
22   page/efl/DragControllerEfl.cpp
23   page/efl/EventHandlerEfl.cpp
24   platform/Cursor.cpp
25   platform/efl/ClipboardEfl.cpp
26   platform/efl/ColorChooserEfl.cpp
27   platform/efl/ContextMenuEfl.cpp
28   platform/efl/ContextMenuItemEfl.cpp
29   platform/efl/CursorEfl.cpp
30   platform/efl/DragDataEfl.cpp
31   platform/efl/DragImageEfl.cpp
32   platform/efl/EflKeyboardUtilities.cpp
33   platform/efl/EflScreenUtilities.cpp
34   platform/efl/EventLoopEfl.cpp
35   platform/efl/FileSystemEfl.cpp
36   platform/efl/KURLEfl.cpp
37   platform/efl/LanguageEfl.cpp
38   platform/efl/LocalizedStringsEfl.cpp
39   platform/efl/LoggingEfl.cpp
40   platform/efl/MIMETypeRegistryEfl.cpp
41   platform/efl/PasteboardEfl.cpp
42   platform/efl/PlatformKeyboardEventEfl.cpp
43   platform/efl/PlatformMouseEventEfl.cpp
44   platform/efl/PlatformScreenEfl.cpp
45   platform/efl/PlatformTouchEventEfl.cpp
46   platform/efl/PlatformTouchPointEfl.cpp
47   platform/efl/PlatformWheelEventEfl.cpp
48   platform/efl/PopupMenuEfl.cpp
49   platform/efl/RefPtrEfl.cpp
50   platform/efl/RenderThemeEfl.cpp
51   platform/efl/RunLoopEfl.cpp
52   platform/efl/ScrollViewEfl.cpp
53   platform/efl/ScrollbarEfl.cpp
54   platform/efl/ScrollbarThemeEfl.cpp
55   platform/efl/SearchPopupMenuEfl.cpp
56   platform/efl/SharedBufferEfl.cpp
57   platform/efl/SharedTimerEfl.cpp
58   platform/efl/SoundEfl.cpp
59   platform/efl/SystemTimeEfl.cpp
60   platform/efl/TemporaryLinkStubs.cpp
61   platform/efl/WidgetEfl.cpp
62   platform/graphics/ImageSource.cpp
63   platform/graphics/efl/GraphicsLayerEfl.cpp
64   platform/graphics/efl/IconEfl.cpp
65   platform/graphics/efl/ImageEfl.cpp
66   platform/graphics/efl/IntPointEfl.cpp
67   platform/graphics/efl/IntRectEfl.cpp
68   platform/image-decoders/ImageDecoder.cpp
69   platform/image-decoders/bmp/BMPImageDecoder.cpp
70   platform/image-decoders/bmp/BMPImageReader.cpp
71   platform/image-decoders/gif/GIFImageDecoder.cpp
72   platform/image-decoders/gif/GIFImageReader.cpp
73   platform/image-decoders/ico/ICOImageDecoder.cpp
74   platform/image-decoders/jpeg/JPEGImageDecoder.cpp
75   platform/image-decoders/png/PNGImageDecoder.cpp
76   platform/image-decoders/webp/WEBPImageDecoder.cpp
77   platform/network/soup/CookieJarSoup.cpp
78   platform/network/soup/CredentialStorageSoup.cpp
79   platform/network/soup/DNSSoup.cpp
80   platform/network/soup/GOwnPtrSoup.cpp
81   platform/network/soup/ProxyServerSoup.cpp
82   platform/network/soup/ResourceHandleSoup.cpp
83   platform/network/soup/ResourceRequestSoup.cpp
84   platform/network/soup/ResourceResponseSoup.cpp
85   platform/network/soup/SocketStreamHandleSoup.cpp
86   platform/network/soup/SoupURIUtils.cpp
87   platform/posix/FileSystemPOSIX.cpp
88   platform/text/efl/TextBreakIteratorInternalICUEfl.cpp
89 )
90
91 IF (ENABLE_NETSCAPE_PLUGIN_API)
92   LIST(APPEND WebCore_SOURCES
93     plugins/PluginDatabase.cpp
94     plugins/PluginDebug.cpp
95     plugins/PluginPackage.cpp
96     plugins/PluginStream.cpp
97     plugins/PluginView.cpp
98
99     plugins/efl/PluginDataEfl.cpp
100     plugins/efl/PluginPackageEfl.cpp
101     plugins/efl/PluginViewEfl.cpp
102   )
103 ELSE ()
104   LIST(APPEND WebCore_SOURCES
105     plugins/PluginDataNone.cpp
106     plugins/PluginPackageNone.cpp
107     plugins/PluginViewNone.cpp
108   )
109 ENDIF ()
110
111 LIST(APPEND WebCore_USER_AGENT_STYLE_SHEETS
112     ${WEBCORE_DIR}/css/mediaControlsEfl.css
113 )
114
115 IF (WTF_USE_CAIRO)
116   LIST(APPEND WebCore_INCLUDE_DIRECTORIES
117     "${WEBCORE_DIR}/platform/cairo"
118     "${WEBCORE_DIR}/platform/graphics/cairo"
119   )
120   LIST(APPEND WebCore_SOURCES
121     platform/cairo/WidgetBackingStoreCairo.cpp
122     platform/graphics/cairo/BitmapImageCairo.cpp
123     platform/graphics/cairo/CairoUtilities.cpp
124     platform/graphics/cairo/FontCairo.cpp
125     platform/graphics/cairo/GradientCairo.cpp
126     platform/graphics/cairo/GraphicsContextCairo.cpp
127     platform/graphics/cairo/ImageBufferCairo.cpp
128     platform/graphics/cairo/ImageCairo.cpp
129     platform/graphics/cairo/NativeImageCairo.cpp
130     platform/graphics/cairo/OwnPtrCairo.cpp
131     platform/graphics/cairo/PathCairo.cpp
132     platform/graphics/cairo/PatternCairo.cpp
133     platform/graphics/cairo/PlatformContextCairo.cpp
134     platform/graphics/cairo/PlatformPathCairo.cpp
135     platform/graphics/cairo/RefPtrCairo.cpp
136     platform/graphics/cairo/TransformationMatrixCairo.cpp
137
138     platform/image-decoders/cairo/ImageDecoderCairo.cpp
139   )
140
141   IF (WTF_USE_FREETYPE)
142     LIST(APPEND WebCore_INCLUDE_DIRECTORIES
143       "${WEBCORE_DIR}/platform/graphics/freetype"
144     )
145     LIST(APPEND WebCore_SOURCES
146       platform/graphics/WOFFFileFormat.cpp
147       platform/graphics/efl/FontEfl.cpp
148       platform/graphics/freetype/FontCacheFreeType.cpp
149       platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp
150       platform/graphics/freetype/FontPlatformDataFreeType.cpp
151       platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp
152       platform/graphics/freetype/SimpleFontDataFreeType.cpp
153     )
154   ENDIF ()
155
156   IF (WTF_USE_PANGO)
157     LIST(APPEND WebCore_INCLUDE_DIRECTORIES
158       "${WEBCORE_DIR}/platform/graphics/pango"
159       ${Pango_INCLUDE_DIRS}
160     )
161     LIST(APPEND WebCore_SOURCES
162       platform/graphics/pango/FontPango.cpp
163       platform/graphics/pango/FontCachePango.cpp
164       platform/graphics/pango/FontCustomPlatformDataPango.cpp
165       platform/graphics/pango/FontPlatformDataPango.cpp
166       platform/graphics/pango/GlyphPageTreeNodePango.cpp
167       platform/graphics/pango/SimpleFontDataPango.cpp
168       platform/graphics/pango/PangoUtilities.cpp
169     )
170     LIST(APPEND WebCore_LIBRARIES
171       ${Pango_LIBRARY}
172       ${Pango_Cairo_LIBRARY}
173     )
174   ENDIF ()
175 ENDIF ()
176
177 IF (WTF_USE_ICU_UNICODE)
178   LIST(APPEND WebCore_SOURCES
179     editing/SmartReplaceICU.cpp
180     platform/text/TextEncodingDetectorICU.cpp
181     platform/text/TextBreakIteratorICU.cpp
182     platform/text/TextCodecICU.cpp
183   )
184 ENDIF ()
185
186 LIST(APPEND WebCore_LIBRARIES
187   ${Cairo_LIBRARIES}
188   ${ECORE_X_LIBRARIES}
189   ${EFLDEPS_LIBRARIES}
190   ${EVAS_LIBRARIES}
191   ${FREETYPE_LIBRARIES}
192   ${ICU_LIBRARIES}
193   ${JPEG_LIBRARY}
194   ${LIBXML2_LIBRARIES}
195   ${LIBXSLT_LIBRARIES}
196   ${PNG_LIBRARY}
197   ${SQLITE_LIBRARIES}
198   ${Glib_LIBRARIES}
199   ${LIBSOUP24_LIBRARIES}
200   ${ZLIB_LIBRARIES}
201 )
202
203 LIST(APPEND WebCore_INCLUDE_DIRECTORIES
204   ${Cairo_INCLUDE_DIRS}
205   ${ECORE_X_INCLUDE_DIRS}
206   ${EFLDEPS_INCLUDE_DIRS}
207   ${EVAS_INCLUDE_DIRS}
208   ${FREETYPE_INCLUDE_DIRS}
209   ${ICU_INCLUDE_DIRS}
210   ${LIBXML2_INCLUDE_DIR}
211   ${LIBXSLT_INCLUDE_DIR}
212   ${SQLITE_INCLUDE_DIR}
213   ${Glib_INCLUDE_DIRS}
214   ${LIBSOUP24_INCLUDE_DIRS}
215   ${ZLIB_INCLUDE_DIRS}
216 )
217
218 IF (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
219   LIST(APPEND WebCore_INCLUDE_DIRECTORIES
220     "${WEBCORE_DIR}/platform/graphics/gstreamer"
221
222     ${GStreamer-App_INCLUDE_DIRS}
223     ${GStreamer-Interfaces_INCLUDE_DIRS}
224     ${GStreamer-Pbutils_INCLUDE_DIRS}
225   )
226   LIST(APPEND WebCore_SOURCES
227     platform/graphics/gstreamer/GRefPtrGStreamer.cpp
228     platform/graphics/gstreamer/GStreamerUtilities.cpp
229     platform/graphics/gstreamer/GStreamerVersioning.cpp
230   )
231   LIST(APPEND WebCore_LIBRARIES
232     ${GStreamer-App_LIBRARIES}
233     ${GStreamer-Interfaces_LIBRARIES}
234     ${GStreamer-Pbutils_LIBRARIES}
235   )
236 ENDIF ()
237
238 IF (ENABLE_VIDEO)
239   LIST(APPEND WebCore_INCLUDE_DIRECTORIES
240     ${GStreamer-Video_INCLUDE_DIRS}
241   )
242   LIST(APPEND WebCore_SOURCES
243     platform/graphics/gstreamer/GStreamerGWorld.cpp
244     platform/graphics/gstreamer/ImageGStreamerCairo.cpp
245     platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
246     platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp
247     platform/graphics/gstreamer/VideoSinkGStreamer.cpp
248     platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
249   )
250   LIST(APPEND WebCore_LIBRARIES
251     ${GStreamer-Video_LIBRARIES}
252   )
253 ENDIF ()
254
255 IF (ENABLE_WEBGL)
256   LIST(APPEND WebCore_INCLUDE_DIRECTORIES
257     ${OPENGL_INCLUDE_DIR}
258     "${WEBCORE_DIR}/platform/graphics/cairo"
259     "${WEBCORE_DIR}/platform/graphics/glx"
260     "${WEBCORE_DIR}/platform/graphics/opengl"
261   )
262   LIST(APPEND WebCore_LIBRARIES
263     ${OPENGL_gl_LIBRARY}
264   )
265   LIST(APPEND WebCore_SOURCES
266     platform/graphics/cairo/DrawingBufferCairo.cpp
267     platform/graphics/cairo/GraphicsContext3DCairo.cpp
268     platform/graphics/glx/GraphicsContext3DPrivate.cpp
269     platform/graphics/OpenGLShims.cpp
270     platform/graphics/opengl/Extensions3DOpenGL.cpp
271     platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
272     platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
273   )
274 ENDIF ()
275
276 ADD_DEFINITIONS(-DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1
277                 -DDATA_DIR="${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}")
278
279 IF (ENABLE_WEB_AUDIO)
280   LIST(APPEND WebCore_INCLUDE_DIRECTORIES
281     "${WEBCORE_DIR}/platform/audio/gstreamer"
282
283     ${GStreamer-Audio_INCLUDE_DIRS}
284     ${GStreamer-FFT_INCLUDE_DIRS}
285   )
286   LIST(APPEND WebCore_SOURCES
287     platform/audio/efl/AudioBusEfl.cpp
288     platform/audio/gstreamer/AudioDestinationGStreamer.cpp
289     platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
290     platform/audio/gstreamer/FFTFrameGStreamer.cpp
291     platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp
292   )
293   LIST(APPEND WebCore_LIBRARIES
294     ${GStreamer-Audio_LIBRARIES}
295     ${GStreamer-FFT_LIBRARIES}
296   )
297   SET(WEB_AUDIO_DIR ${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/webaudio/resources)
298   FILE(GLOB WEB_AUDIO_DATA "${WEBCORE_DIR}/platform/audio/resources/*.wav")
299   INSTALL(FILES ${WEB_AUDIO_DATA} DESTINATION ${WEB_AUDIO_DIR})
300   ADD_DEFINITIONS(-DUNINSTALLED_AUDIO_RESOURCES_DIR="${WEBCORE_DIR}/platform/audio/resources")
301 ENDIF ()
302