[WK2] callOnMainThread() from main thread sometimes results in ASSERTs.
[WebKit-https.git] / GNUmakefile.am
index 2db5848..73fc492 100644 (file)
@@ -27,33 +27,64 @@ VPATH = @srcdir@
 
 DISTCHECK_CONFIGURE_FLAGS = \
        --enable-introspection  \
-       --enable-gtk-doc
+       --enable-gtk-doc \
+       --enable-webkit2
 
 # Directory for autogenerated sources
 GENSOURCES := $(top_builddir)/DerivedSources
 GENSOURCES_JAVASCRIPTCORE := $(top_builddir)/DerivedSources/JavaScriptCore
 GENSOURCES_WEBCORE := $(top_builddir)/DerivedSources/WebCore
+GENSOURCES_WEBINSPECTOR_UI := $(top_builddir)/DerivedSources/WebInspectorUI
 GENSOURCES_WEBKIT := $(top_builddir)/DerivedSources/webkit
+GENSOURCES_WEBKIT2 := $(top_builddir)/DerivedSources/WebKit2
+GENSOURCES_WEBKITDOM := $(top_builddir)/DerivedSources/webkitdom
+GENSOURCES_PLATFORM := $(top_builddir)/DerivedSources/Platform
 GENPROGRAMS := $(top_builddir)/Programs
 GENSOURCES_INSPECTOR := $(GENPROGRAMS)/resources/inspector
-WebCore := $(srcdir)/WebCore
-WebKit := $(srcdir)/WebKit/gtk
+JavaScriptCore := $(srcdir)/Source/JavaScriptCore
+WebCore := $(srcdir)/Source/WebCore
+WebInspectorUI := $(srcdir)/Source/WebInspectorUI
+WebKit := $(srcdir)/Source/WebKit/gtk
+WebKit2 := $(srcdir)/Source/WebKit2
+pkgconfigdir := $(libdir)/pkgconfig
+libwebkitgtkincludedir := $(prefix)/include/webkitgtk-@WEBKITGTK_API_VERSION@
+INSPECTOR_SCRIPTS_DIR := $(JavaScriptCore)/inspector/scripts
 
 # Libraries and support components
 bin_PROGRAMS :=
 noinst_PROGRAMS :=
+libexec_PROGRAMS :=
+noinst_DATA :=
 noinst_HEADERS :=
 noinst_LTLIBRARIES :=
 lib_LTLIBRARIES :=
 IDL_BINDINGS :=
-TEST_PROGS :=
 POFILES :=
+PO_LINGUAS :=
+USER_LINGUAS :=
+USE_LINGUAS :=
 MOFILES :=
+ALL_MOFILES :=
+dom_binding_idls :=
+wtf_sources :=
 javascriptcore_h_api :=
 javascriptcore_cppflags:=
+javascriptcore_cflags :=
 javascriptcore_sources :=
 javascriptcore_built_sources :=
 javascriptcore_built_nosources :=
+llint_nosources :=
+offlineasm_nosources :=
+platform_webcore_cppflags :=
+platform_cppflags :=
+platform_built_sources :=
+platform_sources :=
+platformgtk_cppflags :=
+platformgtk_sources :=
+webcore_platform_sources :=
+webcore_modules_sources :=
+webcore_svg_built_sources :=
+webcore_svg_sources :=
 webcore_cppflags :=
 webcore_sources :=
 webcore_libadd :=
@@ -66,34 +97,77 @@ webkitgtk_static_h_api :=
 webkitgtk_h_api :=
 webkitgtk_sources :=
 webkitgtk_cppflags :=
+webkitgtk_gdom_built_h_api :=
 webkitgtk_gdom_built_sources :=
 webkitgtk_built_sources :=
 webkitgtk_built_nosources :=
