GNUmakefile.am 5.48 KB
Newer Older
1 2 3 4 5 6 7 8
# The platform layer code is built into two separate static libraries - libPlatformGtk.la
# is built from files that require GTK+ and libPlatform.la is built from all the other files.
# This makes it possible to build two separate libPlatformGtk.la libraries, one using GTK3
# and the other (named libPlatformGtk2.la) using GTK2. The latter is required by the
# WebKitPluginProcess in WebKit2 as some plugins (such as Flash) still use GTK2.
# For now we only build the libPlatformGtk library as there are no source files in place yet
# that could be built into libPlatform.

9
platform_cppflags += \
10 11 12 13
	-I$(srcdir)/Source/ThirdParty/ANGLE/src \
	-I$(srcdir)/Source/ThirdParty/ANGLE/include \
	-I$(srcdir)/Source/ThirdParty/ANGLE/include/GLSLANG \
	-I$(srcdir)/Source/ThirdParty/ANGLE/include/KHR \
14 15 16 17
	-I$(top_builddir)/DerivedSources/Platform

platformgtk_cppflags += \
	-DWEBKITGTK_API_VERSION_STRING=\"@WEBKITGTK_API_VERSION@\" \
18 19 20 21 22 23 24 25 26 27 28 29
	-DDATA_DIR=\"${datadir}\"

# This is the minimal set of Source/WebCore/platform subdirectories that contain headers required by the GTK-specific
# platform source files. These inclusions are required due to platform layer source files not yet completely migrated
# into Source/Platform. Only Source/WebCore/platform subdirectories must be listed here as this, coupled with the
# header inclusion in source files that's done via specifying the header basename, prevents any platform violations
# occurring.
platform_webcore_cppflags += \
	-I$(srcdir)/Source/WebCore/platform \
	-I$(srcdir)/Source/WebCore/platform/animation \
	-I$(srcdir)/Source/WebCore/platform/audio \
	-I$(srcdir)/Source/WebCore/platform/cairo \
30
	-I$(srcdir)/Source/WebCore/platform/geoclue \
31
	-I$(srcdir)/Source/WebCore/platform/glib \
32 33
	-I$(srcdir)/Source/WebCore/platform/graphics \
	-I$(srcdir)/Source/WebCore/platform/graphics/cairo \
34 35 36 37 38 39
	-I$(srcdir)/Source/WebCore/platform/graphics/cpu/arm \
	-I$(srcdir)/Source/WebCore/platform/graphics/cpu/arm/filters \
	-I$(srcdir)/Source/WebCore/platform/graphics/egl \
	-I$(srcdir)/Source/WebCore/platform/graphics/filters \
	-I$(srcdir)/Source/WebCore/platform/graphics/glx \
	-I$(srcdir)/Source/WebCore/platform/graphics/gpu \
40 41
	-I$(srcdir)/Source/WebCore/platform/graphics/gstreamer \
	-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 47
	-I$(srcdir)/Source/WebCore/platform/graphics/transforms \
	-I$(srcdir)/Source/WebCore/platform/gtk \
48 49 50 51 52 53 54 55
	-I$(srcdir)/Source/WebCore/platform/image-decoders \
	-I$(srcdir)/Source/WebCore/platform/image-decoders/bmp \
	-I$(srcdir)/Source/WebCore/platform/image-decoders/cairo \
	-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/png \
	-I$(srcdir)/Source/WebCore/platform/image-decoders/webp \
56 57 58
	-I$(srcdir)/Source/WebCore/platform/network \
	-I$(srcdir)/Source/WebCore/platform/network/gtk \
	-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 66
	libPlatformGtk.la

67 68 69 70 71 72 73
# Artificial dependencies to try to force a relink of the Platform libraries when their makefile changes.
platform_lib_for_dep = libPlatform.la
$(platform_lib_for_dep): $(srcdir)/Source/Platform/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am

platformgtk_lib_for_dep = libPlatformGtk.la
$(platformgtk_lib_for_dep): $(srcdir)/Source/Platform/GNUmakefile.am $(srcdir)/Source/WebCore/GNUmakefile.list.am

74 75 76
libPlatform_la_SOURCES = \
	$(platform_sources)

77 78 79
nodist_libPlatform_la_SOURCES = \
	$(platform_built_sources)

80 81 82 83 84 85 86 87 88 89 90 91 92 93
libPlatform_la_CXXFLAGS = \
	-fvisibility-inlines-hidden \
	$(global_cxxflags)

libPlatform_la_CFLAGS = \
	-fvisibility=hidden \
	$(global_cflags)

libPlatform_la_CPPFLAGS = \
	-DBUILDING_WEBKIT \
	$(global_cppflags) \
	$(platform_cppflags) \
	$(platform_webcore_cppflags) \
	$(javascriptcore_cppflags) \
94 95
	-fno-strict-aliasing \
	$(CAIRO_CFLAGS) \
96 97
	$(ENCHANT_CFLAGS) \
	$(FREETYPE_CFLAGS) \
98
	$(GEOCLUE_CFLAGS) \
99
	$(GSTREAMER_CFLAGS) \
100 101
	$(LIBSOUP_CFLAGS) \
	$(UPOWER_GLIB_CFLAGS)
102

103 104 105 106 107 108 109 110 111 112 113 114 115 116
libPlatformGtk_la_SOURCES = \
	$(platformgtk_sources)

libPlatformGtk_la_CXXFLAGS = \
	-fvisibility-inlines-hidden \
	$(global_cxxflags)

libPlatformGtk_la_CFLAGS = \
	-fvisibility=hidden \
	$(global_cflags)

libPlatformGtk_la_CPPFLAGS = \
	-DBUILDING_WEBKIT \
	$(global_cppflags) \
117
	$(platform_cppflags) \
118 119 120 121
	$(platformgtk_cppflags) \
	$(platform_webcore_cppflags) \
	$(javascriptcore_cppflags) \
	-fno-strict-aliasing \
122
	$(FREETYPE_CFLAGS) \
123
	$(GSTREAMER_CFLAGS) \
124 125 126
	$(GTK_CFLAGS) \
	$(LIBSECRET_CFLAGS) \
	$(LIBSOUP_CFLAGS)
127 128 129 130 131 132 133

DerivedSources/Platform/ColorData.cpp: $(WebCore)/platform/ColorData.gperf $(WebCore)/make-hash-tools.pl
	$(AM_V_GEN)$(PERL) $(WebCore)/make-hash-tools.pl $(GENSOURCES_PLATFORM) $(WebCore)/platform/ColorData.gperf

DerivedSources/Platform/WebKitFontFamilyNames.cpp: DerivedSources/Platform/WebKitFontFamilyNames.h
DerivedSources/Platform/WebKitFontFamilyNames.h: $(WebCore)/dom/make_names.pl $(WebCore)/bindings/scripts/Hasher.pm $(WebCore)/bindings/scripts/StaticString.pm $(WebCore)/css/WebKitFontFamilyNames.in
	$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --fonts $(WebCore)/css/WebKitFontFamilyNames.in --outputDir "$(GENSOURCES_PLATFORM)"