From 133a314a4f1d38fc93d37caf204c9946b92eccf3 Mon Sep 17 00:00:00 2001
From: Marcin Juszkiewicz <hrw@openedhand.com>
Date: Mon, 31 Mar 2008 18:34:18 +0000
Subject: webkit: upgraded to rev 31467, enabled SVG fonts

http://bugs.webkit.org/show_bug.cgi?id=18239 was reported as SVG fonts
support is required to make Webkit built.


git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4151 311d38ba-8fff-0310-9ca6-ca027cbcb966
---
 meta/packages/webkit/files/GNUmakefile.am | 29 ++++++----
 meta/packages/webkit/files/WebKit.pri     | 11 ++--
 meta/packages/webkit/files/WebKit.pro     |  6 +-
 meta/packages/webkit/files/autogen.sh     | 36 ++++++++----
 meta/packages/webkit/files/configure.ac   | 95 +++++++++++++++++++++++--------
 meta/packages/webkit/files/fix_im.patch   | 12 ----
 meta/packages/webkit/webkit-gtk_svn.bb    |  1 +
 7 files changed, 126 insertions(+), 64 deletions(-)

diff --git a/meta/packages/webkit/files/GNUmakefile.am b/meta/packages/webkit/files/GNUmakefile.am
index 977770a1e..4cdd3dbfe 100644
--- a/meta/packages/webkit/files/GNUmakefile.am
+++ b/meta/packages/webkit/files/GNUmakefile.am
@@ -52,11 +52,7 @@ EXTRA_DIST :=
 global_cppflags :=
 
 global_cppflags += \
-	-I$(srcdir)/JavaScriptCore \
-	-I$(srcdir)/JavaScriptCore/ForwardingHeaders \
-	-I$(srcdir)/JavaScriptCore/wtf \
-	-I$(srcdir)/JavaScriptCore/kjs \
-	-I$(top_builddir)/DerivedSources
+	-DWTF_USE_ICU_UNICODE=1
 
 # Default compiler flags
 global_cflags := \
@@ -94,6 +90,13 @@ javascriptcore_sources :=
 javascriptcore_built_sources :=
 javascriptcore_built_nosources :=
 
+javascriptcore_cppflags += \
+	-I$(srcdir)/JavaScriptCore \
+	-I$(srcdir)/JavaScriptCore/ForwardingHeaders \
+	-I$(srcdir)/JavaScriptCore/wtf \
+	-I$(srcdir)/JavaScriptCore/kjs \
+	-I$(top_builddir)/DerivedSources
+
 # The variables above are already included below so no need to touch
 # these variables unless you really have to
 libJavaScriptCore_ladir = $(prefix)/include/webkit-1.0/JavaScriptCore
@@ -104,7 +107,7 @@ libJavaScriptCore_la_SOURCES = \
 	$(javascriptcore_sources)
 
 libJavaScriptCore_la_LIBADD = \
-	$(ICU_LIBS) \
+	$(UNICODE_LIBS) \
 	$(GLOBALDEPS_LIBS) \
 	-lpthread
 
@@ -112,17 +115,18 @@ libJavaScriptCore_la_CXXFLAGS = \
 	$(global_cxxflags) \
 	$(global_cflags) \
 	$(GLOBALDEPS_CFLAGS) \
+	$(UNICODE_CFLAGS) \
 	-fstrict-aliasing
 
 libJavaScriptCore_la_CFLAGS = \
 	$(global_cflags) \
 	$(GLOBALDEPS_CFLAGS) \
+	$(UNICODE_CFLAGS) \
 	-fstrict-aliasing
 
 libJavaScriptCore_la_CPPFLAGS = \
 	$(global_cppflags) \
-	$(javascriptcore_cppflags) \
-	$(ICU_CPPFLAGS)
+	$(javascriptcore_cppflags)
 
 #
 # WebCore
@@ -154,8 +158,10 @@ libWebCore_la_CXXFLAGS = \
 	$(global_cxxflags) \
 	$(global_cflags) \
 	$(GLOBALDEPS_CFLAGS) \
+	$(UNICODE_CFLAGS) \
 	$(WEBKITDEPS_CFLAGS) \
 	$(LIBCURL_CFLAGS) \
