Webkit-gtk: Forgot to add updated makefile
[openembedded.git] / recipes / webkit / webkit-gtk / GNUmakefile.am
index c80d649..a662290 100644 (file)
 srcdir = @srcdir@
 VPATH = @srcdir@
 
+DISTCHECK_CONFIGURE_FLAGS = \
+       --enable-introspection  \
+       --enable-gtk-doc
+
 # Directory for autogenerated sources
 GENSOURCES := $(top_builddir)/DerivedSources
+GENSOURCESWEBKITDOM := $(top_builddir)/DerivedSources/webkit
 GENPROGRAMS := $(top_builddir)/Programs
 
 # Script for creating hash tables
 CREATE_HASH_TABLE = $(srcdir)/JavaScriptCore/create_hash_table
 
+# Script for creating regexp tables
+CREATE_REGEXP_TABLES = $(srcdir)/JavaScriptCore/create_regex_tables
+
 # Programs to run the WebKitGtk unit tests
 GTESTER = gtester
 GTESTER_REPORT = gtester-report
@@ -44,6 +52,7 @@ GTESTER_REPORT = gtester-report
 bin_PROGRAMS :=
 noinst_PROGRAMS :=
 noinst_HEADERS :=
+noinst_LTLIBRARIES :=
 lib_LIBRARIES :=
 IDL_BINDINGS :=
 TEST_PROGS :=
@@ -63,6 +72,14 @@ webcore_built_nosources :=
 webcore_dist :=
 webcoregtk_cppflags :=
 webcoregtk_sources :=
+IDL_BINDINGS_GDOM :=
+GDOM_AUTO_CLASSES :=
+GDOM_FIXED_CLASSES :=
+GDOM_CLASSES :=
+GDOM_HEADERS_BUILT :=
+GDOM_HEADERS_FIXED :=
+libgdom_h_api :=
+libgdom_cleanfiles :=
 webkitgtk_h_api :=
 webkitgtk_sources :=
 webkitgtk_cppflags :=
@@ -74,6 +91,20 @@ global_cflags :=
 global_cxxflags :=
 corekit_cflags :=
 corekit_cppflags :=
+JSCORE_GIRSOURCES :=
+WEBKIT_GIRSOURCES :=
+typelibsdir :=
+typelibs_DATA :=
+EXTRA_DIST :=
+BUILT_SOURCES :=
+CLEANFILES :=
+DISTCLEANFILES :=
+MAINTAINERCLEANFILES :=
+
+webcoregtk_cppflags += \
+       -I$(top_builddir)/DerivedSources/webkit \
+       -I$(srcdir)/WebCore/bindings \
+       -I$(srcdir)/WebCore/bindings/gobject
 
 # CFLAGS/CXXFLAGS used by WebCore and WebKit
 #
@@ -87,7 +118,6 @@ corekit_cflags += \
        $(GAIL_CFLAGS) \
        $(GEOCLUE_CFLAGS) \
        $(GLIB_CFLAGS) \
-       $(GNOMEKEYRING_CFLAGS) \
        $(GSTREAMER_CFLAGS) \
        $(GTK_CFLAGS) \
        $(HILDON_CFLAGS) \
@@ -107,7 +137,8 @@ corekit_cppflags += \
        $(webcoregtk_cppflags) \
        $(javascriptcore_cppflags)
 
-if TARGET_X11
+# For the Gtk port we want to use XP_UNIX both in X11 and Mac
+if !TARGET_WIN32
 corekit_cppflags += -DXP_UNIX
 endif
 
@@ -128,6 +159,7 @@ global_cxxflags += \
 # It breaks the build on other platforms, so we use it conditionally
 if OS_WIN32
 no_undefined = -no-undefined
+version_script = -export-symbols-regex "^(webkit_|JS).*"
 endif
 
 if OS_GNU
@@ -139,15 +171,16 @@ lib_LTLIBRARIES = \
        libwebkit-1.0.la
 
 # Convenience libraries
-noinst_LTLIBRARIES = \
-       libJavaScriptCore.la \
-       libWebCore.la
+noinst_LTLIBRARIES += \
+       libJavaScriptCore.la
 
 # JavaScriptCore
 javascriptcore_cppflags += \
        -I$(srcdir)/JavaScriptCore/ForwardingHeaders \
        -I$(srcdir)/JavaScriptCore/parser \
        -I$(srcdir)/JavaScriptCore/wtf \