+webkit2_sources :=
+webkit2_built_sources :=
+webkit2platform_sources :=
+webkit2gtk_ui_h_api :=
+webkit2gtk_web_extension_h_api :=
+webkit2gtk_h_api :=
+webkit2gtk_built_sources :=
+webkit2_plugin_process_sources :=
+webkit2_plugin_process_built_sources :=
+webkittestrunner_built_sources :=
+libwebcoreinternals_built_sources :=
+minibrowser_built_sources :=
 global_cppflags :=
 global_cflags :=
 global_cxxflags :=
-JSCORE_GIRSOURCES :=
-WEBKIT_GIRSOURCES :=
-FEATURE_DEFINES :=
-typelibsdir :=
-typelibs_DATA :=
 EXTRA_DIST :=
 BUILT_SOURCES :=
 CLEANFILES :=
+DOMAIN :=
 DISTCLEANFILES :=
 MAINTAINERCLEANFILES :=
+pkgconfig_DATA :=
+gdom_symbol_files :=
+
+if ENABLE_INTROSPECTION
+gir_DATA :=
+typelibs_DATA :=
+girdir := $(datadir)/gir-1.0
+typelibsdir := $(libdir)/girepository-1.0
+endif
+
+# We do not care at all about this implicit built-in make rules,
+# disable them to save some build time
+%: %.c
+%: %.cpp
+%: %.o
+(%): %
+%.out: %
+%.c: %.w %.ch
+%.tex: %.w %.ch
+%:: %,v
+%:: RCS/%,v
+%:: RCS/%
+%:: s.%
+%:: SCCS/s.%
 
 global_cppflags += \
        -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type \
        -Wformat -Wformat-security -Wno-format-y2k -Wundef \
        -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings \
-       -Wno-unused-parameter -Wno-parentheses \
-       -fno-exceptions -DENABLE_GLIB_SUPPORT=1
+       -Wno-unused-parameter -Wno-parentheses -fno-exceptions \
+       -DBUILDING_CAIRO__ \
+       -DBUILDING_GTK__
+
+if ENABLE_WEBKIT2
+global_cppflags += \
+       -DBUILDING_WEBKIT2__
 
+endif
 
 global_cxxflags += \
        -fno-rtti
 
+# Read the feature defines file, that's created by generate-feature-defines-files
+# during configuration (SetupWebKitFeatures.m4).
+feature_defines := $(shell cat WebKitFeatures.txt)
+
 # -no-undefined required for building DLLs on Windows
 # It breaks the build on other platforms, so we use it conditionally
 if OS_WIN32
@@ -102,91 +176,7 @@ version_script = -export-symbols-regex "^(webkit_|k?JS).*"
 endif
 
 if OS_GNU