+	$(LIBSOUP_CFLAGS) \
 	$(SQLITE3_CFLAGS) \
 	$(GSTREAMER_CFLAGS) \
 	$(LIBXSLT_CFLAGS) \
@@ -166,8 +172,10 @@ libWebCore_la_CFLAGS = \
 	-fno-strict-aliasing \
 	$(global_cflags) \
 	$(GLOBALDEPS_CFLAGS) \
+	$(UNICODE_CFLAGS) \
 	$(WEBKITDEPS_CFLAGS) \
 	$(LIBCURL_CFLAGS) \
+	$(LIBSOUP_CFLAGS) \
 	$(SQLITE3_CFLAGS) \
 	$(GSTREAMER_CFLAGS) \
 	$(LIBXSLT_CFLAGS) \
@@ -175,9 +183,9 @@ libWebCore_la_CFLAGS = \
 	$(HILDON_CFLAGS)
 
 libWebCore_la_CPPFLAGS = \
-	$(ICU_CPPFLAGS) \
 	$(global_cppflags) \
 	$(webcore_cppflags) \
+	$(javascriptcore_cppflags) \
 	$(webkitgtk_cppflags)
 
 libWebCore_la_LIBADD = \
@@ -186,7 +194,8 @@ libWebCore_la_LIBADD = \
 	$(GLOBALDEPS_LIBS) \
 	$(WEBKITDEPS_LIBS) \
 	$(LIBCURL_LIBS) \
-	$(ICU_LIBS) \
+	$(LIBSOUP_LIBS) \
+	$(UNICODE_LIBS) \
 	$(SQLITE3_LIBS) \
 	$(GSTREAMER_LIBS) \
 	$(LIBXSLT_LIBS) \