+       -I$(srcdir)/JavaScriptCore/wtf/gtk \
+       -I$(srcdir)/JavaScriptCore/wtf/gobject \
        -I$(top_builddir)/DerivedSources
 
 nodist_EXTRA_libJavaScriptCore_la_SOURCES = \
@@ -182,30 +215,12 @@ libJavaScriptCore_la_CPPFLAGS = \
        $(global_cppflags) \
        $(javascriptcore_cppflags)
 
-# WebCore
-nodist_EXTRA_libWebCore_la_SOURCES = \
+# WebKit
+nodist_EXTRA_libwebkit_1_0_la_SOURCES = \
        $(webcore_built_nosources)
 
-nodist_libWebCore_la_SOURCES = \
-       $(webcore_built_sources)
-
-libWebCore_la_SOURCES = \
-       $(webcore_sources) \
-       $(webcoregtk_sources)
-
-libWebCore_la_CXXFLAGS = \
-       $(global_cxxflags) \
-       $(corekit_cflags)
-
-libWebCore_la_CFLAGS = \
-       $(global_cflags) \
-       $(corekit_cflags)
-
-libWebCore_la_CPPFLAGS = \
-       $(corekit_cppflags)
-
-# WebKit
 nodist_libwebkit_1_0_la_SOURCES = \
+       $(webcore_built_sources) \
        $(webkitgtk_built_sources)
 
 libwebkit_1_0_ladir = $(prefix)/include/webkit-1.0/webkit
@@ -214,6 +229,8 @@ libwebkit_1_0_la_HEADERS = \
        WebKit/gtk/webkit/webkitenumtypes.h
 
 libwebkit_1_0_la_SOURCES = \
+       $(webcore_sources) \
+       $(webcoregtk_sources) \
        $(webkitgtk_sources)
 
 libwebkit_1_0_la_CXXFLAGS = \
@@ -237,8 +254,8 @@ libwebkit_1_0_la_LDFLAGS = \
 libwebkit_1_0_la_LIBADD = \
        -lpthread \
        libJavaScriptCore.la \
-       libWebCore.la \
        libWebCoreJS.la \
+       libgdom.la \
        $(webcore_ldflags) \
        $(CAIRO_LIBS) \
        $(COVERAGE_LDFLAGS) \
@@ -247,7 +264,6 @@ libwebkit_1_0_la_LIBADD = \
        $(GAIL_LIBS) \
        $(GEOCLUE_LIBS) \
        $(GLIB_LIBS) \
-       $(GNOMEKEYRING_LIBS) \
        $(GSTREAMER_LIBS) \
        $(GTK_LIBS) \
        $(HILDON_LIBS) \
@@ -261,6 +277,15 @@ libwebkit_1_0_la_LIBADD = \
        $(UNICODE_LIBS) \
        $(XT_LIBS)
 
+libgdom_ladir = $(prefix)/include/webkit-1.0/webkit
+nodist_libgdom_la_HEADERS = \
+       $(libgdom_h_api)
+
+libgdom_cleanfiles += \
+       $(top_builddir)/WebKit/gtk/webkit/webkitdomenumtypes.h \
+       $(top_builddir)/libgdom.la \
+       $(top_builddir)/stamp-webkitdomenumtypes.h
+
 #
 # Extra checks and flags
 global_cppflags += \
@@ -274,16 +299,8 @@ global_cppflags += \
 endif
 
 if USE_GLIB_UNICODE
-# https://bugs.webkit.org/show_bug.cgi?id=15914
-# In patch 1/4 we are compiling a hybrid version of GLib WTF Unicode
-# functionality mixed with ICU-based text codecs and TextBreakIterator.
-# For the transition, introducing an interim HYBRID macro.
-# This macro is required for compiling WTF with GLib Unicode backend,
-# but at the same time keeping ICU dependency for codecs and break iterator.
-# It will be removed with patch 3/4 of the above bug.
 global_cppflags += \
-       -DWTF_USE_GLIB_UNICODE=1 \
-       -DWTF_USE_GLIB_ICU_UNICODE_HYBRID=1
+       -DWTF_USE_GLIB_UNICODE=1
 endif
 
 if !ENABLE_FAST_MALLOC
@@ -315,25 +332,33 @@ global_cppflags += \
 endif
 
 webkitgtk_h_api += \
