Split ICU UText providers out into their own files
[WebKit-https.git] / Source / Platform / GNUmakefile.am
1 # The platform layer code is built into two separate static libraries - libPlatformGtk.la
2 # is built from files that require GTK+ and libPlatform.la is built from all the other files.
3 # This makes it possible to build two separate libPlatformGtk.la libraries, one using GTK3
4 # and the other (named libPlatformGtk2.la) using GTK2. The latter is required by the
5 # WebKitPluginProcess in WebKit2 as some plugins (such as Flash) still use GTK2.
6 # For now we only build the libPlatformGtk library as there are no source files in place yet
7 # that could be built into libPlatform.
8
9 platform_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/ThirdParty/ANGLE/include/KHR \
14         -I$(top_builddir)/DerivedSources/Platform
15
16 platformgtk_cppflags += \
17         -DWEBKITGTK_API_VERSION_STRING=\"@WEBKITGTK_API_VERSION@\" \
18         -DDATA_DIR=\"${datadir}\"
19
20 # This is the minimal set of Source/WebCore/platform subdirectories that contain headers required by the GTK-specific
21 # platform source files. These inclusions are required due to platform layer source files not yet completely migrated
22 # into Source/Platform. Only Source/WebCore/platform subdirectories must be listed here as this, coupled with the
23 # header inclusion in source files that's done via specifying the header basename, prevents any platform violations
24 # occurring.
25 platform_webcore_cppflags += \
26         -I$(srcdir)/Source/WebCore/platform \
27         -I$(srcdir)/Source/WebCore/platform/animation \
28         -I$(srcdir)/Source/WebCore/platform/audio \
29         -I$(srcdir)/Source/WebCore/platform/cairo \
30         -I$(srcdir)/Source/WebCore/platform/geoclue \
31         -I$(srcdir)/Source/WebCore/platform/glib \
32         -I$(srcdir)/Source/WebCore/platform/graphics \
33         -I$(srcdir)/Source/WebCore/platform/graphics/cairo \
34         -I$(srcdir)/Source/WebCore/platform/graphics/cpu/arm \
35         -I$(srcdir)/Source/WebCore/platform/graphics/cpu/arm/filters \
36         -I$(srcdir)/Source/WebCore/platform/graphics/egl \
37         -I$(srcdir)/Source/WebCore/platform/graphics/filters \
38         -I$(srcdir)/Source/WebCore/platform/graphics/glx \
39         -I$(srcdir)/Source/WebCore/platform/graphics/gpu \
40         -I$(srcdir)/Source/WebCore/platform/graphics/gstreamer \
41         -I$(srcdir)/Source/WebCore/platform/graphics/gtk \
42         -I$(srcdir)/Source/WebCore/platform/graphics/harfbuzz \
43         -I$(srcdir)/Source/WebCore/platform/graphics/opengl \
44         -I$(srcdir)/Source/WebCore/platform/graphics/opentype \
45         -I$(srcdir)/Source/WebCore/platform/graphics/texmap \
46         -I$(srcdir)/Source/WebCore/platform/graphics/transforms \
47         -I$(srcdir)/Source/WebCore/platform/gtk \
48         -I$(srcdir)/Source/WebCore/platform/image-decoders \
49         -I$(srcdir)/Source/WebCore/platform/image-decoders/bmp \
50         -I$(srcdir)/Source/WebCore/platform/image-decoders/cairo \
51         -I$(srcdir)/Source/WebCore/platform/image-decoders/gif \
52         -I$(srcdir)/Source/WebCore/platform/image-decoders/ico \
53         -I$(srcdir)/Source/WebCore/platform/image-decoders/jpeg \
54         -I$(srcdir)/Source/WebCore/platform/image-decoders/png \
55         -I$(srcdir)/Source/WebCore/platform/image-decoders/webp \
56         -I$(srcdir)/Source/WebCore/platform/network \
57         -I$(srcdir)/Source/WebCore/platform/network/gtk \
58         -I$(srcdir)/Source/WebCore/platform/network/soup \
59         -I$(srcdir)/Source/WebCore/platform/text \
60         -I$(srcdir)/Source/WebCore/platform/text/icu \
61         -I$(srcdir)/Source/WebCore/platform/text/transcoder
62
63 noinst_LTLIBRARIES += \
64         libPlatform.la \
65         libPlatformGtk.la
66
67 # Artificial dependencies to try to force a relink of the Platform libraries when their makefile changes.
68 platform_lib_for_dep = libPlatform.la
69 $(platform_lib_for_dep): $(srcdir)/Source/Platform/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am
70
71 platformgtk_lib_for_dep = libPlatformGtk.la
72 $(platformgtk_lib_for_dep): $(srcdir)/Source/Platform/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am
73
74 libPlatform_la_SOURCES = \
75         $(platform_sources)
76
77 nodist_libPlatform_la_SOURCES = \
78         $(platform_built_sources)
79
80 libPlatform_la_CXXFLAGS = \
81         -fvisibility-inlines-hidden \
82         $(global_cxxflags)
83
84 libPlatform_la_CFLAGS = \
85         -fvisibility=hidden \
86         $(global_cflags)
87
88 libPlatform_la_CPPFLAGS = \
89         -DBUILDING_WEBKIT \
90         $(global_cppflags) \
91         $(platform_cppflags) \
92         $(platform_webcore_cppflags) \
93         $(javascriptcore_cppflags) \
94         -fno-strict-aliasing \
95         $(CAIRO_CFLAGS) \
96         $(ENCHANT_CFLAGS) \
97         $(FREETYPE_CFLAGS) \
98         $(GEOCLUE_CFLAGS) \
99         $(GSTREAMER_CFLAGS) \
100         $(LIBSOUP_CFLAGS) \
101         $(UPOWER_GLIB_CFLAGS)
102
103 libPlatformGtk_la_SOURCES = \
104         $(platformgtk_sources)
105
106 libPlatformGtk_la_CXXFLAGS = \
107         -fvisibility-inlines-hidden \
108         $(global_cxxflags)
109
110 libPlatformGtk_la_CFLAGS = \
111         -fvisibility=hidden \
112         $(global_cflags)
113
114 libPlatformGtk_la_CPPFLAGS = \
115         -DBUILDING_WEBKIT \
116         $(global_cppflags) \
117         $(platform_cppflags) \
118         $(platformgtk_cppflags) \
119         $(platform_webcore_cppflags) \
120         $(javascriptcore_cppflags) \
121         -fno-strict-aliasing \
122         $(FREETYPE_CFLAGS) \
123         $(GSTREAMER_CFLAGS) \
124         $(GTK_CFLAGS) \
125         $(LIBSECRET_CFLAGS) \
126         $(LIBSOUP_CFLAGS)
127
128 DerivedSources/Platform/ColorData.cpp: $(WebCore)/platform/ColorData.gperf $(WebCore)/make-hash-tools.pl
129         $(AM_V_GEN)$(PERL) $(WebCore)/make-hash-tools.pl $(GENSOURCES_PLATFORM) $(WebCore)/platform/ColorData.gperf
130
131 DerivedSources/Platform/WebKitFontFamilyNames.cpp: DerivedSources/Platform/WebKitFontFamilyNames.h
132 DerivedSources/Platform/WebKitFontFamilyNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/bindings/scripts/Hasher.pm $(WebCore)/bindings/scripts/StaticString.pm $(WebCore)/css/WebKitFontFamilyNames.in
133         $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --fonts $(WebCore)/css/WebKitFontFamilyNames.in --outputDir "$(GENSOURCES_PLATFORM)"