diff --git a/meta/packages/webkit/files/WebKit.pri b/meta/packages/webkit/files/WebKit.pri
index 36404ac80..d12423beb 100644
--- a/meta/packages/webkit/files/WebKit.pri
+++ b/meta/packages/webkit/files/WebKit.pri
@@ -17,7 +17,7 @@ qt-port:!building-libs {
 gtk-port:!building-libs {
     QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR
     LIBS += -lWebKitGtk
-    DEPENDPATH += $$PWD/WebKit/gtk/WebView $$PWD/WebKit/gtk/WebCoreSupport
+    DEPENDPATH += $$PWD/WebKit/gtk $$PWD/WebKit/gtk/WebCoreSupport $$PWD/WebKit/gtk/webkit
 }
 
 gtk-port {
@@ -36,6 +36,7 @@ gtk-port {
 
     # We use the curl http backend on all platforms
     PKGCONFIG += libcurl
+    DEFINES += WTF_USE_CURL=1
 
     LIBS += -lWebKitGtk -ljpeg -lpng
 
@@ -72,8 +73,9 @@ gtk-port:INCLUDEPATH += \
     $$BASE_DIR/WebCore/platform/graphics/cairo \
     $$BASE_DIR/WebCore/loader/gtk \
     $$BASE_DIR/WebCore/page/gtk \
-    $$BASE_DIR/WebKit/gtk/WebView \
-    $$BASE_DIR/WebKit/gtk/WebCoreSupport
+    $$BASE_DIR/WebKit/gtk \
+    $$BASE_DIR/WebKit/gtk/WebCoreSupport \
+    $$BASE_DIR/WebKit/gtk/webkit
 INCLUDEPATH += \
     $$BASE_DIR/JavaScriptCore/ \
     $$BASE_DIR/JavaScriptCore/kjs \
@@ -95,7 +97,8 @@ INCLUDEPATH += \
     $$BASE_DIR/WebCore/rendering \
     $$BASE_DIR/WebCore/history \
     $$BASE_DIR/WebCore/xml \
-    $$BASE_DIR/WebCore/html
+    $$BASE_DIR/WebCore/html \
+    $$BASE_DIR/WebCore/plugins
 
 
 macx {
diff --git a/meta/packages/webkit/files/WebKit.pro b/meta/packages/webkit/files/WebKit.pro
index 027017bd8..bc14feb5f 100644
--- a/meta/packages/webkit/files/WebKit.pro
+++ b/meta/packages/webkit/files/WebKit.pro
@@ -1,7 +1,11 @@
 TEMPLATE = subdirs
 CONFIG += ordered
 !gtk-port:CONFIG += qt-port
-qt-port:!win32-*:SUBDIRS += WebKit/qt/Plugins
+qt-port {
+    lessThan(QT_MINOR_VERSION, 4) {
+        !win32-*:SUBDIRS += WebKit/qt/Plugins
+    }
+}
 SUBDIRS += \
         WebCore \
         JavaScriptCore/kjs/testkjs.pro
diff --git a/meta/packages/webkit/files/autogen.sh b/meta/packages/webkit/files/autogen.sh
index 1c0fc6115..a929538d2 100644
--- a/meta/packages/webkit/files/autogen.sh
+++ b/meta/packages/webkit/files/autogen.sh
@@ -11,23 +11,35 @@ cd $srcdir
 DIE=0
 
 (autoconf --version) < /dev/null > /dev/null 2>&1 || {
-	echo
-	echo "You must have autoconf installed to compile $PROJECT."
-	echo "Install the appropriate package for your distribution,"
-	echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/"
-	DIE=1
+    echo
+    echo "You must have autoconf installed to compile $PROJECT."
+    echo "Install the appropriate package for your distribution,"
+    echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/"
+    DIE=1
 }
 
 (automake --version) < /dev/null > /dev/null 2>&1 || {
-	echo
-	echo "You must have automake installed to compile $PROJECT."
-	echo "Install the appropriate package for your distribution,"
-	echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
-	DIE=1
+    echo
+    echo "You must have automake installed to compile $PROJECT."
+    echo "Install the appropriate package for your distribution,"
+    echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
+    DIE=1
+}
+
+LIBTOOLIZE=libtoolize
+($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
+    LIBTOOLIZE=glibtoolize
+    ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
+        echo
+        echo "You must have libtool installed to compile $PROJECT."
+        echo "Install the appropriate package for your distribution,"
+        echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
+        DIE=1
+    }
 }
 
 if test "$DIE" -eq 1; then
-	exit 1
+    exit 1
 fi
 
 rm -rf $top_srcdir/autom4te.cache
@@ -35,7 +47,7 @@ rm -rf $top_srcdir/autom4te.cache
 touch README INSTALL
 
 aclocal || exit $?
-libtoolize --force || exit $?
+$LIBTOOLIZE --force || exit $?
 autoheader || exit $?
 automake --foreign --add-missing || exit $?
 autoconf || exit $?
diff --git a/meta/packages/webkit/files/configure.ac b/meta/packages/webkit/files/configure.ac
index 404e5a0d6..64f32dc68 100644
--- a/meta/packages/webkit/files/configure.ac
+++ b/meta/packages/webkit/files/configure.ac
@@ -129,25 +129,42 @@ if test "$PKG_CONFIG" = "no"; then
    AC_MSG_ERROR([Cannot find pkg-config, make sure it is installed in your PATH])
 fi
 
-# check for icu-config
-if test "$os_darwin" = "yes"; then
-ICU_CPPFLAGS="-I\$(srcdir)/JavaScriptCore/icu -I\$(srcdir)/WebCore/icu"
-ICU_LIBS="-licucore"
-else
-AC_PATH_PROG(icu_config, icu-config, no)
-if test "$icu_config" = "no"; then
-   AC_MSG_ERROR([Cannot find icu-config. ICU library is needed.])
-fi
+# determine the Unicode backend
+AC_MSG_CHECKING([the Unicode backend to use])
+AC_ARG_WITH(unicode_backend,
+            AC_HELP_STRING([--with-unicode-backend=@<:@icu@:>@],
+                           [Select Unicode backend [default=icu]]),
+            [],[unicode_backend="icu"])
+
+case "$unicode_backend" in
+     icu) ;;
+     *) AC_MSG_ERROR([Invalid Unicode backend: must be icu.]) ;;
+esac
 
-# We don't use --cflags as this gives us a lot of things that we don't
-# necessarily want, like debugging and optimization flags
-# See man (1) icu-config for more info.
-ICU_CPPFLAGS=`$icu_config --cppflags`
-ICU_LIBS=`$icu_config --ldflags`
-AC_SUBST([ICU_CPPFLAGS])
-AC_SUBST([ICU_LIBS])
+AC_MSG_RESULT([$unicode_backend])
+
+if test "$unicode_backend" = "icu"; then
+	# check for icu-config
+	if test "$os_darwin" = "yes"; then
+		UNICODE_CFLAGS="-I\$(srcdir)/JavaScriptCore/icu -I\$(srcdir)/WebCore/icu"
+		UNICODE_LIBS="-licucore"
+	else
+		AC_PATH_PROG(icu_config, icu-config, no)
+		if test "$icu_config" = "no"; then
+			AC_MSG_ERROR([Cannot find icu-config. The ICU library is needed.])
+		fi
+
+		# We don't use --cflags as this gives us a lot of things that we don't
+		# necessarily want, like debugging and optimization flags
+		# See man (1) icu-config for more info.
+		UNICODE_CFLAGS=`$icu_config --cppflags`
+		UNICODE_LIBS=`$icu_config --ldflags`
+	fi
 fi
 
+AC_SUBST([UNICODE_CFLAGS])
+AC_SUBST([UNICODE_LIBS])
+
 # determine the GDK/GTK+ target
 AC_MSG_CHECKING([the target windowing system])
 AC_ARG_WITH(target,
@@ -180,16 +197,16 @@ fi
 # determine the http backend
 AC_MSG_CHECKING([the HTTP backend to use])
 AC_ARG_WITH(http_backend,
-            AC_HELP_STRING([--with-http-backend=@<:@curl@:>@],
+            AC_HELP_STRING([--with-http-backend=@<:@curl/soup@:>@],
                            [Select HTTP backend [default=curl]]),
-            [],[http_backend="curl"])
+            [],[with_http_backend="curl"])
 
-case "$http_backend" in
-     curl) ;;
-     *) AC_MSG_ERROR([Invalid HTTP backend: must be curl.]) ;;
+case "$with_http_backend" in
+     curl|soup) ;;
+     *) AC_MSG_ERROR([Invalid HTTP backend: must be curl, soup.]) ;;
 esac
 
