summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2008-03-05 11:19:36 +0000
committerKoen Kooi <koen@openembedded.org>2008-03-05 11:19:36 +0000
commit586805cbe45f4545d263c3c38111e4295f8c81b9 (patch)
tree69f199f51c1212017978611c0294bc5fc94cd0f2
parente029374e5d810ef4b5cabd8af504808b6dd906b8 (diff)
webkit-gtk: move over to autotools
-rw-r--r--packages/webkit/files/GNUmakefile.am224
-rw-r--r--packages/webkit/files/Makefile13
-rw-r--r--packages/webkit/files/Makefile.shared6
-rw-r--r--packages/webkit/files/WebKit.pri5
-rw-r--r--packages/webkit/files/autogen.sh7
-rw-r--r--packages/webkit/files/configure.ac217
-rw-r--r--packages/webkit/webkit-gtk_svn.bb75
-rw-r--r--packages/webkit/webkit.inc1
8 files changed, 393 insertions, 155 deletions
diff --git a/packages/webkit/files/GNUmakefile.am b/packages/webkit/files/GNUmakefile.am
index f3ec252ee8..977770a1ed 100644
--- a/packages/webkit/files/GNUmakefile.am
+++ b/packages/webkit/files/GNUmakefile.am
@@ -21,8 +21,10 @@
#
# global_cppflags = CPPFLAGS that apply to JSC, WebCore, and to any
# specific port
-# global_cflags = CFLAGS and CXXFLAGS that apply to JSC, WebCore, and to
+# global_cflags = CFLAGS that apply to JSC, WebCore, and to
# any specific port
+# global_cxxflags = CXXFLAGS that apply to JSC, WebCore, and to any
+# specific port
srcdir = @srcdir@
VPATH = @srcdir@
@@ -34,8 +36,6 @@ GENSOURCES := $(top_builddir)/DerivedSources
CREATE_HASH_TABLE = $(srcdir)/JavaScriptCore/kjs/create_hash_table
# Libraries and support components
-noinst_LTLIBRARIES :=
-
noinst_HEADERS :=
noinst_PROGRAMS :=
@@ -49,140 +49,203 @@ EXTRA_DIST :=
#
# Global flags to CPP
-global_cppflags :=
+global_cppflags :=
global_cppflags += \
- -I $(srcdir)/JavaScriptCore \
- -I $(srcdir)/JavaScriptCore/ForwardingHeaders \
- -I $(srcdir)/JavaScriptCore/wtf \
- -I $(srcdir)/JavaScriptCore/kjs \
- -I $(top_builddir)/DerivedSources
+ -I$(srcdir)/JavaScriptCore \
+ -I$(srcdir)/JavaScriptCore/ForwardingHeaders \
+ -I$(srcdir)/JavaScriptCore/wtf \
+ -I$(srcdir)/JavaScriptCore/kjs \
+ -I$(top_builddir)/DerivedSources
# Default compiler flags
global_cflags := \
-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 -fno-exceptions -fno-strict-aliasing
+ -Wno-unused-parameter
-# Libraries
-lib_LTLIBRARIES = libJavaScriptCore.la libWebKitGtk.la
+global_cxxflags := \
+ $(SYMBOL_VISIBILITY_INLINES)
+
+if !ENABLE_DEBUG
+global_cflags += \
+ -fno-exceptions \
+ $(SYMBOL_VISIBILITY)
+
+global_cxxflags += \
+ -fno-rtti
+endif
+
+# Shared libraries
+lib_LTLIBRARIES = \
+ libwebkit-1.0.la
+
+# Convenience libraries
+noinst_LTLIBRARIES = \
+ libJavaScriptCore.la \
+ libWebCore.la
#
# JavaScriptCore
javascriptcore_h_api :=
javascriptcore_cppflags:=
javascriptcore_sources :=
-javascriptcore_built_sources :=
+javascriptcore_built_sources :=
javascriptcore_built_nosources :=
# The variables above are already included below so no need to touch
# these variables unless you really have to
-libJavaScriptCore_ladir = $(prefix)/include/WebKit/JavaScriptCore
-libJavaScriptCore_la_HEADERS := $(javascriptcore_h_api)
+libJavaScriptCore_ladir = $(prefix)/include/webkit-1.0/JavaScriptCore
+libJavaScriptCore_la_HEADERS = $(javascriptcore_h_api)
-libJavaScriptCore_la_SOURCES := \
+libJavaScriptCore_la_SOURCES = \
$(javascriptcore_built_sources) \
$(javascriptcore_sources)
-libJavaScriptCore_la_LDFLAGS := -lpthread
+libJavaScriptCore_la_LIBADD = \
+ $(ICU_LIBS) \
+ $(GLOBALDEPS_LIBS) \
+ -lpthread
-libJavaScriptCore_la_CXXFLAGS := $(global_cflags)
+libJavaScriptCore_la_CXXFLAGS = \
+ $(global_cxxflags) \
+ $(global_cflags) \
+ $(GLOBALDEPS_CFLAGS) \
+ -fstrict-aliasing
-libJavaScriptCore_la_CFLAGS := $(global_cflags)
+libJavaScriptCore_la_CFLAGS = \
+ $(global_cflags) \
+ $(GLOBALDEPS_CFLAGS) \
+ -fstrict-aliasing
-libJavaScriptCore_la_CPPFLAGS := $(global_cppflags) $(javascriptcore_cppflags)
+libJavaScriptCore_la_CPPFLAGS = \
+ $(global_cppflags) \
+ $(javascriptcore_cppflags) \
+ $(ICU_CPPFLAGS)
#
# WebCore
webcore_cppflags :=
webcore_sources :=
webcore_headers :=
+webcore_libadd :=
webcore_built_sources :=
webcore_built_nosources :=
-# WebKitGtk
+webcore_cppflags += $(HILDON_CPPFLAGS)
+
+# WebKit
webkitgtk_h_api :=
webkitgtk_headers :=
webkitgtk_sources :=
webkitgtk_cppflags :=
-webkitgtk_ldflags :=
webkitgtk_built_sources :=
webkitgtk_built_nosources :=
webkitgtk_cleanfiles :=
-# No need to touch the following variables unless you have to. If you need to change the values
-# for the following variables, use the "webkitgtk_" variables above
-libWebKitGtk_ladir := $(prefix)/include/WebKit
-
-libWebKitGtk_la_HEADERS := $(webkitgtk_h_api)
-
-libWebKitGtk_la_SOURCES := \
+libWebCore_la_SOURCES = \
$(webcore_built_sources) \
$(webcore_headers) \
- $(webcore_sources) \
- $(webkitgtk_built_sources) \
- $(webkitgtk_headers) \
- $(webkitgtk_sources)
+ $(webcore_sources)
-libWebKitGtk_la_CXXFLAGS := \
- -fno-rtti \
+libWebCore_la_CXXFLAGS = \
+ -fno-strict-aliasing \
+ $(global_cxxflags) \
$(global_cflags) \
- $(DEPENDENCIES_CFLAGS) \
+ $(GLOBALDEPS_CFLAGS) \
+ $(WEBKITDEPS_CFLAGS) \
+ $(LIBCURL_CFLAGS) \
$(SQLITE3_CFLAGS) \
$(GSTREAMER_CFLAGS) \
$(LIBXSLT_CFLAGS) \
- $(COVERAGE_CFLAGS)
+ $(COVERAGE_CFLAGS) \
+ $(HILDON_CFLAGS)
-libWebKitGtk_la_CFLAGS := \
+libWebCore_la_CFLAGS = \
+ -fno-strict-aliasing \
$(global_cflags) \
- $(DEPENDENCIES_CFLAGS) \
+ $(GLOBALDEPS_CFLAGS) \
+ $(WEBKITDEPS_CFLAGS) \
+ $(LIBCURL_CFLAGS) \
$(SQLITE3_CFLAGS) \
$(GSTREAMER_CFLAGS) \
$(LIBXSLT_CFLAGS) \
- $(COVERAGE_CFLAGS)
+ $(COVERAGE_CFLAGS) \
+ $(HILDON_CFLAGS)
-libWebKitGtk_la_CPPFLAGS := \
+libWebCore_la_CPPFLAGS = \
+ $(ICU_CPPFLAGS) \
$(global_cppflags) \
$(webcore_cppflags) \
$(webkitgtk_cppflags)
-libWebKitGtk_la_LIBADD := @LTLIBOBJS@ libJavaScriptCore.la
-
-libWebKitGtk_la_LDFLAGS := \
- $(webkitgtk_ldflags) \
- $(DEPENDENCIES_LIBS) \
+libWebCore_la_LIBADD = \
+ libJavaScriptCore.la \
+ $(webcore_libadd) \
+ $(GLOBALDEPS_LIBS) \
+ $(WEBKITDEPS_LIBS) \
+ $(LIBCURL_LIBS) \
$(ICU_LIBS) \
$(SQLITE3_LIBS) \
$(GSTREAMER_LIBS) \
$(LIBXSLT_LIBS) \
- $(COVERAGE_LDFLAGS) \
+ $(HILDON_LIBS) \
-lpthread \
- -ljpeg \
+ -ljpeg
+
+libwebkit_1_0_ladir = $(prefix)/include/webkit-1.0/webkit
+libwebkit_1_0_la_HEADERS = $(webkitgtk_h_api)
+
+libwebkit_1_0_la_SOURCES = \
+ $(webkitgtk_built_sources) \
+ $(webkitgtk_headers) \
+ $(webkitgtk_sources)
+
+libwebkit_1_0_la_CXXFLAGS = \
+ $(libWebCore_la_CXXFLAGS)
+
+libwebkit_1_0_la_CFLAGS = \
+ $(libWebCore_la_CFLAGS)
+
+libwebkit_1_0_la_CPPFLAGS = \
+ $(libWebCore_la_CPPFLAGS)
+
+libwebkit_1_0_la_LDFLAGS = \
+ $(COVERAGE_LDFLAGS) \
-version-info @LIBWEBKITGTK_VERSION@
+libwebkit_1_0_la_LIBADD = \
+ libWebCore.la
+
#
# Extra checks and flags
global_cppflags += \
-DBUILDING_GTK__=1 \
- -DUSE_SYSTEM_MALLOC \
-DWTF_CHANGES
+if !ENABLE_FAST_MALLOC
+global_cppflags += \
+ -DUSE_SYSTEM_MALLOC
+endif
+
if TARGET_X11
global_cppflags += -DXP_UNIX
endif
if !ENABLE_DEBUG
global_cppflags += -DNDEBUG
-else
+else
webkitgtk_cppflags += \
-DG_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
- -DPANGO_DISABLE_DEPRECATED \
- -DGDK_MULTIHEAD_SAFE \
- -DGTK_MULTIHEAD_SAFE
+ -DPANGO_DISABLE_DEPRECATED
+
+# Might be useful in the future
+# -DGDK_MULTIHEAD_SAFE \
+# -DGTK_MULTIHEAD_SAFE
endif
if !ENABLE_DATABASE
@@ -200,30 +263,30 @@ global_cppflags += \
endif
if ENABLE_VIDEO
-webkitgtk_ldflags += -lgstinterfaces-0.10 -lgstvideo-0.10
+webcore_libadd += -lgstinterfaces-0.10 -lgstvideo-0.10
endif
-#
-# WEBKIT GTK+
webkitgtk_cppflags += \
--I $(top_builddir)/WebKit/gtk/WebView \
+-I$(top_builddir)/WebKit/gtk/webkit \
-DBUILDING_CAIRO__=1 \
-DBUILD_WEBKIT
webkitgtk_h_api += \
- WebKit/gtk/WebView/webkit.h \
- WebKit/gtk/WebView/webkitdefines.h \
- WebKit/gtk/WebView/webkitnetworkrequest.h \
- WebKit/gtk/WebView/webkitwebframe.h \
- WebKit/gtk/WebView/webkitwebview.h
+ WebKit/gtk/webkit/webkit.h \
+ WebKit/gtk/webkit/webkitdefines.h \
+ WebKit/gtk/webkit/webkitnetworkrequest.h \
+ WebKit/gtk/webkit/webkitwebbackforwardlist.h \
+ WebKit/gtk/webkit/webkitwebframe.h \
+ WebKit/gtk/webkit/webkitwebhistoryitem.h \
+ WebKit/gtk/webkit/webkitwebsettings.h \
+ WebKit/gtk/webkit/webkitwebview.h
webkitgtk_built_sources += \
- WebKit/gtk/WebView/webkit-marshal.h \
- WebKit/gtk/WebView/webkit-marshal.cpp
+ WebKit/gtk/webkit/webkit-marshal.h \
+ WebKit/gtk/webkit/webkit-marshal.cpp
webkitgtk_headers += \
- WebKit/gtk/WebView/webkitprivate.h \
- WebKit/gtk/WebView/webkitsettings.h \
+ WebKit/gtk/webkit/webkitprivate.h \
WebKit/gtk/WebCoreSupport/ChromeClientGtk.h \
WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h \
WebKit/gtk/WebCoreSupport/DragClientGtk.h \
@@ -233,37 +296,39 @@ webkitgtk_headers += \
WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h
webkitgtk_sources += \
- WebKit/gtk/WebView/webkitnetworkrequest.cpp \
- WebKit/gtk/WebView/webkitprivate.cpp \
- WebKit/gtk/WebView/webkitsettings.cpp \
- WebKit/gtk/WebView/webkitwebframe.cpp \
- WebKit/gtk/WebView/webkitwebview.cpp \
+ WebKit/gtk/webkit/webkitnetworkrequest.cpp \
+ WebKit/gtk/webkit/webkitprivate.cpp \
+ WebKit/gtk/webkit/webkitwebbackforwardlist.cpp \
+ WebKit/gtk/webkit/webkitwebframe.cpp \
+ WebKit/gtk/webkit/webkitwebhistoryitem.cpp \
+ WebKit/gtk/webkit/webkitwebsettings.cpp \
+ WebKit/gtk/webkit/webkitwebview.cpp \
WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp \
WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp \
WebKit/gtk/WebCoreSupport/DragClientGtk.cpp \
WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp \
WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp \
WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp \
- WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp
+ WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp
webkitgtk_cleanfiles += \
$(top_builddir)/Programs/GtkLauncher \
- $(top_builddir)/WebKit/gtk/WebKitGtk.pc
+ $(top_builddir)/WebKit/gtk/webkit-1.0.pc
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = WebKit/gtk/WebKitGtk.pc
+pkgconfig_DATA = WebKit/gtk/webkit-1.0.pc
-WEBKIT_MARSHAL = $(CURDIR)/WebKit/gtk/WebView/webkit-marshal
-WEBKIT_MARSHAL_LIST = $(srcdir)/WebKit/gtk/WebView/webkit-marshal.list
+WEBKIT_MARSHAL = $(CURDIR)/WebKit/gtk/webkit/webkit-marshal
+WEBKIT_MARSHAL_LIST = $(srcdir)/WebKit/gtk/webkit/webkit-marshal.list
stamp_files := \
stamp-webkit-marshal.cpp \
stamp-webkit-marshal.h
-WebKit/gtk/WebView/webkit-marshal.cpp: stamp-webkit-marshal.cpp
+WebKit/gtk/webkit/webkit-marshal.cpp: stamp-webkit-marshal.cpp
@true
-WebKit/gtk/WebView/webkit-marshal.h: stamp-webkit-marshal.h
+WebKit/gtk/webkit/webkit-marshal.h: stamp-webkit-marshal.h
@true
stamp-webkit-marshal.cpp: $(WEBKIT_MARSHAL_LIST)
@@ -289,7 +354,7 @@ include WebKitTools/GNUmakefile.am
# Autogenerated sources
-BUILT_SOURCES := \
+BUILT_SOURCES = \
$(javascriptcore_built_sources) \
$(javascriptcore_built_nosources) \
$(webcore_built_sources) \
@@ -302,7 +367,6 @@ CLEANFILES += \
$(webkitgtk_cleanfiles) \
$(top_builddir)/Programs/DumpRenderTree \
$(top_builddir)/Programs/testkjs \
- $(top_builddir)/Programs/dftables \
$(GENSOURCES)
MAINTAINERCLEANFILES += \
diff --git a/packages/webkit/files/Makefile b/packages/webkit/files/Makefile
index 89344f7a58..fa7ea02426 100644
--- a/packages/webkit/files/Makefile
+++ b/packages/webkit/files/Makefile
@@ -7,16 +7,23 @@ all:
debug d development dev develop:
@for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
-
+
release r deployment dep deploy:
@for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
-
+
universal u:
@for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
-clean:
+64:
@for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
+64u:
+ @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
+ if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
+
+clean:
+ @for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
+ if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
diff --git a/packages/webkit/files/Makefile.shared b/packages/webkit/files/Makefile.shared
index a036aacc50..096d32e948 100644
--- a/packages/webkit/files/Makefile.shared
+++ b/packages/webkit/files/Makefile.shared
@@ -15,6 +15,12 @@ release r deployment dep deploy: force
universal u: force
( xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) 'ARCHS=ppc i386' | grep -v setenv && exit $${PIPESTATUS[0]} )
+64: force
+ ( xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) 'ARCHS=i386 x86_64' | grep -v setenv && exit $${PIPESTATUS[0]} )
+
+64u: force
+ ( xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) 'ARCHS=ppc ppc64 i386 x86_64' | grep -v setenv && exit $${PIPESTATUS[0]} )
+
clean:
( xcodebuild $(OTHER_OPTIONS) -alltargets clean $(XCODE_OPTIONS) | grep -v setenv && exit $${PIPESTATUS[0]} )
diff --git a/packages/webkit/files/WebKit.pri b/packages/webkit/files/WebKit.pri
index 640fa34174..36404ac803 100644
--- a/packages/webkit/files/WebKit.pri
+++ b/packages/webkit/files/WebKit.pri
@@ -58,6 +58,11 @@ CONFIG(release) {
DEFINES += NDEBUG
}
+gtk-port:CONFIG(debug) {
+ DEFINES += G_DISABLE_DEPRECATED GDK_PIXBUF_DISABLE_DEPRECATED GDK_DISABLE_DEPRECATED GTK_DISABLE_DEPRECATED PANGO_DISABLE_DEPRECATED
+# maybe useful for debugging DEFINES += GDK_MULTIHEAD_SAFE GTK_MULTIHEAD_SAFE
+}
+
BASE_DIR = $$PWD
qt-port:INCLUDEPATH += \
$$PWD/WebKit/qt/Api
diff --git a/packages/webkit/files/autogen.sh b/packages/webkit/files/autogen.sh
index b7f7d37b2f..1c0fc61156 100644
--- a/packages/webkit/files/autogen.sh
+++ b/packages/webkit/files/autogen.sh
@@ -1,8 +1,11 @@
#! /bin/sh
+# Allow invocation from a separate build directory; in that case, we change
+# to the source directory to run the auto*, then change back before running configure
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
+ORIGDIR=`pwd`
cd $srcdir
DIE=0
@@ -37,4 +40,6 @@ autoheader || exit $?
automake --foreign --add-missing || exit $?
autoconf || exit $?
-./configure $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
+cd $ORIGDIR || exit 1
+
+$srcdir/configure $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
diff --git a/packages/webkit/files/configure.ac b/packages/webkit/files/configure.ac
index 05c25b94a8..404e5a0d6a 100644
--- a/packages/webkit/files/configure.ac
+++ b/packages/webkit/files/configure.ac
@@ -9,9 +9,7 @@ AC_CONFIG_SRCDIR([WebCore/config.h])
LIBWEBKITGTK_VERSION=1:0:0
AC_SUBST([LIBWEBKITGTK_VERSION])
-AM_INIT_AUTOMAKE([1.9 foreign tar-ustar subdir-objects])
-
-AM_MAINTAINER_MODE
+AM_INIT_AUTOMAKE([foreign subdir-objects])
AC_CANONICAL_HOST
@@ -35,6 +33,9 @@ case "$host" in
*-*-freebsd*)
os_freebsd=yes
;;
+ *-*-darwin*)
+ os_darwin=yes
+ ;;
esac
# If CXXFLAGS and CFLAGS are unset, default to -O2
@@ -53,9 +54,20 @@ AM_PROG_LIBTOOL
AC_PROG_INSTALL
AM_PROG_CC_STDC
AC_PROG_CXX
-AC_PROG_CXX_C_O
AM_PROG_CC_C_O
+# check for -fvisibility=hidden compiler support (GCC >= 4)
+saved_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
+AC_MSG_CHECKING([if ${CXX} supports -fvisibility=hidden -fvisibility-inlines-hidden])
+AC_COMPILE_IFELSE([char foo;],
+ [ AC_MSG_RESULT([yes])
+ SYMBOL_VISIBILITY="-fvisibility=hidden" SYMBOL_VISIBILITY_INLINES="-fvisibility-inlines-hidden" ],
+ AC_MSG_RESULT([no]))
+CFLAGS="$saved_CFLAGS"
+AC_SUBST(SYMBOL_VISIBILITY)
+AC_SUBST(SYMBOL_VISIBILITY_INLINES)
+
AC_PATH_PROG(PERL, perl)
if test -z "$PERL"; then
AC_MSG_ERROR([You need 'perl' to compile WebKit])
@@ -101,10 +113,12 @@ AC_C_VOLATILE
AC_HEADER_STDC
AC_HEADER_STDBOOL
-# pthread
+# pthread (not needed on Windows)
+if test "$os_win32" = "no"; then
AC_CHECK_HEADERS([pthread.h],
AC_DEFINE([HAVE_PTHREAD_H],[1],[Define if pthread exist]),
AC_MSG_ERROR([pthread support is required to build WebKit]))
+fi
# libjpeg headers
AC_CHECK_HEADERS([jpeglib.h])
@@ -116,75 +130,126 @@ if test "$PKG_CONFIG" = "no"; then
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
-ICU_CFLAGS=`$icu_config --cflags`
+
+# 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_CFLAGS])
+AC_SUBST([ICU_CPPFLAGS])
AC_SUBST([ICU_LIBS])
+fi
# determine the GDK/GTK+ target
-AC_MSG_CHECKING([the target for WebKit GTK+])
-AC_ARG_WITH(webkit_target,
- AC_HELP_STRING([--with-webkit-target=@<:@x11/win32/quartz/directfb@:>@],
+AC_MSG_CHECKING([the target windowing system])
+AC_ARG_WITH(target,
+ AC_HELP_STRING([--with-target=@<:@x11/win32/quartz/directfb@:>@],
[Select webkit target [default=x11]]),
- [],[with_webkit_target="x11"])
+ [],[with_target="x11"])
-case "$with_webkit_target" in
+case "$with_target" in
x11|win32|quartz|directfb) ;;
*) AC_MSG_ERROR([Invalid target: must be x11, quartz, win32, or directfb.]) ;;
esac
-AC_MSG_RESULT([$with_webkit_target])
+AC_MSG_RESULT([$with_target])
+
+AC_MSG_CHECKING([for Hildon UI extensions])
+AC_ARG_WITH(hildon,
+ AC_HELP_STRING([--with-hildon],
+ [Use Hildon UI extensions [default=no]]),
+ [],[with_hildon="no"])
+AC_MSG_RESULT([$with_hildon])
+
+if test "$with_hildon" = "yes"; then
+ HILDON_CPPFLAGS="-DMAEMO_CHANGES"
+ PKG_CHECK_MODULES([HILDON], [hildon-1])
+ AC_SUBST([HILDON_CPPFLAGS])
+ AC_SUBST([HILDON_CFLAGS])
+ AC_SUBST([HILDON_LIBS])
+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@:>@],
+ [Select HTTP backend [default=curl]]),
+ [],[http_backend="curl"])
+
+case "$http_backend" in
+ curl) ;;
+ *) AC_MSG_ERROR([Invalid HTTP backend: must be curl.]) ;;
+esac
+
+AC_MSG_RESULT([$http_backend])
# minimum base dependencies
+CAIRO_REQUIRED_VERSION=1.4
+FONTCONFIG_REQUIRED_VERSION=2.4
+FREETYPE2_REQUIRED_VERSION=9.0
+LIBXML_REQUIRED_VERSION=2.6
+
+# minimum GTK+ base dependencies
GLIB_REQUIRED_VERSION=2.0
GOBJECT_REQUIRED_VERSION=2.0
GTHREAD_REQUIRED_VERSION=2.0
PANGO_REQUIRED_VERSION=1.0
-CAIRO_REQUIRED_VERSION=1.2
-FONTCONFIG_REQUIRED_VERSION=2.4
-FREETYPE2_REQUIRED_VERSION=9.0
-LIBCURL_REQUIRED_VERSION=7.15
-LIBXML_REQUIRED_VERSION=2.6
+GTK_REQUIRED_VERSION=2.8
# optional modules
-GTK_REQUIRED_VERSION=2.0
+LIBCURL_REQUIRED_VERSION=7.15
LIBXSLT_REQUIRED_VERSION=1.1.7
SQLITE_REQUIRED_VERSION=3.0
GSTREAMER_REQUIRED_VERSION=0.10
GNOME_VFS_REQUIRED_VERSION=2.0
-PKG_CHECK_MODULES([DEPENDENCIES],
+PKG_CHECK_MODULES([GLOBALDEPS],
[glib-2.0 >= $GLIB_REQUIRED_VERSION
gobject-2.0 >= $GOBJECT_REQUIRED_VERSION
- gthread-2.0 >= $GTHREAD_REQUIRED_VERSION
- gtk+-2.0 >= $GTK_REQUIRED_VERSION
+ gthread-2.0 >= $GTHREAD_REQUIRED_VERSION])
+AC_SUBST([GLOBALDEPS_CFLAGS])
+AC_SUBST([GLOBALDEPS_LIBS])
+
+PKG_CHECK_MODULES([WEBKITDEPS],
+ [gtk+-2.0 >= $GTK_REQUIRED_VERSION
pango >= $PANGO_REQUIRED_VERSION
- libcurl >= $LIBCURL_REQUIRED_VERSION
cairo >= $CAIRO_REQUIRED_VERSION
cairo-ft,
fontconfig >= $FONTCONFIG_REQUIRED_VERSION
freetype2 >= $FREETYPE2_REQUIRED_VERSION
libxml-2.0 >= $LIBXML_REQUIRED_VERSION])
-AC_SUBST([DEPENDENCIES_CFLAGS])
-AC_SUBST([DEPENDENCIES_LIBS])
+AC_SUBST([WEBKITDEPS_CFLAGS])
+AC_SUBST([WEBKITDEPS_LIBS])
# check whether to build with debugging enabled
AC_MSG_CHECKING([whether to do a debug build])
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug],
[turn on debugging [default=no]]),
- [enable_debug="yes"],[enable_debug="no"])
+ [],[enable_debug="no"])
AC_MSG_RESULT([$enable_debug])
+# check whether to build with cross-document messaging support
+AC_MSG_CHECKING([whether to enable HTML5 cross-document messaging support])
+AC_ARG_ENABLE(cross_document_messaging,
+ AC_HELP_STRING([--enable-cross-document-messaging],
+ [enable HTML5 cross-document messaging support [default=yes]]),
+ [],[enable_cross_document_messaging="yes"])
+AC_MSG_RESULT([$enable_cross_document_messaging])
+
# check whether to build with database support
AC_MSG_CHECKING([whether to enable HTML5 client-side storage support])
AC_ARG_ENABLE(database,
AC_HELP_STRING([--enable-database],
- [enable HTML5 client-side storage support [default=no]]),
+ [enable HTML5 client-side storage support [default=yes]]),
[],[enable_database="yes"])
AC_MSG_RESULT([$enable_database])
@@ -201,14 +266,14 @@ AC_MSG_CHECKING([whether to enable HTML5 video support])
AC_ARG_ENABLE(video,
AC_HELP_STRING([--enable-video],
[enable HTML5 video support [default=no]]),
- [enable_video="yes"],[enable_video="no"])
+ [],[enable_video="no"])
AC_MSG_RESULT([$enable_video])
# check whether to enable XPath support
AC_MSG_CHECKING([whether to enable XPath support])
AC_ARG_ENABLE(xpath,
AC_HELP_STRING([--enable-xpath],
- [enable support for XPath [default=no]]),
+ [enable support for XPath [default=yes]]),
[],[enable_xpath="yes"])
AC_MSG_RESULT([$enable_xpath])
@@ -216,10 +281,29 @@ AC_MSG_RESULT([$enable_xpath])
AC_MSG_CHECKING([whether to enable XSLT support])
AC_ARG_ENABLE(xslt,
AC_HELP_STRING([--enable-xslt],
- [enable support for XSLT [default=no]]),
+ [enable support for XSLT [default=yes]]),
[],[enable_xslt="yes"])
AC_MSG_RESULT([$enable_xslt])
+# check whether to enable SVG experimental features
+# Enable all SVG if it is
+AC_MSG_CHECKING([whether to enable SVG experimental features])
+AC_ARG_ENABLE(svg_experimental,
+ AC_HELP_STRING([--enable-svg-experimental],
+ [enable support for SVG experimental features [default=no]]),
+ [],[enable_svg_experimental="no"])
+AC_MSG_RESULT([$enable_svg_experimental])
+
+if test "$enable_svg_experimental" = "yes"; then
+ enable_svg=yes
+ enable_svg_animation=yes
+# enable_svg_filters=yes
+ enable_svg_fonts=yes
+ enable_svg_foreign_object=yes
+ enable_svg_as_image=yes
+ enable_svg_use_element=yes
+fi
+
# check whether to enable SVG support
AC_MSG_CHECKING([whether to enable SVG support])
AC_ARG_ENABLE(svg,
@@ -229,10 +313,10 @@ AC_ARG_ENABLE(svg,
AC_MSG_RESULT([$enable_svg])
# check whether to enable support for SVG animation
-AC_MSG_CHECKING([whether to enable support for SVG animataion])
+AC_MSG_CHECKING([whether to enable support for SVG animation])
AC_ARG_ENABLE(svg_animation,
AC_HELP_STRING([--enable-svg-animation],
- [enable support for SVG animation feature (experimental) [default=no]]),
+ [enable support for SVG animation (experimental) [default=no]]),
[],[enable_svg_animation="no"])
AC_MSG_RESULT([$enable_svg_animation])
@@ -252,6 +336,14 @@ AC_ARG_ENABLE(svg_fonts,
[],[enable_svg_fonts="no"])
AC_MSG_RESULT([$enable_svg_fonts])
+# check whether to enable foreign objects support for SVG
+AC_MSG_CHECKING([whether to enable support for SVG foreign objects])
+AC_ARG_ENABLE(svg_foreign_object,
+ AC_HELP_STRING([--enable-svg-foreign-object],
+ [enable support for SVG foreign objects (experimental) [default=no]]),
+ [],[enable_svg_foreign_object="no"])
+AC_MSG_RESULT([$enable_svg_foreign_object])
+
# check whether to enable SVG As Image support
AC_MSG_CHECKING([whether to enable SVG as Image support])
AC_ARG_ENABLE(svg_as_image,
@@ -276,19 +368,35 @@ AC_ARG_ENABLE(coverage,
[],[enable_coverage="no"])
AC_MSG_RESULT([$enable_coverage])
+# check whether to enable FastMalloc
+AC_MSG_CHECKING([whether to enable optimized memory allocator])
+AC_ARG_ENABLE(fast_malloc,
+ AC_HELP_STRING([--enable-fast-malloc],
+ [enable optimized memory allocator default=yes, default=no for debug builds]),
+ [],[if test "$enable_debug" = "yes"; then enable_fast_malloc="no"; else enable_fast_malloc="yes"; fi])
+AC_MSG_RESULT([$enable_fast_malloc])
+
# Add '-g' flag to gcc if it's debug build
if test "$enable_debug" = "yes"; then
CXXFLAGS="$CXXFLAGS -g"
CFLAGS="$CFLAGS -g"
fi
+# check if curl is available
+if test "$http_backend" = "curl"; then
+ PKG_CHECK_MODULES([LIBCURL],
+ [libcurl >= $LIBCURL_REQUIRED_VERSION])
+ AC_SUBST([LIBCURL_CFLAGS])
+ AC_SUBST([LIBCURL_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])
AC_SUBST([SQLITE3_CFLAGS])
AC_SUBST([SQLITE3_LIBS])
fi
-
+
# check if libxslt is available
if test "$enable_xslt" = "yes"; then
PKG_CHECK_MODULES([LIBXSLT],[libxslt >= $LIBXSLT_REQUIRED_VERSION])
@@ -316,16 +424,17 @@ if test "$enable_coverage" = "yes"; then
fi
# check for SVG features, enabling SVG if necessary
-if test "$enable_svg" = "no" && (\
- test "$enable_svg_animation" = "yes" || \
+if test "$enable_svg_animation" = "yes" || \
test "$enable_svg_filters" = "yes" || \
test "$enable_svg_fonts" = "yes" || \
+ test "$enable_svg_foreign_object" = "yes" || \
test "$enable_svg_as_image" = "yes" || \
- test "$enable_svg_use_element" = "yes"); then
-
- AC_MSG_WARN([SVG feature(s) requested but SVG is disabled.. Enabling SVG support])
- enable_svg = yes
- svg_flags = yes
+ test "$enable_svg_use_element" = "yes"; then
+ svg_flags=yes
+ if test "$enable_svg" = "no"; then
+ AC_MSG_WARN([SVG feature(s) requested but SVG is disabled.. Enabling SVG support])
+ enable_svg=yes
+ fi
fi
# OS conditionals
@@ -335,13 +444,17 @@ AM_CONDITIONAL([OS_LINUX],[test "$os_linux" = "yes"])
AM_CONDITIONAL([OS_FREEBSD],[test "$os_freebsd" = "yes"])
# target conditionals
-AM_CONDITIONAL([TARGET_X11], [test "$with_webkit_target" = "x11"])
-AM_CONDITIONAL([TARGET_WIN32], [test "$with_webkit_target" = "win32"])
-AM_CONDITIONAL([TARGET_QUARTZ], [test "$with_webkit_target" = "quartz"])
-AM_CONDITIONAL([TARGET_DIRECTFB], [test "$with_webkit_target" = "directfb"])
+AM_CONDITIONAL([TARGET_X11], [test "$with_target" = "x11"])
+AM_CONDITIONAL([TARGET_WIN32], [test "$with_target" = "win32"])
+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"])
# WebKit feature conditionals
AM_CONDITIONAL([ENABLE_DEBUG],[test "$enable_debug" = "yes"])
+AM_CONDITIONAL([ENABLE_CROSS_DOCUMENT_MESSAGING],[test "$enable_cross_document_messaging" = "yes"])
AM_CONDITIONAL([ENABLE_DATABASE],[test "$enable_database" = "yes"])
AM_CONDITIONAL([ENABLE_ICONDATABASE],[test "$enable_icon_database" = "yes"])
AM_CONDITIONAL([ENABLE_XPATH],[test "$enable_xpath" = "yes"])
@@ -351,14 +464,16 @@ AM_CONDITIONAL([ENABLE_SVG],[test "$enable_svg" = "yes"])
AM_CONDITIONAL([ENABLE_SVG_ANIMATION],[test "$enable_svg_animation" = "yes"])
AM_CONDITIONAL([ENABLE_SVG_FILTERS],[test "$enable_svg_filters" = "yes"])
AM_CONDITIONAL([ENABLE_SVG_FONTS],[test "$enable_svg_fonts" = "yes"])
+AM_CONDITIONAL([ENABLE_SVG_FOREIGN_OBJECT],[test "$enable_svg_foreign_object" = "yes"])
AM_CONDITIONAL([ENABLE_SVG_AS_IMAGE],[test "$enable_svg_as_image" = "yes"])
AM_CONDITIONAL([ENABLE_SVG_USE],[test "$enable_svg_use_element" = "yes"])
AM_CONDITIONAL([ENABLE_COVERAGE],[test "$enable_coverage" = "yes"])
+AM_CONDITIONAL([ENABLE_FAST_MALLOC],[test "$enable_fast_malloc" = "yes"])
AM_CONDITIONAL([SVG_FLAGS],[test "$svg_flags" = "yes"])
AC_CONFIG_FILES([
GNUmakefile
-WebKit/gtk/WebKitGtk.pc:WebKit/gtk/WebKitGtk.pc.in
+WebKit/gtk/webkit-1.0.pc:WebKit/gtk/webkit.pc.in
]
)
@@ -367,9 +482,13 @@ AC_OUTPUT
echo "
WebKit was configured with the following options:
- Target : $with_webkit_target
- Enable debug : $enable_debug
+Build configuration:
+ Enable debugging (slow) : $enable_debug
Code coverage support : $enable_coverage
+ HTTP backend : $http_backend
+ Optimized memory allocator : $enable_fast_malloc
+Features:
+ HTML5 cross-document messaging : $enable_cross_document_messaging
HTML5 client-side storage support : $enable_database
HTML5 video element support : $enable_video
Icon database support : $enable_icon_database
@@ -377,8 +496,12 @@ WebKit was configured with the following options:
SVG animation support : $enable_svg_animation
SVG filters support : $enable_svg_filters
SVG fonts support : $enable_svg_fonts
+ SVG foreign object support : $enable_svg_foreign_object
SVG as image support : $enable_svg_as_image
SVG use element support : $enable_svg_use_element
XPATH support : $enable_xpath
XSLT support : $enable_xslt
+GTK+ configuration:
+ GDK target : $with_target
+ Hildon UI extensions : $with_hildon
"
diff --git a/packages/webkit/webkit-gtk_svn.bb b/packages/webkit/webkit-gtk_svn.bb
index 6a99a96001..4fe9cb8a00 100644
--- a/packages/webkit/webkit-gtk_svn.bb
+++ b/packages/webkit/webkit-gtk_svn.bb
@@ -1,32 +1,59 @@
-DEPENDS = "curl icu libxml2 cairo libxslt libidn gnutls gtk+"
+DEPENDS = "curl icu libxml2 cairo libxslt libidn gnutls gtk+ gstreamer gst-plugins-base gnome-vfs flex-native gperf-native perl-native sqlite3"
-# If you activate HTML5 media support (ENABLE_VIDEO=1) you'll need:
-# DEPENDS += " gstreamer gst-plugins-base gnome-vfs "
+SRCREV_FORMAT = "webcore-rwebkit"
+# Yes, this is wrong...
+PV = "0.1+svnr${SRCREV}"
+PR = "r4"
-WEBKIT_PORT = "gtk-port"
-WEBKIT_EXTRA_OPTIONS = "CONFIG-=qt"
-
-FILES_webkit-gtklauncher = "${bindir}/GtkLauncher"
-FILES_webkit-gtklauncher-dbg += "${bindir}/.debug/GtkLauncher"
-
-require webkit.inc
+SRC_URI = "\
+ svn://svn.webkit.org/repository/webkit/trunk/;module=JavaScriptCore;proto=http \
+ svn://svn.webkit.org/repository/webkit/trunk/;module=JavaScriptGlue;proto=http \
+ svn://svn.webkit.org/repository/webkit/trunk/;module=WebCore;proto=http;name=webcore \
+ svn://svn.webkit.org/repository/webkit/trunk/;module=WebKit;proto=http;name=webkit \
+ svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitLibraries;proto=http \
+ svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitTools;proto=http \
+ file://Makefile \
+ file://Makefile.shared \
+ file://autogen.sh \
+ file://configure.ac \
+ file://GNUmakefile.am \
+ "
+
+S = "${WORKDIR}/"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "\
+ --enable-debug=no \
+ --enable-svg \
+ --enable-icon-database=yes \
+ "
+
+do_compile_prepend() {
+ mkdir -p ${S}/WebKitBuilds/Debug/JavaScriptCore/pcre/tmp/
+ mkdir -p ${S}/Programs/
+ cd ${S}/JavaScriptCore/pcre
+ if test -e dftables.c
+ then
+ ${BUILD_CC} dftables.c -o dftables -I. -I../wtf
+ elif test -e dftables.cpp
+ then
+ ${BUILD_CXX} dftables.cpp -o dftables -I. -I../wtf
+ fi
+ cp dftables ${S}/WebKitBuilds/Debug/JavaScriptCore/pcre/tmp/
+ cp dftables ${S}/Programs/
+ cd ${S}
+}
-SRC_URI += "file://autogen.sh \
- file://configure.ac \
- file://GNUmakefile.am \
- "
+do_stage() {
+ autotools_stage_all
+}
-PR = "r4"
+PACKAGES =+ "${PN}launcher-dbg ${PN}launcher libjavascriptcore"
+FILES_${PN}launcher = "${bindir}/GtkLauncher"
+FILES_${PN}launcher-dbg = "${bindir}/.debug/GtkLauncher"
+FILES_libjavascriptcore = "${libdir}/libJavaScriptCore.so.*"
-do_install() {
- install -d ${D}${bindir}
- install -d ${D}${libdir}
- install -d ${D}${libdir}/pkgconfig
- install -m 0755 ${S}/WebKitBuilds/Debug/WebKitTools/GtkLauncher/GtkLauncher ${D}${bindir}
- cd ${S}/WebKitBuilds/Debug
- PWD=`pwd` ${WEBKIT_QMAKE} WEBKIT_INC_DIR=${D}${prefix}/include WEBKIT_LIB_DIR=${D}${libdir} $PWD/../../WebKit.pro
- oe_runmake install
-}
diff --git a/packages/webkit/webkit.inc b/packages/webkit/webkit.inc
index 81c2d91bf8..087115de09 100644
--- a/packages/webkit/webkit.inc
+++ b/packages/webkit/webkit.inc
@@ -1,3 +1,4 @@
+DESCRIPTION = "WebKit browser engine, GTK+ edition"
DEPENDS += "flex-native gperf-native perl-native sqlite3"
SRCREV_FORMAT = "webcore-rwebkit"