From 0bccae068f19eb34a77e258b93c645e6cb1c93d5 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Sat, 23 Apr 2011 20:32:56 +0000 Subject: [PATCH] Win32 build: Add version checks for guile and libxslt. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@20594 57a11ea4-9604-0410-9ed3-97b8803252fd --- packaging/win32/defaults.sh | 5 +++-- packaging/win32/install-impl.sh | 18 +++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/packaging/win32/defaults.sh b/packaging/win32/defaults.sh index 6f79869e14..c78a564229 100644 --- a/packaging/win32/defaults.sh +++ b/packaging/win32/defaults.sh @@ -186,7 +186,8 @@ 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.8.8.tar.gz" +GUILE_VERSION="1.8.8" +set_default GUILE_URL "http://ftp.gnu.org/pub/gnu/guile/guile-${GUILE_VERSION}.tar.gz" set_default GUILE_DIR $GLOBAL_DIR\\guile set_default GUILE_PATCH `pwd`/guile-1.8.8.patch @@ -231,7 +232,7 @@ set_default GAIL_DEV_URL "$GNOME_WIN32_URL/gail/1.22/gail-dev-1.22.0. GCONF_VERSION="2.22.0" set_default GCONF_URL "$GNOME_WIN32_URL/GConf/2.22/GConf_${GCONF_VERSION}-3_win32.zip" set_default GCONF_DEV_URL "$GNOME_WIN32_URL/GConf/2.22/GConf-dev_${GCONF_VERSION}-3_win32.zip" -GDK_PIXBUF_VERSION=2.22.1 +#GDK_PIXBUF_VERSION=2.22.1 set_default GDK_PIXBUF_URL "$GNOME_WIN32_URL/gdk-pixbuf/2.22/gdk-pixbuf_${GCONF_VERSION}-1_win32.zip" set_default GDK_PIXBUF_DEV_URL "$GNOME_WIN32_URL/gdk-pixbuf/2.22/gdk-pixbuf-dev_${GCONF_VERSION}-1_win32.zip" set_default GETTEXT_RUNTIME_URL "$GNOME_WIN32_DEPS_URL/gettext-runtime_0.18.1.1-2_win32.zip" diff --git a/packaging/win32/install-impl.sh b/packaging/win32/install-impl.sh index b5cf1924c6..a6889b64e0 100755 --- a/packaging/win32/install-impl.sh +++ b/packaging/win32/install-impl.sh @@ -610,14 +610,14 @@ EOF wget_unpacked $LIBXML2_SRC_URL $DOWNLOAD_DIR $TMP_DIR assert_one_dir $TMP_UDIR/libxml2-* qpushd $TMP_UDIR/libxml2-* - ./configure \ + ./configure ${HOST_XCOMPILE} \ --prefix=${_GNOME_UDIR} \ --without-threads make make install qpopd - rm -rf ${TMP_UDIR}/libxml2-* + quiet gconftool-2 --version && quiet ${PKG_CONFIG} --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 && quiet intltoolize --version || die "gnome not installed correctly" @@ -686,7 +686,8 @@ function inst_guile() { add_to_env -L$_GUILE_UDIR/lib GUILE_LDFLAGS add_to_env $_GUILE_UDIR/bin PATH add_to_env ${_GUILE_UDIR}/lib/pkgconfig PKG_CONFIG_PATH - if quiet guile -c '(use-modules (srfi srfi-39))' + if quiet guile -c '(use-modules (srfi srfi-39))' && + quiet ${PKG_CONFIG} --atleast-version=${GUILE_VERSION} guile-1.8 then echo "guile and slib already installed in $_GUILE_UDIR. skipping." else @@ -1093,7 +1094,7 @@ function inst_libsoup() { wget_unpacked $LIBSOUP_SRC_URL $DOWNLOAD_DIR $TMP_DIR assert_one_dir $TMP_UDIR/libsoup-* qpushd $TMP_UDIR/libsoup-* - ./configure \ + ./configure ${HOST_XCOMPILE} \ --prefix=${_LIBSOUP_UDIR} \ --disable-gtk-doc \ --without-gnome \ @@ -1115,7 +1116,8 @@ function inst_libxslt() { add_to_env $_LIBXSLT_UDIR/bin PATH add_to_env $_LIBXSLT_UDIR/lib/pkgconfig PKG_CONFIG_PATH add_to_env -L${_LIBXSLT_UDIR}/lib LIBXSLT_LDFLAGS - if quiet which xsltproc + if quiet which xsltproc && + quiet ${PKG_CONFIG} --atleast-version=${LIBXSLT_VERSION} libxslt then echo "libxslt already installed in $_LIBXSLT_UDIR. skipping." else @@ -1127,7 +1129,7 @@ function inst_libxslt() { assert_one_dir $TMP_UDIR/libxslt-* qpushd $TMP_UDIR/libxslt-* patch -p0 -u -i ${LIBXSLT_MAKEFILE_PATCH} - ./configure \ + ./configure ${HOST_XCOMPILE} \ --prefix=${_LIBXSLT_UDIR} \ --with-libxml-prefix=${_GNOME_UDIR} make @@ -1525,10 +1527,12 @@ function make_install() { make install qpushd $_INSTALL_UDIR/bin + [ "$CROSS_COMPILE" = "yes" ] && die "Cross-compile mingw is missing some parts for installation. Install step unavailable in cross-compile." + # Copy libstdc++-6.dll and its dependency to gnucash bin directory # to prevent DLL loading errors # (__gxx_personality_v0 not found in libstdc++-6.dll) - cp $MINGW_DIR/bin/{libstdc++-6.dll,libgcc_s_dw2-1.dll} . + cp $_MINGW_UDIR/bin/{libstdc++-6.dll,libgcc_s_dw2-1.dll} . qpopd qpushd $_INSTALL_UDIR/lib