-AC_MSG_RESULT([$http_backend])
+AC_MSG_RESULT([$with_http_backend])
 
 # minimum base dependencies
 CAIRO_REQUIRED_VERSION=1.4
@@ -206,6 +223,7 @@ GTK_REQUIRED_VERSION=2.8
 
 # optional modules
 LIBCURL_REQUIRED_VERSION=7.15
+LIBSOUP_REQUIRED_VERSION=2.4
 LIBXSLT_REQUIRED_VERSION=1.1.7
 SQLITE_REQUIRED_VERSION=3.0
 GSTREAMER_REQUIRED_VERSION=0.10
@@ -376,6 +394,19 @@ AC_ARG_ENABLE(fast_malloc,
               [],[if test "$enable_debug" = "yes"; then enable_fast_malloc="no"; else enable_fast_malloc="yes"; fi])
 AC_MSG_RESULT([$enable_fast_malloc])
 
+# determine the font backend
+AC_MSG_CHECKING([the font backend to use])
+AC_ARG_WITH(font_backend,
+            AC_HELP_STRING([--with-font-backend=@<:@freetype/pango@:>@],
+                           [Select font backend [default=freetype]]),
+            [],[with_font_backend="freetype"])
+
+case "$with_font_backend" in
+     freetype|pango) ;;
+     *) AC_MSG_ERROR([Invalid font backend: must be freetype or pango.]) ;;
+esac
+AC_MSG_RESULT([$with_font_backend])
+
 # Add '-g' flag to gcc if it's debug build
 if test "$enable_debug" = "yes"; then
    CXXFLAGS="$CXXFLAGS -g"
@@ -383,13 +414,20 @@ if test "$enable_debug" = "yes"; then
 fi
 
 # check if curl is available
