r19098 - gnucash/trunk/packaging/win32 - Bug #617435 - webkitgtk+ cross build script, created by Yasuaki Taniguchi

Geert Janssens gjanssens at code.gnucash.org
Tue May 4 05:45:50 EDT 2010


Author: gjanssens
Date: 2010-05-04 05:45:50 -0400 (Tue, 04 May 2010)
New Revision: 19098
Trac: http://svn.gnucash.org/trac/changeset/19098

Added:
   gnucash/trunk/packaging/win32/crossbuild_webkit.sh
   gnucash/trunk/packaging/win32/icu-crossmingw.patch
Modified:
   gnucash/trunk/packaging/win32/defaults.sh
   gnucash/trunk/packaging/win32/functions.sh
Log:
Bug #617435 - webkitgtk+ cross build script, created by Yasuaki Taniguchi

Added: gnucash/trunk/packaging/win32/crossbuild_webkit.sh
===================================================================
--- gnucash/trunk/packaging/win32/crossbuild_webkit.sh	                        (rev 0)
+++ gnucash/trunk/packaging/win32/crossbuild_webkit.sh	2010-05-04 09:45:50 UTC (rev 19098)
@@ -0,0 +1,489 @@
+#!/bin/bash
+
+[ ! "$BASH" -a -x /bin/bash ] && exec /bin/bash "$0" "$@"
+
+set -e
+
+echo -n "Build Starting at "
+date
+
+function qpushd() { pushd "$@" >/dev/null; }
+function qpopd() { popd >/dev/null; }
+function unix_path() { echo "$*" | sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'; }
+
+qpushd "$(dirname $(unix_path "$0"))"
+. functions.sh
+. defaults.sh
+
+register_env_var ACLOCAL_FLAGS " "
+register_env_var AUTOTOOLS_CPPFLAGS " "
+register_env_var AUTOTOOLS_LDFLAGS " "
+register_env_var GMP_CPPFLAGS " "
+register_env_var GMP_LDFLAGS " "
+register_env_var GNOME_CPPFLAGS " "
+register_env_var GNOME_LDFLAGS " "
+register_env_var GNUTLS_CPPFLAGS " "
+register_env_var GNUTLS_LDFLAGS " "
+register_env_var GUILE_LOAD_PATH ";"
+register_env_var GUILE_CPPFLAGS " "
+register_env_var GUILE_LDFLAGS " "
+register_env_var HH_CPPFLAGS " "
+register_env_var HH_LDFLAGS " "
+register_env_var INTLTOOL_PERL " "
+register_env_var LIBDBI_CPPFLAGS " "
+register_env_var LIBDBI_LDFLAGS " "
+register_env_var KTOBLZCHECK_CPPFLAGS " "
+register_env_var KTOBLZCHECK_LDFLAGS " "
+register_env_var PATH ":"
+register_env_var PCRE_CPPFLAGS " "
+register_env_var PCRE_LDFLAGS " "
+register_env_var PKG_CONFIG ":" ""
+register_env_var PKG_CONFIG_PATH ":"
+register_env_var READLINE_CPPFLAGS " "
+register_env_var READLINE_LDFLAGS " "
+register_env_var REGEX_CPPFLAGS " "
+register_env_var REGEX_LDFLAGS " "
+register_env_var WEBKIT_CFLAGS " "
+register_env_var WEBKIT_LIBS " "
+
+function prepare() {
+# check gnome
+
+   setup "prepare"
+   TMP_UDIR=`unix_path $TMP_DIR`
+   DOWNLOAD_UDIR=`unix_path $DOWNLOAD_DIR`
+   _GLOBAL_UDIR=`unix_path $GLOBAL_DIR`
+   _MINGW_UDIR=`unix_path $MINGW_DIR`
+   add_to_env $_MINGW_UDIR/bin PATH
+   mkdir -p $TMP_UDIR
+   if [ "$CROSS_COMPILE" != "yes" ]; then
+      die "Cross Compile needed"
+   fi
+   _UNAME_O=`uname -o`
+
+   if [ "$_UNAME_O" = "Msys" ]; then
+      die "You can't build webkit on msys. Use Cygwin on Windows instead."
+   fi
+
+   if [ "$_UNAME_O" = "Cygwin" ] &&
+       [ "$_GLOBAL_UDIR/mingw" = "$_MINGW_UDIR" ] ||
+       [ "$_GLOBAL_UDIR/msys" = "$_MINGW_UDIR" ];
+   then
+      die "Please set \$MINGW_DIR other than \$GLOBAL_DIR\\\\mingw or \$GLOBAL_DIR\\\\msys on Cygwin."
+   fi
+
+   if [ -n "$CCACHE_LINK_DIR" ]; then
+      export PATH=$CCACHE_LINK_DIR:$PATH
+   fi
+}
+
+function inst_crossmingw() {
+    setup "Cross mingw"
+    _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 
+    then
+        echo "Cross mingw installed."
+       if [ ` mingw32-gcc -dumpversion | cut -d. -f1` -le 3 ] ;then
+           die "GCC 4.4 or higher needed"
+       fi
+    else
+        echo "Installing Cross mingw32 gcc 4.x"
+        mkdir -p $_MINGW_UDIR
+        wget_unpacked $MINGW_RT_URL $DOWNLOAD_DIR $MINGW_DIR\\mingw32
+        [ -n "$MINGW_RT_DEV_URL" ] && wget_unpacked $MINGW_RT_DEV_URL $DOWNLOAD_DIR $MINGW_DIR\\mingw32
+        wget_unpacked $W32API_URL $DOWNLOAD_DIR $MINGW_DIR\\mingw32
+        [ -n "$PTHREADS_W32_URL" ] && wget_unpacked $PTHREADS_W32_URL $DOWNLOAD_DIR $MINGW_DIR\\mingw32
+        [ -n "$PTHREADS_W32_DEV_URL" ] && wget_unpacked $PTHREADS_W32_DEV_URL $DOWNLOAD_DIR $MINGW_DIR\\mingw32
+ 
+        inst_crossbinutils
+        inst_crossgcc
+    fi
+}
+
+function inst_crossbinutils() {
+    _MINGW_UDIR=`unix_path $MINGW_DIR`
+    if quiet $_MINGW_UDIR/bin/mingw32-ld -v
+    then 
+        echo "Cross binutils already installed."
+    else
+         wget_unpacked $CROSS_BINUTILS_SRC_URL $DOWNLOAD_DIR $TMP_DIR
+         assert_one_dir $TMP_UDIR/binutils-*
+         mkdir -p $TMP_UDIR/build-binutils
+         qpushd $TMP_UDIR/build-binutils
+             $TMP_UDIR/binutils-*/configure  \
+                 --prefix=$_MINGW_UDIR --target=mingw32 \
+                 --with-gcc --with-gnu-as --with-gnu-ld --enable-shared 
+             make
+             make install
+         qpopd
+        if quiet $_MINGW_UDIR/bin/mingw32-ld  -v
+        then 
+            rm -rf $TMP_UDIR/binutils-* $TMP_UDIR/build-binutils
+            echo "Cross binutils installed successfully."
+        else
+            die "Cross binutils install failure"
+        fi
+    fi
+}
+
+function inst_crossgcc(){
+    _MINGW_UDIR=`unix_path $MINGW_DIR`
+    if quiet $_MINGW_UDIR/bin/mingw32-gcc
+    then 
+        echo "Cross gcc alreadyinstalled."
+    else
+        mkdir -p $_MINGW_UDIR/mingw32/include
+        mkdir -p $TMP_UDIR/build-gcc
+        mkdir -p $TMP_UDIR/mydir
+        wget_unpacked $CROSS_GCC_SRC_URL $DOWNLOAD_DIR $TMP_DIR
+        wget_unpacked $CROSS_GCC_SRC2_URL $DOWNLOAD_DIR $TMP_DIR\\mydir
+        assert_one_dir $TMP_UDIR/gcc-*
+        qpushd $TMP_UDIR/gcc-*
+            dos2unix $TMP_UDIR/mydir/patches/gcc*.patch
+# FIXME: gcc-4.4.0 patch workaround
+            for i in $TMP_UDIR/mydir/patches/gcc*.patch; do
+#                 patch -p0 < $i
+                 patch -p0 < $i || echo -n ""
+            done
+        cat >> libstdc++-v3/include/bits/c++config << EOF
+#ifndef _GLIBCXX_IMPORT
+#ifdef _GLIBCXX_DLL
+#define _GLIBCXX_IMPORT __attribute__((dllimport))
+#else
+#define _GLIBCXX_IMPORT
+#endif
+#endif
+EOF
+        qpopd
+        qpushd $TMP_UDIR/build-gcc
+            $TMP_UDIR/gcc-*/configure  \
+                --prefix=$_MINGW_UDIR --target=mingw32 \
+                --with-headers=$_MINGW_UDIR/mingw32/include \
+                --enable-languages=c,c++ \
+                --with-gcc --with-gnu-ld --with-gnu-as \
+                --disable-sjlj-exceptions --enable-shared \
+                --with-dwarf2 --disable-win32-registry \
+                --enable-libstdcxx-debug --enable-version-specific-runtime-libs \
+                --enable-threads
+            make
+            make install
+        qpopd
+        if quiet $_MINGW_UDIR/bin/mingw32-gcc -v
+        then 
+            rm -rf $TMP_UDIR/build-gcc $TMP_UDIR/gcc-* $TMP_UDIR/mydir
+            echo "Cross gcc installed successfully."
+        else
+            die "Cross install failure"
+        fi
+    fi 
+}
+
+function inst_libxslt_gnome() {
+    setup libxslt-gnome
+    _GNOME_UDIR=`unix_path $GNOME_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
+    if [ "$CROSS_COMPILE" != "yes" ]; then
+        add_to_env $_GNOME_UDIR//pkg-config-msys.shPKG_CONFIG
+    else
+        add_to_env pkg-config PKG_CONFIG
+    fi
+    if quiet gconftool-2 --version &&
+        quiet ${PKG_CONFIG} --exists libxslt &&
+        [ -f $_GNOME_UDIR/lib/pkgconfig/libxslt.pc ] &&
+        quiet intltoolize --version
+    then
+        echo "libxslt-gnome installed.  skipping."
+    else
+         # create dummy xml2-config
+         cat > $_GNOME_UDIR/bin/xml2-config << EOF
+#!/bin/bash
+if [ "\$1" = "--version" ]; then
+    pkg-config  --modversion libxml-2.0
+else
+    pkg-config \$1 libxml-2.0
+fi
+EOF
+         chmod a+x $_GNOME_UDIR/bin/xml2-config
+
+         wget_unpacked $LIBXSLT_SRC_URL $DOWNLOAD_DIR $TMP_DIR
+         assert_one_dir $TMP_UDIR/libxslt-*
+         qpushd $TMP_UDIR/libxslt-*
+             ./configure ${HOST_XCOMPILE} \
+                 --prefix=${_GNOME_UDIR} \
+                 CPPFLAGS="$GNOME_CPPFLAGS $GNUTLS_CPPFLAGS" \
+                 LDFLAGS="$GNOME_LDFLAGS $GNUTLS_LDFLAGS"
+            make
+            make install
+         qpopd
+    fi
+}
+
+function check_gnome() {
+    setup "Checking GNOME "
+    _GNOME_UDIR=`unix_path $GNOME_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
+    if [ "$CROSS_COMPILE" != "yes" ]; then
+        add_to_env $_GNOME_UDIR/bin/pkg-config-msys.sh PKG_CONFIG
+    else
+        add_to_env pkg-config PKG_CONFIG
+    fi
+    if quiet gconftool-2 --version &&
+        quiet ${PKG_CONFIG} --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgtkhtml-3.14 pixman-1 &&
+        [ -f $_GNOME_UDIR/lib/pkgconfig/pixman-1.pc ] &&
+        quiet intltoolize --version
+    then
+        echo "gnome packages installed."
+    else
+        die "gnome packages are not installed. Please install by install.sh" 
+    fi
+}
+
+function check_gnutls() {
+    setup "Checking GNUTLS"
+    _GNUTLS_UDIR=`unix_path ${GNUTLS_DIR}`
+    add_to_env ${_GNUTLS_UDIR}/lib/pkgconfig PKG_CONFIG_PATH
+    add_to_env "-I${_GNUTLS_UDIR}/include" GNUTLS_CPPFLAGS
+    add_to_env "-L${_GNUTLS_UDIR}/lib" GNUTLS_LDFLAGS
+    if quiet ${PKG_CONFIG} --exists gnutls &&
+       [ -f $_GNUTLS_UDIR/lib/pkgconfig/gnutls.pc ] &&
+       quiet intltoolize --version
+    then
+        echo "GNUTLS already installed."
+    else
+        die "GNUTLS packages are not installed. Please install by install.sh" 
+    fi
+}
+
+function inst_enchant () {
+    setup enchant
+    _GNOME_UDIR=`unix_path $GNOME_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
+    if [ "$CROSS_COMPILE" != "yes" ]; then
+        add_to_env $_GNOME_UDIR/bin/pkg-config-msys.sh PKG_CONFIG
+    else
+        add_to_env pkg-config PKG_CONFIG
+    fi
+    if quiet gconftool-2 --version &&
+        quiet ${PKG_CONFIG} --exists enchant &&
+        [ -f $_GNOME_UDIR/lib/pkgconfig/enchant.pc ] &&
+        quiet intltoolize --version
+    then
+        echo "enchant installed.  skipping."
+    else
+        wget_unpacked $ENCHANT_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $ENCHANT_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        fix_pkgconfigprefix $_GNOME_UDIR $_GNOME_UDIR/lib/pkgconfig/enchant.pc
+    fi
+}
+
+
+function inst_libsoup () {
+    setup libsoup
+    _GNOME_UDIR=`unix_path $GNOME_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
+    if [ "$CROSS_COMPILE" != "yes" ]; then
+        add_to_env $_GNOME_UDIR/bin/pkg-config-msys.sh PKG_CONFIG
+    else
+        add_to_env pkg-config PKG_CONFIG
+    fi
+    if quiet gconftool-2 --version &&
+        quiet ${PKG_CONFIG} --exists libsoup-2.4 &&
+        [ -f $_GNOME_UDIR/lib/pkgconfig/libsoup-2.4.pc ] &&
+        quiet intltoolize --version
+    then
+        echo "libsoup installed.  skipping."
+    else
+#        wget_unpacked $LIBSOUP_URL $DOWNLOAD_DIR $GNOME_DIR
+#        wget_unpacked $LIBSOUP_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+#        libsoup binaries are too old so it is necessary to build new ones.
+         wget_unpacked $LIBSOUP_SRC_URL $DOWNLOAD_DIR $TMP_DIR
+         assert_one_dir $TMP_UDIR/libsoup-*
+         qpushd $TMP_UDIR/libsoup-*
+             ./configure ${HOST_XCOMPILE} \
+                 --prefix=${_GNOME_UDIR} \
+                 --with-libxml-prefix=${_GNOME_UDIR} \
+                 CPPFLAGS="$GNOME_CPPFLAGS $GNUTLS_CPPFLAGS" \
+                 LDFLAGS="$GNOME_LDFLAGS $GNUTLS_LDFLAGS"
+            make
+            make install 
+         qpopd
+    fi
+}
+
+function inst_webkit() {
+    setup WebKitGTK+
+    _MINGW_UDIR=`unix_path $MINGW_DIR`
+    _GNOME_UDIR=`unix_path $GNOME_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
+    _GNUTLS_UDIR=`unix_path $GNUTLS_DIR`
+    add_to_env -I$_GNUTLS_UDIR/include GNOME_CPPFLAGS
+    add_to_env -L$_GNUTLS_UDIR/lib GNOME_LDFLAGS
+    add_to_env $_GNUTLS_UDIR/lib/pkgconfig PKG_CONFIG_PATH
+    _SQLITE3_UDIR=`unix_path $SQLITE3_DIR`
+    add_to_env -I$_SQLITE3_UDIR/include GNOME_CPPFLAGS
+    add_to_env -L$_SQLITE3_UDIR/lib GNOME_LDFLAGS
+    add_to_env $_SQLITE3_UDIR/lib/pkgconfig PKG_CONFIG_PATH
+    _ICU4C_UDIR=`unix_path $ICU4C_DIR`
+    add_to_env -I$_ICU4C_UDIR/include GNOME_CPPFLAGS
+    add_to_env -L$_ICU4C_UDIR/lib GNOME_LDFLAGS
+
+    if [ "$CROSS_COMPILE" != "yes" ]; then
+        add_to_env $_GNOME_UDIR/bin/pkg-config-msys.sh PKG_CONFIG
+    else
+        add_to_env pkg-config PKG_CONFIG
+    fi
+    if quiet gconftool-2 --version &&
+        quiet ${PKG_CONFIG} --exists webkit-1.0 &&
+        [ -f $_GNOME_UDIR/lib/pkgconfig/webkit-1.0.pc ] &&
+        quiet intltoolize --version
+    then
+        echo "WebKitGTK+ installed.  skipping."
+    else
+        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!" \
+                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" \
+               CFLAGS="-g -O2 -std=gnu99" \
+               CXXFLAGS="-g -O2 -std=gnu++98" \
+               LDFLAGS="$GNOME_LDFLAGS"
+            make
+            make install
+        qpopd
+        rm -rf $TMP_UDIR/webkit-*
+    fi
+}
+
+function inst_sqlite3() {
+    setup sqlite3
+    _SQLITE3_UDIR=`unix_path ${SQLITE3_DIR}`
+    if [ -f ${_SQLITE3_UDIR}/bin/libsqlite3-0.dll ] 
+    then
+        echo "SQLite3 already installed.  Skipping."
+    else
+        wget_unpacked $SQLITE3_URL $DOWNLOAD_DIR $TMP_DIR
+        assert_one_dir $TMP_UDIR/sqlite-*
+        qpushd $TMP_UDIR/sqlite-*
+            ./configure ${HOST_XCOMPILE} \
+                --prefix=${_SQLITE3_UDIR}
+            make
+            make install
+        qpopd
+        test -f ${_SQLITE3_UDIR}/bin/libsqlite3-0.dll || die "SQLite3 not installed correctly"
+        rm -rf ${TMP_UDIR}/sqlite-*
+    fi
+}
+
+function inst_icu4c() {
+    setup icu4c
+    _ICU4C_UDIR=`unix_path $ICU4C_DIR`
+    if [ -f "$_ICU4C_UDIR/bin/uconv.exe" ]
+    then
+        echo "icu4c already installed.  Skipping."
+    else
+        wget_unpacked $ICU4C_SRC_URL $DOWNLOAD_DIR $TMP_DIR
+        qpushd $TMP_UDIR/icu
+            patch -p1 < $ICU4C_PATCH
+        qpopd
+        build_icu4c_native
+        inst_icu4c_mingw32
+        # cleanup
+        rm -rf $TMP_UDIR/icu*
+    fi
+}
+
+function build_icu4c_native() {
+    setup icu4c-native
+    mkdir -p $TMP_UDIR/icu-native
+    if [ -e "$TMP_UDIR/icu-native/bin/uconv.exe" ] 
+    then
+        echo "native icu4c already compiled. Skipping."
+    else
+        qpushd $TMP_UDIR/icu-native
+            if uname -o |grep Linux > /dev/null 2>&1 
+            then
+                $TMP_UDIR/icu/source/runConfigureICU Linux
+            elif uname -o |grep Cygwin > /dev/null 2>&1
+            then
+                $TMP_UDIR/icu/source/runConfigureICU Cygwin
+            else
+                die "Failed to execute runConfigICU. Please edit this script"
+            fi
+            make
+            make check
+            for i in $TMP_UDIR/icu-native/bin/* ; do
+                [ ! -f $i.exe ] && ln -s $i $i.exe
+            done
+        qpopd
+        echo "icu4c native compiled successfully"
+    fi
+}
+
+function inst_icu4c_mingw32() {
+    setup icu4c-mingw32
+    _ICU4C_UDIR=`unix_path $ICU4C_DIR`
+    mkdir -p $TMP_UDIR/icu-cross
+    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
+        make  \
+            CFLAGS="-g -O2 -std=gnu99" \
+            CXXFLAGS="-g -O2 -std=gnu++98"
+        make install
+    qpopd
+    if [ -f "$_ICU4C_UDIR/bin/uconv.exe" ]
+    then
+        echo "icu4c installed successfully."
+    else
+        die "icu4c installation falure"
+    fi
+}
+
+reset_steps
+add_step prepare
+add_step inst_crossmingw
+add_step prepare
+add_step check_gnome
+add_step check_gnutls
+add_step inst_libxslt_gnome
+add_step inst_enchant
+add_step inst_libsoup
+add_step inst_sqlite3
+add_step inst_icu4c
+add_step inst_webkit
+
+eval_now
+
+for step in "${steps[@]}" ; do
+    eval $step
+done
+qpopd
+
+echo -n "Build Finished at "
+date
+


Property changes on: gnucash/trunk/packaging/win32/crossbuild_webkit.sh
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:eol-style
   + native

Modified: gnucash/trunk/packaging/win32/defaults.sh
===================================================================
--- gnucash/trunk/packaging/win32/defaults.sh	2010-05-04 09:24:17 UTC (rev 19097)
+++ gnucash/trunk/packaging/win32/defaults.sh	2010-05-04 09:45:50 UTC (rev 19098)
@@ -116,6 +116,11 @@
 set_default MINGW_MAKE_URL "$SF_MIRROR/mingw/mingw32-make-3.81-20080326-3.tar.gz"
 set_default MINGW_DIR $GLOBAL_DIR\\mingw
 
+set_default CROSS_GCC_SRC_URL "$SF_MIRROR/mingw/gcc-4.4.0-src.tar.bz2"
+set_default CROSS_GCC_SRC2_URL "$SF_MIRROR/mingw/gcc-4.4.0-mingw32-src-2.tar.gz"
+#set_default CROSS_GCC_SRC_URL "$SF_MIRROR/mingw/gcc-4.5.0-1-mingw32-src.tar.lzma"
+set_default CROSS_BINUTILS_SRC_URL "$SF_MIRROR/mingw/binutils-2.20.1-src.tar.gz"
+
 set_default UNZIP_URL "$SF_MIRROR/gnuwin32/unzip-5.51-1.exe"
 set_default UNZIP_DIR $TOOLS_DIR
 
@@ -139,6 +144,8 @@
 set_default GMP_URL "ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.1.tar.bz2"
 set_default GMP_ABI 32
 set_default GMP_DIR $GLOBAL_DIR\\gmp
+set_default GMP5_BIN_URL "$SF_MIRROR/mingw/libgmp-5.0.1-1-mingw32-dll-10.tar.lzma"
+set_default GMP5_DEV_URL "$SF_MIRROR/mingw/gmp-5.0.1-1-mingw32-dev.tar.lzma"
 
 set_default GUILE_URL "http://ftp.gnu.org/pub/gnu/guile/guile-1.6.8.tar.gz"
 set_default SLIB_URL "http://swiss.csail.mit.edu/ftpdir/scm/OLD/slib3a3.zip"
@@ -158,6 +165,7 @@
 
 set_default LIBXSLT_URL "http://xmlsoft.org/sources/win32/libxslt-1.1.26.win32.zip"
 set_default LIBXSLT_LIBXML2_URL "http://xmlsoft.org/sources/win32/libxml2-2.7.6.win32.zip"
+set_default LIBXSLT_SRC_URL "http://xmlsoft.org/sources/libxslt-1.1.26.tar.gz"
 set_default LIBXSLT_DIR $GLOBAL_DIR\\libxslt
 
 set_default LIBXML2_URL "$GNOME_WIN32_DEPS_URL/libxml2_2.7.4-1_win32.zip"
@@ -252,6 +260,18 @@
 
 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 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"
+#set_default LIBSOUP_DEV_URL "$GNOME_WIN32_URL/libsoup/2.4/libsoup-dev-2.4.0.zip"
+set_default LIBSOUP_SRC_URL "$GNOME_MIRROR/sources/libsoup/2.30/libsoup-2.30.1.tar.bz2"
+set_default ICU4C_URL "http://download.icu-project.org/files/icu4c/4.4.1/icu4c-4_4_1-Win32-msvc9.zip"
+set_default ICU4C_SRC_URL "http://download.icu-project.org/files/icu4c/4.4.1/icu4c-4_4_1-src.tgz"
+set_default ICU4C_DIR $GLOBAL_DIR\\icu-mingw32
+set_default ICU4C_PATCH `pwd`/icu-crossmingw.patch
 
 set_default SVN_URL "http://subversion.tigris.org/files/documents/15/35379/svn-1.4.2-setup.exe"
 set_default SVN_DIR $GLOBAL_DIR\\svn
@@ -289,6 +309,7 @@
 set_default AQBANKING_WITH_QT yes
 # If set to yes, download Qt from http://www.trolltech.com/developer/downloads/qt/windows,
 # install it and set QTDIR in custom.sh, like "QTDIR=/c/Qt/4.2.3".
+set_default QT_WIN_SRC_URL "ftp://ftp.qt.nokia.com/qt/source/qt-all-opensource-src-4.5.3.zip"
 
 set_default SQLITE3_URL "http://sqlite.org/sqlite-amalgamation-3.6.1.tar.gz"
 set_default SQLITE3_DIR $GLOBAL_DIR\\sqlite3

Modified: gnucash/trunk/packaging/win32/functions.sh
===================================================================
--- gnucash/trunk/packaging/win32/functions.sh	2010-05-04 09:24:17 UTC (rev 19097)
+++ gnucash/trunk/packaging/win32/functions.sh	2010-05-04 09:45:50 UTC (rev 19098)
@@ -81,7 +81,7 @@
             unzip -q -o $LAST_FILE -d $_EXTRACT_UDIR
             _PACK_DIR=$(zipinfo -1 $LAST_FILE '*/*' 2>/dev/null | head -1)
             ;;
-        *.tar.gz)
+        *.tar.gz|*.tgz)
             tar -xzpf $LAST_FILE -C $_EXTRACT_UDIR
             _PACK_DIR=$(tar -ztf $LAST_FILE 2>/dev/null | head -1)
             ;;
@@ -89,6 +89,10 @@
             tar -xjpf $LAST_FILE -C $_EXTRACT_UDIR
             _PACK_DIR=$(tar -jtf $LAST_FILE 2>/dev/null | head -1)
             ;;
+        *.tar.lzma)
+            lzma -dc $LAST_FILE |tar xpf - -C $_EXTRACT_UDIR
+            _PACK_DIR=$(lzma -dc $LAST_FILE |tar -tf - 2>/dev/null | head -1)
+            ;;
         *)
             die "Cannot unpack file $LAST_FILE!"
             ;;
@@ -180,6 +184,17 @@
     quiet [ -d "$@" ] || die "Detected multiple directories where only one was expected; please delete all but the latest one: $@"
 }
 
+function fix_pkgconfigprefix() {
+        _PREFIX=$1
+        shift
+        perl -pi.bak -e"s!^prefix=.*\$!prefix=$_PREFIX!" $@
+   qpopd
+}
+
+function dos2unix() {
+       perl -pi.bak -e"s!\\r\\n\$!\\n!" $@
+}
+
 ### Local Variables: ***
 ### mode: shell-script ***
 ### sh-basic-offset: 4 ***

Added: gnucash/trunk/packaging/win32/icu-crossmingw.patch
===================================================================
--- gnucash/trunk/packaging/win32/icu-crossmingw.patch	                        (rev 0)
+++ gnucash/trunk/packaging/win32/icu-crossmingw.patch	2010-05-04 09:45:50 UTC (rev 19098)
@@ -0,0 +1,13 @@
+--- icu.orig/source/config/mh-mingw	2010-04-29 00:27:52.000000000 +0900
++++ icu/source/config/mh-mingw	2010-05-02 16:18:18.821561705 +0900
+@@ -71,8 +71,8 @@
+ 
+ # The #M# is used to delete lines for icu-config
+ # Current full path directory.
+-#CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS
+-CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
++CURR_FULL_DIR=$(shell pwd)#M# for MSYS
++#CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
+ # Current full path directory for use in source code in a -D compiler option.
+ #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS
+ CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell



More information about the gnucash-changes mailing list