[oe-commits] org.oe.dev webkit-gtk: prepare for autotools support: http://www.unpluggable.com/?p=156
koen commit
openembedded-commits at lists.openembedded.org
Sun Dec 30 18:52:31 UTC 2007
webkit-gtk: prepare for autotools support: http://www.unpluggable.com/?p=156
Author: koen at openembedded.org
Branch: org.openembedded.dev
Revision: b8146248b63ab8beefda37316fe2917efa8817a5
ViewMTN: http://monotone.openembedded.org/revision/info/b8146248b63ab8beefda37316fe2917efa8817a5
Files:
1
packages/webkit/files/GNUmakefile.am
packages/webkit/files/autogen.sh
packages/webkit/files/configure.ac
packages/webkit/webkit-gtk_svn.bb
Diffs:
#
# mt diff -r13782a894c357c51a3fa0c51cda4e964f6e42721 -rb8146248b63ab8beefda37316fe2917efa8817a5
#
#
#
# add_file "packages/webkit/files/GNUmakefile.am"
# content [1405c30a670778ad477a10c30a1b572b4b4b248c]
#
# add_file "packages/webkit/files/autogen.sh"
# content [4c1b8c78cb4a028f0b02454d4d31826719d46e70]
#
# add_file "packages/webkit/files/configure.ac"
# content [70fcd958d25c14bab5be08366359f409c77d0b14]
#
# patch "packages/webkit/webkit-gtk_svn.bb"
# from [2b24d6f59232655003cc23519603a66cec5aca93]
# to [875d1bd8f5838488ad5849454b60b0ed23e6e68e]
#
============================================================
--- packages/webkit/files/GNUmakefile.am 1405c30a670778ad477a10c30a1b572b4b4b248c
+++ packages/webkit/files/GNUmakefile.am 1405c30a670778ad477a10c30a1b572b4b4b248c
@@ -0,0 +1,314 @@
+# Top-level Makefile rule for automake
+#
+# Variable conventions:
+#
+# _h_api = API headers that will be installed and included in the distribution
+# _cppflags = flags that will be passed to the C/CXX Preprocessor
+# _sources = sources that will be compiled and included in the distribution
+# _headers = header files that will be part of the distribution
+# _built_sources = files that will be autogenerated by the build system and
+# will be part of the _SOURCES primary
+# _built_nosources = files that are autogenerated but are not part of the
+# _SOURCES primary
+# _cleanfiles = files that will be removed by the clean target
+#
+# Sources, headers, flags, etc... should be added to the respective variables
+# with the above suffix, e.g, webcore-specific sources should go to
+# webcore_sources, gtk port-specific flags should go to webkitgtk_cppflags,
+# etc... The only exceptions are the global variables. See Global Variables below.
+#
+# Global Variables
+#
+# 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
+# any specific port
+
+srcdir = @srcdir@
+VPATH = @srcdir@
+
+# Directory for autogenerated sources
+GENSOURCES := $(top_builddir)/DerivedSources
+
+# Script for creating hash tables
+CREATE_HASH_TABLE = $(srcdir)/JavaScriptCore/kjs/create_hash_table
+
+# Libraries and support components
+noinst_LTLIBRARIES :=
+
+noinst_HEADERS :=
+
+noinst_PROGRAMS :=
+
+lib_LIBRARIES :=
+
+IDL_BINDINGS :=
+
+# Files that will be distributed
+EXTRA_DIST :=
+
+#
+# Global flags to CPP
+global_cppflags :=
+
+global_cppflags += \
+ -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
+
+# Libraries
+lib_LTLIBRARIES = libJavaScriptCore.la libWebKitGtk.la
+
+#
+# JavaScriptCore
+javascriptcore_h_api :=
+javascriptcore_cppflags:=
+javascriptcore_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_la_SOURCES := \
+ $(javascriptcore_built_sources) \
+ $(javascriptcore_sources)
+
+libJavaScriptCore_la_LDFLAGS := -lpthread
+
+libJavaScriptCore_la_CXXFLAGS := $(global_cflags)
+
+libJavaScriptCore_la_CFLAGS := $(global_cflags)
+
+libJavaScriptCore_la_CPPFLAGS := $(global_cppflags) $(javascriptcore_cppflags)
+
+#
+# WebCore
+webcore_cppflags :=
+webcore_sources :=
+webcore_headers :=
+webcore_built_sources :=
+webcore_built_nosources :=
+
+# WebKitGtk
+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 := \
+ $(webcore_built_sources) \
+ $(webcore_headers) \
+ $(webcore_sources) \
+ $(webkitgtk_built_sources) \
+ $(webkitgtk_headers) \
+ $(webkitgtk_sources)
+
+libWebKitGtk_la_CXXFLAGS := \
+ -fno-rtti \
+ $(global_cflags) \
+ $(DEPENDENCIES_CFLAGS) \
+ $(SQLITE3_CFLAGS) \
+ $(GSTREAMER_CFLAGS) \
+ $(LIBXSLT_CFLAGS) \
+ $(COVERAGE_CFLAGS)
+
+libWebKitGtk_la_CFLAGS := \
+ $(global_cflags) \
+ $(DEPENDENCIES_CFLAGS) \
+ $(SQLITE3_CFLAGS) \
+ $(GSTREAMER_CFLAGS) \
+ $(LIBXSLT_CFLAGS) \
+ $(COVERAGE_CFLAGS)
+
+libWebKitGtk_la_CPPFLAGS := \
+ $(global_cppflags) \
+ $(webcore_cppflags) \
+ $(webkitgtk_cppflags)
+
+libWebKitGtk_la_LIBADD := @LTLIBOBJS@ libJavaScriptCore.la
+
+libWebKitGtk_la_LDFLAGS := \
+ $(webkitgtk_ldflags) \
+ $(DEPENDENCIES_LIBS) \
+ $(ICU_LIBS) \
+ $(SQLITE3_LIBS) \
+ $(GSTREAMER_LIBS) \
+ $(LIBXSLT_LIBS) \
+ $(COVERAGE_LDFLAGS) \
+ -lpthread \
+ -ljpeg \
+ -version-info @LIBWEBKITGTK_VERSION@
+
+#
+# Extra checks and flags
+global_cppflags += \
+ -DBUILDING_GTK__=1 \
+ -DUSE_SYSTEM_MALLOC \
+ -DWTF_CHANGES
+
+if TARGET_X11
+global_cppflags += -DXP_UNIX
+endif
+
+if !ENABLE_DEBUG
+global_cppflags += -DNDEBUG
+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
+endif
+
+if !ENABLE_DATABASE
+global_cppflags += -DENABLE_DATABASE=0
+endif
+
+if !ENABLE_ICONDATABASE
+global_cppflags += -DENABLE_ICONDATABASE=0
+endif
+
+if ENABLE_COVERAGE
+global_cppflags += \
+ -DGCC_GENERATE_TEST_COVERAGE_FILES \
+ -DGCC_INSTRUMENT_PROGRAM_FLOW_ARCS
+endif
+
+if ENABLE_VIDEO
+webkitgtk_ldflags += -lgstinterfaces-0.10 -lgstvideo-0.10
+endif
+
+#
+# WEBKIT GTK+
+webkitgtk_cppflags += \
+-I $(top_builddir)/WebKit/gtk/WebView \
+-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
+
+webkitgtk_built_sources += \
+ WebKit/gtk/WebView/webkit-marshal.h \
+ WebKit/gtk/WebView/webkit-marshal.cpp
+
+webkitgtk_headers += \
+ WebKit/gtk/WebView/webkitprivate.h \
+ WebKit/gtk/WebView/webkitsettings.h \
+ WebKit/gtk/WebCoreSupport/ChromeClientGtk.h \
+ WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h \
+ WebKit/gtk/WebCoreSupport/DragClientGtk.h \
+ WebKit/gtk/WebCoreSupport/EditorClientGtk.h \
+ WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h \
+ WebKit/gtk/WebCoreSupport/InspectorClientGtk.h \
+ 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/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
+
+webkitgtk_cleanfiles += \
+ $(top_builddir)/Programs/GtkLauncher \
+ $(top_builddir)/WebKit/gtk/WebKitGtk.pc
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = WebKit/gtk/WebKitGtk.pc
+
+WEBKIT_MARSHAL = $(CURDIR)/WebKit/gtk/WebView/webkit-marshal
+WEBKIT_MARSHAL_LIST = $(srcdir)/WebKit/gtk/WebView/webkit-marshal.list
+
+stamp_files := \
+ stamp-webkit-marshal.cpp \
+ stamp-webkit-marshal.h
+
+WebKit/gtk/WebView/webkit-marshal.cpp: stamp-webkit-marshal.cpp
+ @true
+
+WebKit/gtk/WebView/webkit-marshal.h: stamp-webkit-marshal.h
+ @true
+
+stamp-webkit-marshal.cpp: $(WEBKIT_MARSHAL_LIST)
+ 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-webkit-marshal.h: $(WEBKIT_MARSHAL_LIST)
+ $(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) --header > $(WEBKIT_MARSHAL).h && \
+ echo timestamp > $(@F)
+
+# END WEBKIT GTK+
+
+# Files that will be cleaned
+MAINTAINERCLEANFILES := $(stamp_files) $(BUILT_SOURCES)
+DISTCLEANFILES := $(stamp_files) $(BUILT_SOURCES)
+CLEANFILES := $(stamp_files) $(BUILT_SOURCES)
+
+# Include module makefiles
+include JavaScriptCore/GNUmakefile.am
+include WebCore/GNUmakefile.am
+include WebKitTools/GNUmakefile.am
+
+
+# Autogenerated sources
+BUILT_SOURCES := \
+ $(javascriptcore_built_sources) \
+ $(javascriptcore_built_nosources) \
+ $(webcore_built_sources) \
+ $(webcore_built_nosources) \
+ $(webkitgtk_built_sources) \
+ $(webkitgtk_built_nosources)
+
+# Project-wide clean rules
+CLEANFILES += \
+ $(webkitgtk_cleanfiles) \
+ $(top_builddir)/Programs/DumpRenderTree \
+ $(top_builddir)/Programs/testkjs \
+ $(top_builddir)/Programs/dftables \
+ $(GENSOURCES)
+
+MAINTAINERCLEANFILES += \
+ $(srcdir)/aconfig.h.in \
+ configure \
+ config.* \
+ GNUmakefile.in \
+ INSTALL \
+ README
============================================================
--- packages/webkit/files/autogen.sh 4c1b8c78cb4a028f0b02454d4d31826719d46e70
+++ packages/webkit/files/autogen.sh 4c1b8c78cb4a028f0b02454d4d31826719d46e70
@@ -0,0 +1,40 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+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
+}
+
+(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
+}
+
+if test "$DIE" -eq 1; then
+ exit 1
+fi
+
+rm -rf $top_srcdir/autom4te.cache
+
+touch README INSTALL
+
+aclocal || exit $?
+libtoolize --force || exit $?
+autoheader || exit $?
+automake --foreign --add-missing || exit $?
+autoconf || exit $?
+
+./configure $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
============================================================
--- packages/webkit/files/configure.ac 70fcd958d25c14bab5be08366359f409c77d0b14
+++ packages/webkit/files/configure.ac 70fcd958d25c14bab5be08366359f409c77d0b14
@@ -0,0 +1,384 @@
+AC_INIT([WebKit],[0.1],[http://bugs.webkit.org/])
+
+AC_PREREQ(2.59)
+
+AC_CONFIG_HEADERS([aconfig.h])
+AC_CONFIG_SRCDIR([WebCore/config.h])
+
+# see http://www.gnu.org/software/libtool/manual.html#Versioning
+LIBWEBKITGTK_VERSION=1:0:0
+AC_SUBST([LIBWEBKITGTK_VERSION])
+
+AM_INIT_AUTOMAKE([1.9 foreign tar-ustar subdir-objects])
+
+AM_MAINTAINER_MODE
+
+AC_CANONICAL_HOST
+
+# host checking - inspired by the GTK+ configure.in
+# TODO: os_mac, os_bsd
+AC_MSG_CHECKING([for native Win32])
+case "$host" in
+ *-*-mingw*)
+ os_win32=yes
+ ;;
+ *)
+ os_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$os_win32])
+
+case "$host" in
+ *-*-linux*)
+ os_linux=yes
+ ;;
+ *-*-freebsd*)
+ os_freebsd=yes
+ ;;
+esac
+
+# If CXXFLAGS and CFLAGS are unset, default to -O2
+# This is to tell automake not to include '-g' if CXXFLAGS is not set
+# For more info - http://www.gnu.org/software/automake/manual/autoconf.html#C_002b_002b-Compiler
+if test -z "$CXXFLAGS"; then
+ CXXFLAGS="-O2"
+fi
+if test -z "$CFLAGS"; then
+ CFLAGS="-O2"
+fi
+
+# programs
+AC_DISABLE_STATIC
+AM_PROG_LIBTOOL
+AC_PROG_INSTALL
+AM_PROG_CC_STDC
+AC_PROG_CXX
+AC_PROG_CXX_C_O
+AM_PROG_CC_C_O
+
+AC_PATH_PROG(PERL, perl)
+if test -z "$PERL"; then
+ AC_MSG_ERROR([You need 'perl' to compile WebKit])
+fi
+
+AC_PATH_PROG(BISON, bison)
+if test -z "$BISON"; then
+ AC_MSG_ERROR([You need the 'bison' parser generator to compile WebKit])
+fi
+
+AC_PATH_PROG(FLEX, flex)
+if test -z "$FLEX"; then
+ AC_MSG_ERROR([You need the 'flex' lexer generator to compile WebKit])
+fi
+
+AC_PATH_PROG(GPERF, gperf)
+if test -z "$GPERF"; then
+ AC_MSG_ERROR([You need the 'gperf' hash function generator to compile WebKit])
+fi
+
+AC_PATH_PROG(MV, mv)
+if test -z "$MV"; then
+ AC_MSG_ERROR([You need 'mv' to compile WebKit])
+fi
+
+# GTK+ port only
+# Check for glib-genmarshal and glib-mkenums
+AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
+AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
+
+# Check whether a C++ was found (AC_PROG_CXX sets $CXX to "g++" even when it
+# doesn't exist)
+AC_LANG_PUSH([C++])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],[],[AC_MSG_ERROR([No C++ compiler found])])
+AC_LANG_POP([C++])
+
+# C/C++ Language Features
+AC_C_CONST
+AC_C_INLINE
+AC_C_VOLATILE
+
+# C/C++ Headers
+AC_HEADER_STDC
+AC_HEADER_STDBOOL
+
+# pthread
+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]))
+
+# libjpeg headers
+AC_CHECK_HEADERS([jpeglib.h])
+
+# check for pkg-config
+AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+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
+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`
+ICU_LIBS=`$icu_config --ldflags`
+AC_SUBST([ICU_CFLAGS])
+AC_SUBST([ICU_LIBS])
+
+# 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@:>@],
+ [Select webkit target [default=x11]]),
+ [],[with_webkit_target="x11"])
+
+case "$with_webkit_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])
+
+# minimum 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
+
+# optional modules
+GTK_REQUIRED_VERSION=2.0
+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],
+ [glib-2.0 >= $GLIB_REQUIRED_VERSION
+ gobject-2.0 >= $GOBJECT_REQUIRED_VERSION
+ gthread-2.0 >= $GTHREAD_REQUIRED_VERSION
+ 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])
+
+# 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"])
+AC_MSG_RESULT([$enable_debug])
+
+# 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=n%s
>>> DIFF TRUNCATED @ 16K
More information about the Openembedded-commits
mailing list