-if test "$http_backend" = "curl"; then
+if test "$with_http_backend" = "curl"; then
    PKG_CHECK_MODULES([LIBCURL],
                      [libcurl >= $LIBCURL_REQUIRED_VERSION])
    AC_SUBST([LIBCURL_CFLAGS])
    AC_SUBST([LIBCURL_LIBS])
 fi
 
+if test "$with_http_backend" = "soup"; then
+   PKG_CHECK_MODULES([LIBSOUP],
+                     [libsoup-2.4 >= $LIBSOUP_REQUIRED_VERSION])
+   AC_SUBST([LIBSOUP_CFLAGS])
+   AC_SUBST([LIBSOUP_LIBS])
+fi
+
 # check if sqlite 3 is available
 if test "$enable_icon_database" = "yes" || test "$enable_database" = "yes"; then
    PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= $SQLITE_REQUIRED_VERSION])
@@ -450,7 +488,12 @@ AM_CONDITIONAL([TARGET_QUARTZ], [test "$with_target" = "quartz"])
 AM_CONDITIONAL([TARGET_DIRECTFB], [test "$with_target" = "directfb"])
 
 # HTTP backend conditionals
-AM_CONDITIONAL([USE_CURL], [test "$http_backend" = "curl"])
+AM_CONDITIONAL([USE_CURL], [test "$with_http_backend" = "curl"])
+AM_CONDITIONAL([USE_SOUP], [test "$with_http_backend" = "soup"])
+
+# Font backend conditionals
+AM_CONDITIONAL([USE_FREETYPE], [test "$with_font_backend" = "freetype"])
+AM_CONDITIONAL([USE_PANGO], [test "$with_font_backend" = "pango"])
 
 # WebKit feature conditionals
 AM_CONDITIONAL([ENABLE_DEBUG],[test "$enable_debug" = "yes"])
@@ -485,7 +528,9 @@ WebKit was configured with the following options:
 Build configuration:
  Enable debugging (slow)           : $enable_debug
  Code coverage support             : $enable_coverage
- HTTP backend                      : $http_backend
+ Unicode backend                   : $unicode_backend
+ HTTP backend                      : $with_http_backend
+ Font backend                      : $with_font_backend
  Optimized memory allocator        : $enable_fast_malloc
 Features:
  HTML5 cross-document messaging    : $enable_cross_document_messaging
diff --git a/meta/packages/webkit/files/fix_im.patch b/meta/packages/webkit/files/fix_im.patch
index 4bd7b5a4c..e69de29bb 100644
--- a/meta/packages/webkit/files/fix_im.patch
+++ b/meta/packages/webkit/files/fix_im.patch
@@ -1,12 +0,0 @@
-Index: webkit-gtk-0.1+svnr28656-r4/WebKit/gtk/WebView/webkitwebview.cpp
-===================================================================
---- webkit-gtk-0.1+svnr28656-r4.orig/WebKit/gtk/WebView/webkitwebview.cpp	2008-02-08 17:41:55.000000000 +0000
-+++ webkit-gtk-0.1+svnr28656-r4/WebKit/gtk/WebView/webkitwebview.cpp	2008-02-08 17:42:17.000000000 +0000
-@@ -183,6 +183,7 @@
-         hildon_gtk_im_context_filter_event(webViewData->imContext, (GdkEvent*)event);
-         hildon_gtk_im_context_show(webViewData->imContext);
- #endif
-+        gtk_im_context_focus_in(webViewData->imContext);
-     }
- 
-     return frame->eventHandler()->handleMouseReleaseEvent(PlatformMouseEvent(event));
diff --git a/meta/packages/webkit/webkit-gtk_svn.bb b/meta/packages/webkit/webkit-gtk_svn.bb
index 4fe9cb8a0..c7a49fdd2 100644
--- a/meta/packages/webkit/webkit-gtk_svn.bb
+++ b/meta/packages/webkit/webkit-gtk_svn.bb
@@ -27,6 +27,7 @@ inherit autotools pkgconfig
 EXTRA_OECONF = "\
                 --enable-debug=no \
                 --enable-svg \
+		--enable-svg-fonts \
                 --enable-icon-database=yes \
                "
 
-- 
cgit v1.2.3