-       WebKit/gtk/webkit/webkit.h \
-       WebKit/gtk/webkit/webkitdefines.h \
-       WebKit/gtk/webkit/webkitdownload.h \
-       WebKit/gtk/webkit/webkiterror.h \
-       WebKit/gtk/webkit/webkitnetworkrequest.h \
-       WebKit/gtk/webkit/webkitsoupauthdialog.h \
-       WebKit/gtk/webkit/webkitversion.h \
-       WebKit/gtk/webkit/webkitwebbackforwardlist.h \
-       WebKit/gtk/webkit/webkitwebframe.h \
-       WebKit/gtk/webkit/webkitwebhistoryitem.h \
-       WebKit/gtk/webkit/webkitwebinspector.h \
-       WebKit/gtk/webkit/webkitwebnavigationaction.h \
-       WebKit/gtk/webkit/webkitwebpolicydecision.h \
-       WebKit/gtk/webkit/webkitwebsettings.h \
-       WebKit/gtk/webkit/webkitwebwindowfeatures.h \
-       WebKit/gtk/webkit/webkitwebview.h
+       $(srcdir)/WebKit/gtk/webkit/webkit.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitdefines.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitdownload.h \
+       $(srcdir)/WebKit/gtk/webkit/webkiterror.h \
+       $(srcdir)/WebKit/gtk/webkit/webkithittestresult.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitnetworkrequest.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitnetworkresponse.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitsoupauthdialog.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebbackforwardlist.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebdatasource.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebframe.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebhistoryitem.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebinspector.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebnavigationaction.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebpolicydecision.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitgeolocationpolicydecision.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebresource.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebsettings.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebwindowfeatures.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebview.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitwebdatabase.h \
+       $(srcdir)/WebKit/gtk/webkit/webkitsecurityorigin.h \
+       $(top_builddir)/WebKit/gtk/webkit/webkitversion.h
 
 webkitgtk_built_sources += \
        DerivedSources/webkitenumtypes.cpp \
+       DerivedSources/webkitdomenumtypes.cpp \
        DerivedSources/webkitmarshal.cpp \
        DerivedSources/webkitmarshal.h \
        WebKit/gtk/webkit/webkitenumtypes.h
@@ -343,6 +368,8 @@ webkitgtk_sources += \
        WebKit/gtk/WebCoreSupport/ChromeClientGtk.h \
        WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp \
        WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h \
+       WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp \
+       WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h \
        WebKit/gtk/WebCoreSupport/DragClientGtk.cpp \
        WebKit/gtk/WebCoreSupport/DragClientGtk.h \
        WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp \
@@ -353,22 +380,31 @@ webkitgtk_sources += \
        WebKit/gtk/WebCoreSupport/InspectorClientGtk.h \
        WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp \
        WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h \
+       WebKit/gtk/webkit/webkitapplicationcache.cpp \
        WebKit/gtk/webkit/webkitdownload.cpp \
        WebKit/gtk/webkit/webkiterror.cpp \
+       WebKit/gtk/webkit/webkithittestresult.cpp \
        WebKit/gtk/webkit/webkitnetworkrequest.cpp \
+       WebKit/gtk/webkit/webkitnetworkresponse.cpp \
        WebKit/gtk/webkit/webkitprivate.cpp \
        WebKit/gtk/webkit/webkitprivate.h \
        WebKit/gtk/webkit/webkitsoupauthdialog.c \
        WebKit/gtk/webkit/webkitversion.cpp \
        WebKit/gtk/webkit/webkitwebbackforwardlist.cpp \
+       WebKit/gtk/webkit/webkitwebdatasource.cpp \
        WebKit/gtk/webkit/webkitwebframe.cpp \
        WebKit/gtk/webkit/webkitwebhistoryitem.cpp \
        WebKit/gtk/webkit/webkitwebinspector.cpp \
        WebKit/gtk/webkit/webkitwebnavigationaction.cpp \
        WebKit/gtk/webkit/webkitwebpolicydecision.cpp \
+       WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp \
+       WebKit/gtk/webkit/webkitwebresource.cpp \
+       WebKit/gtk/webkit/webkitwebdatabase.cpp \
+       WebKit/gtk/webkit/webkitsecurityorigin.cpp \
        WebKit/gtk/webkit/webkitwebsettings.cpp \
        WebKit/gtk/webkit/webkitwebview.cpp \
