r20406 - gnucash/trunk/packaging/win32 - Win32: Tweak cross compiling script for webkit so that is seems to almost compile.
Christian Stimming
cstim at code.gnucash.org
Sat Mar 12 19:02:27 EST 2011
Author: cstim
Date: 2011-03-12 19:02:27 -0500 (Sat, 12 Mar 2011)
New Revision: 20406
Trac: http://svn.gnucash.org/trac/changeset/20406
Added:
gnucash/trunk/packaging/win32/webkit-1.2.7-time.patch
gnucash/trunk/packaging/win32/webkit-1.2.7-vasprintf.patch
Modified:
gnucash/trunk/packaging/win32/crossbuild_webkit.sh
gnucash/trunk/packaging/win32/defaults.sh
Log:
Win32: Tweak cross compiling script for webkit so that is seems to almost compile.
Modified: gnucash/trunk/packaging/win32/crossbuild_webkit.sh
===================================================================
--- gnucash/trunk/packaging/win32/crossbuild_webkit.sh 2011-03-12 21:48:16 UTC (rev 20405)
+++ gnucash/trunk/packaging/win32/crossbuild_webkit.sh 2011-03-13 00:02:27 UTC (rev 20406)
@@ -82,11 +82,10 @@
_MINGW_UDIR=`unix_path $MINGW_DIR`
mkdir -p `unix_path $MINGW_DIR\\\\mingw32`
if [ -d $_MINGW_UDIR ] &&
- quiet $_MINGW_UDIR/bin/mingw32-gcc -v &&
- quiet mingw32-gcc -v
+ quiet $CC -v
then
echo "Cross mingw installed."
- if [ ` mingw32-gcc -dumpversion | cut -d. -f1` -le 3 ] ;then
+ if [ ` $CC -dumpversion | cut -d. -f1` -le 3 ] ;then
die "GCC 4.4 or higher needed"
fi
else
@@ -105,7 +104,7 @@
function inst_crossbinutils() {
_MINGW_UDIR=`unix_path $MINGW_DIR`
- if quiet $_MINGW_UDIR/bin/mingw32-ld -v
+ if quiet $LD -v
then
echo "Cross binutils already installed."
else
@@ -131,7 +130,7 @@
function inst_crossgcc(){
_MINGW_UDIR=`unix_path $MINGW_DIR`
- if quiet $_MINGW_UDIR/bin/mingw32-gcc
+ if quiet $CC
then
echo "Cross gcc alreadyinstalled."
else
@@ -160,7 +159,7 @@
qpopd
qpushd $TMP_UDIR/build-gcc
$TMP_UDIR/gcc-*/configure \
- --prefix=$_MINGW_UDIR --target=mingw32 \
+ --prefix=$_MINGW_UDIR --target=$TARGET \
--with-headers=$_MINGW_UDIR/mingw32/include \
--enable-languages=c,c++ \
--with-gcc --with-gnu-ld --with-gnu-as \
@@ -171,7 +170,7 @@
make
make install
qpopd
- if quiet $_MINGW_UDIR/bin/mingw32-gcc -v
+ if quiet $CC -v
then
rm -rf $TMP_UDIR/build-gcc $TMP_UDIR/gcc-* $TMP_UDIR/mydir
echo "Cross gcc installed successfully."
@@ -188,7 +187,7 @@
add_to_env -L$_GNOME_UDIR/lib GNOME_LDFLAGS
add_to_env $_GNOME_UDIR/lib/pkgconfig PKG_CONFIG_PATH
if [ "$CROSS_COMPILE" != "yes" ]; then
- add_to_env $_GNOME_UDIR//pkg-config-msys.shPKG_CONFIG
+ add_to_env $_GNOME_UDIR//pkg-config-msys.sh PKG_CONFIG
else
add_to_env pkg-config PKG_CONFIG
fi
@@ -214,12 +213,24 @@
assert_one_dir $TMP_UDIR/libxslt-*
qpushd $TMP_UDIR/libxslt-*
./configure ${HOST_XCOMPILE} \
+ --with-libxml-prefix=$_GNOME_UDIR \
+ --with-libxml-include-prefix=$_GNOME_UDIR/include/libxml2 \
+ --with-libxml-libs-prefix=$_GNOME_UDIR/lib \
+ PKG_CONFIG_PATH="$_GNOME_UDIR/lib/pkgconfig" \
--prefix=${_GNOME_UDIR} \
+ --enable-static=no \
+ --with-plugins=no \
+ --with-python=no \
CPPFLAGS="$GNOME_CPPFLAGS $GNUTLS_CPPFLAGS" \
LDFLAGS="$GNOME_LDFLAGS $GNUTLS_LDFLAGS"
+ make .
+ cd libxslt
+ make EXTRA_LIBS="-L$_GNOME_UDIR/bin -lxml2-2"
+ cd ..
make
make install
qpopd
+ rm -r $TMP_UDIR/libxslt-*
fi
}
@@ -318,6 +329,7 @@
make
make install
qpopd
+ rm -r $TMP_UDIR/libsoup-*
fi
}
@@ -325,6 +337,7 @@
setup WebKitGTK+
_MINGW_UDIR=`unix_path $MINGW_DIR`
_GNOME_UDIR=`unix_path $GNOME_DIR`
+ _WEBKIT_DIR=`unix_path $WEBKIT_DIR`
add_to_env -I$_GNOME_UDIR/include GNOME_CPPFLAGS
add_to_env -L$_GNOME_UDIR/lib GNOME_LDFLAGS
add_to_env $_GNOME_UDIR/lib/pkgconfig PKG_CONFIG_PATH
@@ -355,18 +368,39 @@
wget_unpacked $WEBKIT_SRC_URL $DOWNLOAD_DIR $TMP_DIR
assert_one_dir $TMP_UDIR/webkit-*
qpushd $TMP_UDIR/webkit-*
- patch -p1 < $WEBKIT_PATCH
- patch -p1 < $WEBKIT_PATCH2
- perl -pi.bak -e"s!/usr/bin/gcc!$_MINGW_UDIR/bin/mingw32-gcc!" \
+ if [ -n "$WEBKIT_PATCH" -a -f "$WEBKIT_PATCH" ] ; then
+ patch -p1 < $WEBKIT_PATCH
+ fi
+ if [ -n "$WEBKIT_PATCH2" -a -f "$WEBKIT_PATCH2" ] ; then
+ patch -p1 < $WEBKIT_PATCH2
+ fi
+ perl -pi.bak -e"s!/usr/bin/gcc!$CC!" \
WebCore/dom/make_names.pl \
WebCore/css/make-css-file-arrays.pl \
WebCore/bindings/scripts/IDLParser.pm
./configure ${HOST_XCOMPILE} \
- --prefix=${_GNOME_UDIR} \
- --disable-silent-rules \
- --disable-video \
- --with-target=win32 \
CPPFLAGS="$GNOME_CPPFLAGS" \
+ --prefix=${_WEBKIT_DIR} \
+ --enable-silent-rules \
+ --disable-datalist \
+ --disable-dom-storage \
+ --disable-eventsource \
+ --disable-filters \
+ --disable-gtk-doc-html \
+ --disable-offline-web-applications \
+ --disable-ruby \
+ --disable-shared-workers \
+ --disable-silent-rules \
+ --disable-svg-animation \
+ --disable-svg-as-image \
+ --disable-svg-fonts \
+ --disable-svg-foreign-object \
+ --disable-svg-use \
+ --disable-video \
+ --disable-workers \
+ --disable-xpath \
+ --with-target=win32 \
+ --with-unicode-backend=icu \
CFLAGS="-g -O2 -std=gnu99" \
CXXFLAGS="-g -O2 -std=gnu++98" \
LDFLAGS="$GNOME_LDFLAGS"
@@ -445,12 +479,20 @@
function inst_icu4c_mingw32() {
setup icu4c-mingw32
_ICU4C_UDIR=`unix_path $ICU4C_DIR`
+ rm -rf $TMP_UDIR/icu-cross
mkdir -p $TMP_UDIR/icu-cross
+
+ # Note: If you have TARGET=i586-mingw32mingw, for this library you
+ # need to set a different --host argument here due to some known
+ # bug in the ICU source package
+ #HOST_XCOMPILE="--host=i586-mingw32"
+
qpushd $TMP_UDIR/icu-cross
$TMP_UDIR/icu/source/configure ${HOST_XCOMPILE} \
--prefix=$_ICU4C_UDIR \
--with-cross-build=$TMP_UDIR/icu-native \
- --with-data-packaging=library
+ --with-data-packaging=library \
+ CC=$CC CPP="$CC -E" RANLIB=$RANLIB CXX=$TARGET-g++
make \
CFLAGS="-g -O2 -std=gnu99" \
CXXFLAGS="-g -O2 -std=gnu++98"
Modified: gnucash/trunk/packaging/win32/defaults.sh
===================================================================
--- gnucash/trunk/packaging/win32/defaults.sh 2011-03-12 21:48:16 UTC (rev 20405)
+++ gnucash/trunk/packaging/win32/defaults.sh 2011-03-13 00:02:27 UTC (rev 20406)
@@ -201,7 +201,7 @@
set_default LIBXSLT_ICONV_URL "${XMLSOFT_URL}/iconv-1.9.2.win32.zip"
set_default LIBXSLT_ZLIB_URL "${XMLSOFT_URL}/zlib-1.2.3.win32.zip"
set_default LIBXSLT_DIR $GLOBAL_DIR\\libxslt
-#set_default LIBXSLT_SRC_URL "http://xmlsoft.org/sources/libxslt-1.1.26.tar.gz" # unused
+set_default LIBXSLT_SRC_URL "http://xmlsoft.org/sources/libxslt-1.1.26.tar.gz" # needed for webkit build
set_default LIBXML2_URL "$GNOME_WIN32_DEPS_URL/libxml2_2.7.4-1_win32.zip"
set_default LIBXML2_DEV_URL "$GNOME_WIN32_DEPS_URL/libxml2-dev_2.7.4-1_win32.zip"
@@ -298,11 +298,12 @@
set_default HH_URL "http://download.microsoft.com/download/0/a/9/0a939ef6-e31c-430f-a3df-dfae7960d564/htmlhelp.exe"
set_default HH_DIR $GLOBAL_DIR\\hh
-set_default WEBKIT_URL "$SF_MIRROR/gnucash/webkit-1.1.90-win32.zip"
-set_default WEBKIT_DIR $GLOBAL_DIR\\webkit-1.1.90
-set_default WEBKIT_SRC_URL "http://www.webkitgtk.org/webkit-1.1.90.tar.gz"
-set_default WEBKIT_PATCH `pwd`/webkit-1.2.0-time.diff
-set_default WEBKIT_PATCH2 `pwd`/webkit-1.2.0-vsaprintf.diff
+set_default WEBKIT_VERSION "1.1.90"
+set_default WEBKIT_URL "$SF_MIRROR/gnucash/webkit-${WEBKIT_VERSION}-win32.zip"
+set_default WEBKIT_DIR $GLOBAL_DIR\\webkit-${WEBKIT_VERSION}
+set_default WEBKIT_SRC_URL "http://www.webkitgtk.org/webkit-1.2.7.tar.gz"
+set_default WEBKIT_PATCH `pwd`/webkit-1.2.7-time.patch
+set_default WEBKIT_PATCH2 `pwd`/webkit-1.2.7-vasprintf.patch
set_default ENCHANT_URL "$GNOME_WIN32_URL/dependencies/enchant_1.5.0-2_win32.zip"
set_default ENCHANT_DEV_URL "$GNOME_WIN32_URL/dependencies/enchant-dev_1.5.0-2_win32.zip"
#set_default LIBSOUP_URL "$GNOME_WIN32_URL/libsoup/2.4/libsoup-2.4.0.zip"
Added: gnucash/trunk/packaging/win32/webkit-1.2.7-time.patch
===================================================================
--- gnucash/trunk/packaging/win32/webkit-1.2.7-time.patch (rev 0)
+++ gnucash/trunk/packaging/win32/webkit-1.2.7-time.patch 2011-03-13 00:02:27 UTC (rev 20406)
@@ -0,0 +1,22 @@
+diff -ur -x '*.lo' -x '*.o' webkit-1.1.90-orig/WebCore/platform/network/ResourceResponseBase.h webkit-1.1.90/WebCore/platform/network/ResourceResponseBase.h
+--- webkit-1.1.90-orig/WebCore/platform/network/ResourceResponseBase.h 2010-02-22 17:36:04.000000000 +0100
++++ webkit-1.1.90/WebCore/platform/network/ResourceResponseBase.h 2011-03-12 22:11:06.720211214 +0100
+@@ -31,6 +31,7 @@
+ #include "KURL.h"
+
+ #include <wtf/PassOwnPtr.h>
++#include <ctime>
+
+ namespace WebCore {
+
+diff -ur webkit-1.2.7-orig/WebCore/page/Page.h webkit-1.2.7/WebCore/page/Page.h
+--- webkit-1.2.7-orig/WebCore/page/Page.h 2010-09-10 15:20:33.000000000 +0200
++++ webkit-1.2.7/WebCore/page/Page.h 2011-03-12 23:25:35.670211006 +0100
+@@ -26,6 +26,7 @@
+ #include <wtf/Forward.h>
+ #include <wtf/HashSet.h>
+ #include <wtf/Noncopyable.h>
++#include <ctime>
+
+ #if PLATFORM(MAC)
+ #include "SchedulePair.h"
Added: gnucash/trunk/packaging/win32/webkit-1.2.7-vasprintf.patch
===================================================================
--- gnucash/trunk/packaging/win32/webkit-1.2.7-vasprintf.patch (rev 0)
+++ gnucash/trunk/packaging/win32/webkit-1.2.7-vasprintf.patch 2011-03-13 00:02:27 UTC (rev 20406)
@@ -0,0 +1,22 @@
+diff -ur webkit-1.2.7-orig/WebCore/dom/XMLTokenizerLibxml2.cpp webkit-1.2.7/WebCore/dom/XMLTokenizerLibxml2.cpp
+--- webkit-1.2.7-orig/WebCore/dom/XMLTokenizerLibxml2.cpp 2010-09-10 15:20:33.000000000 +0200
++++ webkit-1.2.7/WebCore/dom/XMLTokenizerLibxml2.cpp 2011-03-12 23:13:39.521370554 +0100
+@@ -23,6 +23,9 @@
+ * Boston, MA 02110-1301, USA.
+ */
+
++#define _GNU_SOURCE
++#include <cstdio>
++
+ #include "config.h"
+ #include "XMLTokenizer.h"
+
+@@ -908,7 +911,7 @@
+ if (m_parserStopped)
+ return;
+
+-#if COMPILER(MSVC) || COMPILER(RVCT)
++#if 1
+ char m[1024];
+ vsnprintf(m, sizeof(m) - 1, message, args);
+ #else
More information about the gnucash-changes
mailing list