-version_script = -Wl,--version-script,$(srcdir)/Sources/autotools/symbols.filter
-endif
-
-# Convenience libraries
-noinst_LTLIBRARIES += \
-       libJavaScriptCore.la
-
-nodist_EXTRA_libJavaScriptCore_la_SOURCES = \
-       $(javascriptcore_built_nosources)
-
-nodist_libJavaScriptCore_la_SOURCES = \
-       $(javascriptcore_built_sources)
-
-libJavaScriptCore_ladir = $(prefix)/include/webkit-@WEBKITGTK_API_VERSION@/JavaScriptCore
-libJavaScriptCore_la_HEADERS = $(javascriptcore_h_api)
-
-libJavaScriptCore_la_SOURCES = \
-       $(javascriptcore_sources)
-
-libJavaScriptCore_la_LIBADD = \
-       $(UNICODE_LIBS) \
-       $(GLIB_LIBS) \
-       -lpthread
-
-libJavaScriptCore_la_CXXFLAGS = \
-       $(global_cxxflags) \
-       $(libJavaScriptCore_la_CFLAGS)
-
-libJavaScriptCore_la_CFLAGS = \
-       -fstrict-aliasing \
-       -O3 \
-       $(global_cflags) \
-       $(GLIB_CFLAGS) \
-       $(UNICODE_CFLAGS)
-
-libJavaScriptCore_la_CPPFLAGS = \
-       $(global_cppflags) \
-       $(javascriptcore_cppflags)
-
-# Extra checks and flags
-global_cppflags += \
-       -DBUILDING_CAIRO__=1 \
-       -DBUILDING_GTK__=1 \
-       -DWTF_CHANGES
-
-if USE_ICU_UNICODE
-global_cppflags += \
-       -DWTF_USE_ICU_UNICODE=1
-endif
-
-if USE_GLIB_UNICODE
-global_cppflags += \
-       -DWTF_USE_GLIB_UNICODE=1
-endif
-
-if !ENABLE_FAST_MALLOC
-global_cppflags += \
-       -DUSE_SYSTEM_MALLOC
-endif
-
-if USE_GSTREAMER
-global_cppflags += \
-       -DWTF_USE_GSTREAMER=1
-endif
-
-# ----
-# GTK+ 2.x/3.x support
-# ----
-if GTK_API_VERSION_2
-global_cppflags += \
-       -DGTK_API_VERSION_2=1
-endif
-
-if !ENABLE_DEBUG
-global_cppflags += -DNDEBUG
-else
-global_cppflags += \
-       -DG_DISABLE_DEPRECATED \
-       -DGDK_PIXBUF_DISABLE_DEPRECATED \
-       -DGDK_DISABLE_DEPRECATED \
-       -DGTK_DISABLE_DEPRECATED \
-       -DPANGO_DISABLE_DEPRECATED
-# Might be useful in the future
-#      -DGDK_MULTIHEAD_SAFE \
-#      -DGTK_MULTIHEAD_SAFE
+version_script = -Wl,--version-script,$(srcdir)/Source/autotools/symbols.filter
 endif
 
 if ENABLE_COVERAGE
@@ -195,43 +185,74 @@ global_cppflags += \
        -DGCC_INSTRUMENT_PROGRAM_FLOW_ARCS
 endif
 
+# Default to outputting demangled symbols in case of reporting unresolved references or similar.
+# Using AM_LDFLAGS would be more appropriate here, but these are not used at all when linking installable libraries
+# like libwebkitgtk and libwebkit2gtk, so appending the linker flag to the LDFLAGS variable is done instead.
+LDFLAGS += -Wl,--no-demangle
+
 EXTRA_DIST += \
-       $(srcdir)/Sources/autotools/symbols.filter \
-       $(srcdir)/gtk-doc.make \
-       $(srcdir)/WebKit/LICENSE
+       $(srcdir)/Source/autotools/symbols.filter \
+       $(srcdir)/Source/WebKit/LICENSE
 
 # Include module makefiles
-include JavaScriptCore/GNUmakefile.am
-include WebCore/GNUmakefile.am
-include WebKit/gtk/GNUmakefile.am
-include WebCore/bindings/gobject/GNUmakefile.am
+include Source/WTF/GNUmakefile.am
+include Source/JavaScriptCore/GNUmakefile.am
+include Source/Platform/GNUmakefile.am 
+include Source/WebCore/GNUmakefile.am
+include Source/WebCore/bindings/gobject/GNUmakefile.am
+include Source/WebCore/platform/gtk/po/GNUmakefile.am
+include Source/WebInspectorUI/GNUmakefile.am
+include Tools/gtk/GNUmakefile.am
+
+include Source/WebKit/gtk/GNUmakefile.am
+include Tools/GtkLauncher/GNUmakefile.am
+
+include Source/WebKit2/GNUmakefile.am
+include Tools/MiniBrowser/gtk/GNUmakefile.am
+include Source/ThirdParty/ANGLE/GNUmakefile.am
+include Source/ThirdParty/leveldb/GNUmakefile.am
+
+if ENABLE_DEVELOPER_MODE
+include Source/ThirdParty/gtest/GNUmakefile.am
 include Tools/GNUmakefile.am
-include WebKit/gtk/po/GNUmakefile.am
+include Tools/TestWebKitAPI/GNUmakefile.am
+include Tools/WebKitTestRunner/GNUmakefile.am
+endif
+
+# [GTK] Refactor the translations now that we have webkit2
+# https://bugs.webkit.org/show_bug.cgi?id=55153
 
 # Autogenerated sources
 BUILT_SOURCES += \
        $(javascriptcore_built_sources) \
        $(javascriptcore_built_nosources) \