-       WebKit/gtk/webkit/webkitwebwindowfeatures.cpp
+       WebKit/gtk/webkit/webkitwebwindowfeatures.cpp \
+       WebKit/gtk/webkit/webkitworkers.cpp
 
 webkitgtk_cppflags += \
        -DBUILDING_WEBKIT \
@@ -377,17 +413,18 @@ webkitgtk_cppflags += \
        -I$(srcdir)/WebKit/gtk \
        -I$(srcdir)/WebKit/gtk/WebCoreSupport \
        -I$(srcdir)/WebKit/gtk/webkit \
-       -I$(top_builddir)/WebKit/gtk/webkit
-
-if USE_GNOMEKEYRING
-webkitgtk_cppflags += \
-       -DWTF_USE_GNOMEKEYRING=1
-endif
+       -I$(top_builddir)/WebKit/gtk \
+       -I$(top_builddir)/WebKit/gtk/webkit \
+       -I$(GENSOURCESWEBKITDOM)
 
 webkitgtk_cleanfiles += \
+       $(top_builddir)/stamp-webkitmarshal.cpp \
+       $(top_builddir)/stamp-webkitmarshal.h \
+       $(top_builddir)/stamp-webkitenumtypes.cpp \
+       $(top_builddir)/stamp-webkitenumtypes.h \
+       $(top_builddir)/Programs/GtkLauncher \
        $(top_builddir)/WebKit/gtk/docs/version.xml \
        $(top_builddir)/WebKit/gtk/docs/GNUmakefile \
-       $(top_builddir)/Programs/GtkLauncher \
        $(top_builddir)/WebKit/gtk/webkit-1.0.pc \
        $(top_builddir)/WebKit/gtk/webkit/webkitenumtypes.h \
        $(top_builddir)/WebKit/gtk/webkit/webkitversion.h
@@ -395,11 +432,50 @@ webkitgtk_cleanfiles += \
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = WebKit/gtk/webkit-1.0.pc
 
-stamp_files := \
-       stamp-webkitmarshal.cpp \
-       stamp-webkitmarshal.h \
-       stamp-webkitenumtypes.cpp \
-       stamp-webkitenumtypes.h
+if ENABLE_INTROSPECTION
+JSCORE_GIRSOURCES += JSCore-1.0.gir
+WEBKIT_GIRSOURCES += WebKit-1.0.gir
+
+# JSCore-1.0.gir is handwritten - this is a hack to make the typelib
+# generation work during make dist
+JSCore-1.0.gir: $(srcdir)/WebKit/gtk/JSCore-1.0.gir
+       cp $(srcdir)/WebKit/gtk/JSCore-1.0.gir $(builddir)/
+
+$(WEBKIT_GIRSOURCES): $(JSCORE_GIRSOURCES) $(G_IR_SCANNER) libwebkit-1.0.la
+       $(AM_V_GEN)$(G_IR_SCANNER) -v --namespace WebKit --nsversion=1.0 \
+            --include=GObject-2.0 \
+            --include=Gtk-2.0 \
+            --include=JSCore-1.0 \
+            --include=Soup-2.4 \
+            --library=webkit-1.0 \
+            --libtool="$(LIBTOOL)" \
+            --pkg gobject-2.0 \
+            --pkg gtk+-2.0 \
+            --pkg libsoup-2.4 \
+            --output $@ \
+            --add-include-path $(top_srcdir)/WebKit/gtk \
+            -I$(top_srcdir)/WebKit/gtk \
+            -I$(top_builddir)/WebKit/gtk \
+            -I$(top_builddir)/DerivedSources \
+            -I$(top_srcdir)/JavaScriptCore/ForwardingHeaders \
+            -I$(top_srcdir) \
+            $(webkitgtk_h_api) \
+            $(libgdom_h_api)
+
+girdir = $(datadir)/gir-1.0
+gir_DATA = $(WEBKIT_GIRSOURCES) $(JSCORE_GIRSOURCES)
+
+typelibsdir += $(libdir)/girepository-1.0
+typelibs_DATA += $(JSCORE_GIRSOURCES:.gir=.typelib) $(WEBKIT_GIRSOURCES:.gir=.typelib)
+
+%.typelib: %.gir $(G_IR_COMPILER)
+       $(AM_V_GEN)$(G_IR_COMPILER) --includedir $(top_srcdir)/WebKit/gtk $< -o $@
+
+CLEANFILES += $(JSCORE_GIRSOURCES) $(WEBKIT_GIRSOURCES) $(typelibs_DATA)
+
+endif
+
+EXTRA_DIST += WebKit/gtk/JSCore-1.0.gir
 
 WEBKIT_MARSHAL = $(GENSOURCES)/webkitmarshal
 WEBKIT_MARSHAL_LIST = $(top_srcdir)/WebKit/gtk/webkitmarshal.list
@@ -411,19 +487,18 @@ $(WEBKIT_MARSHAL).h: stamp-webkitmarshal.h
        @true
 
 stamp-webkitmarshal.cpp: $(WEBKIT_MARSHAL_LIST)
-       echo "extern \"C\" {" > $(WEBKIT_MARSHAL).cpp && \
+       $(AM_V_GEN) echo "extern \"C\" {" > $(WEBKIT_MARSHAL).cpp && \
        $(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) --body >> $(WEBKIT_MARSHAL).cpp && echo '}' >> $(WEBKIT_MARSHAL).cpp && \
        echo timestamp > $(@F)
 
 stamp-webkitmarshal.h: $(WEBKIT_MARSHAL_LIST)
-       $(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) --header > $(WEBKIT_MARSHAL).h && \
+       $(AM_V_GEN)$(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) --header > $(WEBKIT_MARSHAL).h && \
        echo timestamp > $(@F)
 
 WebKit/gtk/webkit/webkitenumtypes.h: stamp-webkitenumtypes.h
        @true
 stamp-webkitenumtypes.h: $(webkitgtk_h_api) GNUmakefile
-       (cd $(srcdir) \
-       && glib-mkenums \
+       $(AM_V_GEN)glib-mkenums \
                        --fhead "#ifndef WEBKIT_ENUM_TYPES_H\n" \
                        --fhead "#define WEBKIT_ENUM_TYPES_H\n\n" \
                        --fhead "#include <glib-object.h>\n\n" \
@@ -431,21 +506,19 @@ stamp-webkitenumtypes.h: $(webkitgtk_h_api) GNUmakefile
                        --fhead "G_BEGIN_DECLS\n\n" \
                        --ftail "G_END_DECLS\n\n" \
                        --ftail "#endif\n" \
-                       --fprod "#include <@filename@>\n\n" \
+                       --fprod "#include <webkit/@basename@>\n\n" \
                        --eprod "#define WEBKIT_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n\n" \
                        --eprod "WEBKIT_API GType\n@enum_name@_get_type(void);\n\n" \
                $(webkitgtk_h_api) | \
-               sed 's,WebKit/gtk/,,' | \
                sed 's,web_kit,webkit,' | \
                sed 's,WEBKIT_TYPE_KIT,WEBKIT_TYPE,' \
-               > xgen-gth \
+               > xgen-gth \
        && (cmp -s xgen-gth WebKit/gtk/webkit/webkitenumtypes.h || cp xgen-gth WebKit/gtk/webkit/webkitenumtypes.h) \
        && rm -f xgen-gth \
        && echo timestamp > $(@F)
 
 DerivedSources/webkitenumtypes.cpp: $(webkitgtk_h_api) GNUmakefile
-       (cd $(srcdir) \
-       && glib-mkenums \
+       $(AM_V_GEN)glib-mkenums \
                        --fhead "#include <config.h>\n" \
                        --fhead "#include <glib-object.h>\n" \
                        --fhead "#include \"$(top_builddir)/WebKit/gtk/webkit/webkitenumtypes.h\"\n\n" \
@@ -462,12 +535,55 @@ DerivedSources/webkitenumtypes.cpp: $(webkitgtk_h_api) GNUmakefile
                        --ftail "}\n" \
                $(webkitgtk_h_api) | \
                sed 's,web_kit,webkit,' \
-               > xgen-gtc \
+               > xgen-gtc \
        && cp xgen-gtc $@ \
        && rm -f xgen-gtc
 
+WebKit/gtk/webkit/webkitdomenumtypes.h: stamp-webkitdomenumtypes.h
+       @true
+stamp-webkitdomenumtypes.h: $(libgdom_h_api) GNUmakefile
+       $(AM_V_GEN)glib-mkenums \
+                       --fhead "#ifndef WEBKIT_DOM_ENUM_TYPES_H\n" \
+                       --fhead "#define WEBKIT_DOM_ENUM_TYPES_H\n\n" \
+                       --fhead "#include <glib-object.h>\n\n" \
+                       --fhead "G_BEGIN_DECLS\n\n" \
+                       --ftail "G_END_DECLS\n\n" \
+                       --ftail "#endif\n" \
+                       --fprod "#include <webkit/@basename@>\n\n" \
+                       --eprod "#define WEBKIT_DOM_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n\n" \
+                       --eprod "WEBKIT_API GType\n@enum_name@_get_type(void);n\n" \
+                       $(libgdom_h_api) | \
+               sed 's,web_kit,webkit_dom,' | \
+               sed 's,WEBKIT_DOM_TYPE_KIT,WEBKIT_DOM_TYPE,' \
+               > xgen-cgth \
+       && (cmp -s xgen-cgth WebKit/gtk/webkit/webkitdomenumtypes.h || cp xgen-cgth WebKit/gtk/webkit/webkitdomenumtypes.h) \
+       && rm -f xgen-cgth \
+       && echo timestamp > $(@F)
+
+DerivedSources/webkitdomenumtypes.cpp: $(top_builddir)/WebKit/gtk/webkit/webkitdomenumtypes.h $(libgdom_h_api) GNUmakefile
+       $(AM_V_GEN)glib-mkenums \
+                       --fhead "#include <config.h>\n" \
+                       --fhead "#include <glib-object.h>\n" \
+                       --fhead "#include \"$(top_builddir)/WebKit/gtk/webkit/webkitdomenumtypes.h\"\n\n" \
+                       --fhead "extern \"C\" {\n\n" \
+                       --fprod "\n/* enumerations from \"@filename@\" */" \
+                       --vhead "static const G@Type@Value _@enum_name@_values] = {" \
+                       --vprod "    { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+                       --vtail "    { 0, NULL, NULL }\n};\n\n" \
+                       --vtail "GType @enum_name@_get_type(void)\n{\n" \
+                       --vtail "    static GType type = 0;\n\n" \
+                       --vtail "    if (!type)\n" \
+                       --vtail "        type = g_@type@_register_static(\"@EnumName@\", _@enum_name@_values);\n\n" \
+                       --vtail "    return type;\n}\n\n" \
+                       --ftail "}\n" \
+               $(libgdom_h_api) | \
+               sed 's,web_kit,webkitdom,' \
+               > xgen-cgtc \
+       && cp xgen-cgtc $@ \
+       && rm -f xgen-cgtc
+
 # Files that will be distributed
-EXTRA_DIST = \
+EXTRA_DIST += \
        $(srcdir)/gtk-doc.make \
        WebKit/LICENSE \
        $(javascriptcore_dist) \
@@ -482,7 +598,9 @@ EXTRA_DIST = \
        $(srcdir)/WebKit/gtk/docs/webkitgtk-sections.txt \
        $(srcdir)/WebKit/gtk/docs/version.xml.in \
        $(srcdir)/WebKit/gtk/po/* \
-       $(srcdir)/WebKit/gtk/resources/*
+       $(srcdir)/WebKit/gtk/resources/* \
+       $(srcdir)/WebKit/gtk/tests/resources/* \
+       $(srcdir)/WebKit/gtk/tests/test_utils.h
 
 # extra resource files
 resourcesdir = ${datadir}/webkit-1.0/resources
@@ -491,11 +609,6 @@ dist_resources_DATA = \
 
 # END WEBKIT GTK+
 
-# Files that will be cleaned
-MAINTAINERCLEANFILES := $(stamp_files) $(BUILT_SOURCES) doltcompile doltlibtool
-DISTCLEANFILES := $(stamp_files) $(BUILT_SOURCES) doltcompile doltlibtool
-CLEANFILES := $(stamp_files) $(BUILT_SOURCES)
-
 # Include module makefiles
 include JavaScriptCore/GNUmakefile.am
 include WebCore/GNUmakefile.am
@@ -510,6 +623,9 @@ webkit_tests_cflags = \
        -I$(srcdir)/JavaScriptCore/ForwardingHeaders \
        -I$(srcdir)/WebKit/gtk \
        -I$(top_builddir)/WebKit/gtk \
+       -I$(top_builddir)/DerivedSources \
+       -I$(top_srcdir)/WebCore/bindings \
+       -I$(top_srcdir)/WebCore/bindings/gobject \
        $(global_cflags) \
        $(GLIB_CFLAGS) \
        $(GTK_CFLAGS) \
@@ -525,32 +641,70 @@ webkit_tests_ldflags = \
        -no-install \
        -no-fast-install
 
-TEST_PROGS += Programs/unittests/testhttpbackend \
+TEST_PROGS += \
+       Programs/unittests/testdomdocument \
+       Programs/unittests/testdomdomwindow \
+       Programs/unittests/testhttpbackend \
        Programs/unittests/testloading \
+       Programs/unittests/testglobals \
+       Programs/unittests/testmimehandling \
        Programs/unittests/testnetworkrequest \
+       Programs/unittests/testnetworkresponse \
        Programs/unittests/testwebframe \
        Programs/unittests/testwebbackforwardlist \
        Programs/unittests/testwebhistoryitem \
+       Programs/unittests/testwindow \
        Programs/unittests/testdownload \
        Programs/unittests/testatk \
-       Programs/unittests/testwebsettings
+       Programs/unittests/testatkroles \
+       Programs/unittests/testhittestresult \
+       Programs/unittests/testwebsettings \
+       Programs/unittests/testwebresource \
+       Programs/unittests/testwebdatasource \
+       Programs/unittests/testwebview \
+       Programs/unittests/testkeyevents
 
 # Add additional tests here
+Programs_unittests_testdomdocument_SOURCES = WebKit/gtk/tests/testdomdocument.c
+Programs_unittests_testdomdocument_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testdomdocument_LDADD = $(webkit_tests_ldadd)
+Programs_unittests_testdomdocument_LDFLAGS = $(webkit_tests_ldflags)
+
+Programs_unittests_testdomdomwindow_SOURCES = WebKit/gtk/tests/testdomdomwindow.c
+Programs_unittests_testdomdomwindow_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testdomdomwindow_LDADD = $(webkit_tests_ldadd)
+Programs_unittests_testdomdomwindow_LDFLAGS = $(webkit_tests_ldflags)
+
 Programs_unittests_testhttpbackend_SOURCES = WebKit/gtk/tests/testhttpbackend.c
 Programs_unittests_testhttpbackend_CFLAGS = $(webkit_tests_cflags)
 Programs_unittests_testhttpbackend_LDADD = $(webkit_tests_ldadd)
 Programs_unittests_testhttpbackend_LDFLAGS = $(webkit_tests_ldflags)
 
+Programs_unittests_testglobals_SOURCES = WebKit/gtk/tests/testglobals.c
+Programs_unittests_testglobals_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testglobals_LDADD = $(webkit_tests_ldadd)
+Programs_unittests_testglobals_LDFLAGS = $(webkit_tests_ldflags)
+
 Programs_unittests_testloading_SOURCES = WebKit/gtk/tests/testloading.c
 Programs_unittests_testloading_CFLAGS = $(webkit_tests_cflags)
 Programs_unittests_testloading_LDADD = $(webkit_tests_ldadd)
 Programs_unittests_testloading_LDFLAGS = $(webkit_tests_ldflags)
 
+Programs_unittests_testmimehandling_SOURCES = WebKit/gtk/tests/testmimehandling.c WebKit/gtk/tests/test_utils.c
+Programs_unittests_testmimehandling_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testmimehandling_LDADD = $(webkit_tests_ldadd)
+Programs_unittests_testmimehandling_LDFLAGS = $(webkit_tests_ldflags)
+
 Programs_unittests_testnetworkrequest_SOURCES = WebKit/gtk/tests/testnetworkrequest.c
 Programs_unittests_testnetworkrequest_CFLAGS = $(webkit_tests_cflags)
 Programs_unittests_testnetworkrequest_LDADD = $(webkit_tests_ldadd)
 Programs_unittests_testnetworkrequest_LDFLAGS = $(webkit_tests_ldflags)
 
+Programs_unittests_testnetworkresponse_SOURCES = WebKit/gtk/tests/testnetworkresponse.c
+Programs_unittests_testnetworkresponse_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testnetworkresponse_LDADD = $(webkit_tests_ldadd)
+Programs_unittests_testnetworkresponse_LDFLAGS = $(webkit_tests_ldflags)
+
 Programs_unittests_testwebframe_SOURCES = WebKit/gtk/tests/testwebframe.c
 Programs_unittests_testwebframe_CFLAGS = $(webkit_tests_cflags)
 Programs_unittests_testwebframe_LDADD = $(webkit_tests_ldadd)
@@ -566,6 +720,11 @@ Programs_unittests_testwebhistoryitem_CFLAGS = $(webkit_tests_cflags)
 Programs_unittests_testwebhistoryitem_LDADD = $(webkit_tests_ldadd)
 Programs_unittests_testwebhistoryitem_LDFLAGS = $(webkit_tests_ldflags)
 
+Programs_unittests_testwindow_SOURCES = WebKit/gtk/tests/testwindow.c
+Programs_unittests_testwindow_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testwindow_LDADD = $(webkit_tests_ldadd)
+Programs_unittests_testwindow_LDFLAGS = $(webkit_tests_ldflags)
+
 Programs_unittests_testdownload_SOURCES = WebKit/gtk/tests/testdownload.c
 Programs_unittests_testdownload_CFLAGS = $(webkit_tests_cflags)
 Programs_unittests_testdownload_LDADD = $(webkit_tests_ldadd)
@@ -576,25 +735,64 @@ Programs_unittests_testatk_CFLAGS = $(webkit_tests_cflags)
 Programs_unittests_testatk_LDADD = $(webkit_tests_ldadd)
 Programs_unittests_testatk_LDFLAGS = $(webkit_tests_ldflags)
 
+Programs_unittests_testatkroles_SOURCES = WebKit/gtk/tests/testatkroles.c
+Programs_unittests_testatkroles_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testatkroles_LDADD = $(webkit_tests_ldadd)
+Programs_unittests_testatkroles_LDFLAGS = $(webkit_tests_ldflags)
+
 Programs_unittests_testwebsettings_SOURCES = WebKit/gtk/tests/testwebsettings.c
 Programs_unittests_testwebsettings_CFLAGS = $(webkit_tests_cflags)
 Programs_unittests_testwebsettings_LDADD = $(webkit_tests_ldadd)
 Programs_unittests_testwebsettings_LDFLAGS = $(webkit_tests_ldflags)
 
+Programs_unittests_testwebresource_SOURCES = WebKit/gtk/tests/testwebresource.c
+Programs_unittests_testwebresource_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testwebresource_LDADD = $(webkit_tests_ldadd)
+
+Programs_unittests_testwebdatasource_SOURCES = WebKit/gtk/tests/testwebdatasource.c
+Programs_unittests_testwebdatasource_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testwebdatasource_LDADD = $(webkit_tests_ldadd)
+
+Programs_unittests_testwebview_SOURCES = WebKit/gtk/tests/testwebview.c WebKit/gtk/tests/test_utils.c
+Programs_unittests_testwebview_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testwebview_LDADD = $(webkit_tests_ldadd)
+Programs_unittests_testwebview_LDFLAGS = $(webkit_tests_ldflags)
+
+Programs_unittests_testhittestresult_SOURCES = WebKit/gtk/tests/testhittestresult.c
+Programs_unittests_testhittestresult_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testhittestresult_LDADD = $(webkit_tests_ldadd)
+
+Programs_unittests_testkeyevents_SOURCES = WebKit/gtk/tests/testkeyevents.c
+Programs_unittests_testkeyevents_CFLAGS = $(webkit_tests_cflags)
+Programs_unittests_testkeyevents_LDADD = $(webkit_tests_ldadd)
+Programs_unittests_testkeyevents_LDFLAGS = $(webkit_tests_ldflags)
+
 # Autogenerated sources
-BUILT_SOURCES := \
+BUILT_SOURCES += \
        $(javascriptcore_built_sources) \
        $(javascriptcore_built_nosources) \
        $(webcore_built_sources) \
        $(webcore_built_nosources) \
        $(webkitgtk_built_sources) \
-       $(webkitgtk_built_nosources)
+       $(webkitgtk_built_nosources) \
+       $(gdom_built_nosources)
 
 # Project-wide clean rules
+# Files that will be cleaned
 CLEANFILES += \
-       $(webkitgtk_cleanfiles)
+       $(BUILT_SOURCES) \
+       $(webkitgtk_cleanfiles) \
+       $(libgdom_cleanfiles)
+
+DISTCLEANFILES += \
+       $(CLEANFILES) \
+       $(builddir)/doltcompile \
+       $(builddir)/doltlibtool
 
 MAINTAINERCLEANFILES += \
+       $(CLEANFILES) \
+       $(builddir)/doltcompile \
+       $(builddir)/doltlibtool \
        $(srcdir)/aconfig.h.in \
        $(srcdir)/autotools/config.* \
        $(srcdir)/autotools/compile \