+       $(platform_built_sources) \
        $(webcore_built_sources) \
        $(webcore_built_nosources) \
+       $(webcore_svg_built_sources) \
        $(webkitgtk_built_sources) \
-       $(webkitgtk_built_nosources)
+       $(webkitgtk_built_nosources) \
+       $(webkit2_built_sources) \
+       $(webkit2gtk_built_sources) \
+       $(webkit2_plugin_process_built_sources)
 
 DISTCLEANFILES += \
        $(CLEANFILES) \
        $(builddir)/doltcompile \
-       $(builddir)/doltlibtool
+       $(builddir)/doltlibtool \
+       $(builddir)/WebKitFeatures.h \
+       $(builddir)/WebKitFeatures.txt
 
 MAINTAINERCLEANFILES += \
        $(CLEANFILES) \
        $(builddir)/doltcompile \
        $(builddir)/doltlibtool \
        $(srcdir)/aconfig.h.in \
-       $(srcdir)/Sources/autotools/config.* \
-       $(srcdir)/Sources/autotools/compile \
-       $(srcdir)/Sources/autotools/depcomp \
-       $(srcdir)/Sources/autotools/install-sh \
-       $(srcdir)/Sources/autotools/missing \
+       $(srcdir)/Source/autotools/config.* \
+       $(srcdir)/Source/autotools/compile \
+       $(srcdir)/Source/autotools/depcomp \
+       $(srcdir)/Source/autotools/install-sh \
+       $(srcdir)/Source/autotools/missing \
        $(srcdir)/configure \
        $(srcdir)/GNUmakefile.in \
        $(srcdir)/INSTALL \
@@ -240,8 +261,8 @@ MAINTAINERCLEANFILES += \
 
 # Older automake versions (1.7) place Plo files in a different place so we need
 # to create the output directory manually.
-all-local:
-       $(mkdir_p) $(top_builddir)/$(DEPDIR)/DerivedSources
+all-local: stamp-po
+       $(MKDIR_P) $(top_builddir)/$(DEPDIR)/DerivedSources
 
 # remove built sources and program directories
 clean-local:
@@ -250,3 +271,23 @@ clean-local:
 maintainer-clean-local: distclean-local
 distclean-local:
        -rm -rf $(GENSOURCES) $(GENPROGRAMS)
+
+dist-hook: doc-dist-hook
+doc-dist-hook: docs-build.stamp
+       cp $(WebKit)/NEWS $(distdir)
+if ENABLE_WEBKIT1
+       @mkdir -p $(distdir)/Documentation/webkitgtk/html
+       @mkdir -p $(distdir)/Documentation/webkitgtk/tmpl
+       @-cp ./Documentation/webkitgtk/tmpl/*.sgml $(distdir)/Documentation/webkitgtk/tmpl
+       @cp ./Documentation/webkitgtk/html/* $(distdir)/Documentation/webkitgtk/html
+endif
+if ENABLE_WEBKIT2
+       @mkdir -p $(distdir)/Documentation/webkit2gtk/html
+       @mkdir -p $(distdir)/Documentation/webkit2gtk/tmpl
+       @-cp ./Documentation/webkit2gtk/tmpl/*.sgml $(distdir)/Documentation/webkit2gtk/tmpl
+       @cp ./Documentation/webkit2gtk/html/* $(distdir)/Documentation/webkit2gtk/html
+endif
+       @mkdir -p $(distdir)/Documentation/webkitdomgtk/html
+       @mkdir -p $(distdir)/Documentation/webkitdomgtk/tmpl
+       @-cp ./Documentation/webkitdomgtk/tmpl/*.sgml $(distdir)/Documentation/webkitdomgtk/tmpl
+       @cp ./Documentation/webkitdomgtk/html/* $(distdir)/Documentation/webkitdomgtk/html
\ No newline at end of file