r16124 - gnucash/trunk/packaging/win32 - Fix cross platform installation of libxml2, gnome and exetype.

Andreas Köhler andi5 at cvs.gnucash.org
Wed May 23 13:21:32 EDT 2007


Author: andi5
Date: 2007-05-23 13:21:28 -0400 (Wed, 23 May 2007)
New Revision: 16124
Trac: http://svn.gnucash.org/trac/changeset/16124

Modified:
   gnucash/trunk/packaging/win32/defaults.sh
   gnucash/trunk/packaging/win32/install.sh
Log:
Fix cross platform installation of libxml2, gnome and exetype.

A native rebuild of packages should not be necessary.  Just remove
libxml2-2.6.27.win32.zip from your downloads directory.


Modified: gnucash/trunk/packaging/win32/defaults.sh
===================================================================
--- gnucash/trunk/packaging/win32/defaults.sh	2007-05-23 17:21:20 UTC (rev 16123)
+++ gnucash/trunk/packaging/win32/defaults.sh	2007-05-23 17:21:28 UTC (rev 16124)
@@ -145,10 +145,11 @@
 set_default EXETYPE_SCRIPT `pwd`/exetype.pl
 set_default EXETYPE_DIR $TOOLS_DIR
 
-set_default LIBXML2_URL "http://www.zlatkovic.com/pub/libxml/libxml2-2.6.27.win32.zip"
 set_default LIBXSLT_URL "http://www.zlatkovic.com/pub/libxml/libxslt-1.1.19.win32.zip"
-set_default LIBXML2_DIR $GLOBAL_DIR\\gnome #avoid XML_FLAGS
+set_default LIBXSLT_DIR $GLOBAL_DIR\\libxslt
 
+set_default LIBXML2_URL "$GNOME_WIN32_DEPS_URL/libxml2-2.6.27.zip"
+set_default LIBXML2_DEV_URL "$GNOME_WIN32_DEPS_URL/libxml2-dev-2.6.27.zip"
 set_default GETTEXT_URL "$GNOME_WIN32_DEPS_URL/gettext-0.14.5.zip"
 set_default GETTEXT_DEV_URL "$GNOME_WIN32_DEPS_URL/gettext-dev-0.14.5.zip"
 set_default LIBICONV_URL "$GNOME_WIN32_DEPS_URL/libiconv-1.9.1.bin.woe32.zip"
@@ -276,11 +277,11 @@
 add_step inst_guile
 if [ "$CROSS_COMPILE" != "yes" ]; then
  add_step inst_svn
+ add_step inst_mingwutils
  add_step inst_openssl
 fi
-add_step inst_mingwutils
 add_step inst_exetype
-add_step inst_libxml2
+add_step inst_libxslt
 add_step inst_gnome
 add_step inst_swig
 add_step inst_pcre

Modified: gnucash/trunk/packaging/win32/install.sh
===================================================================
--- gnucash/trunk/packaging/win32/install.sh	2007-05-23 17:21:20 UTC (rev 16123)
+++ gnucash/trunk/packaging/win32/install.sh	2007-05-23 17:21:28 UTC (rev 16124)
@@ -30,6 +30,7 @@
 register_env_var PCRE_LDFLAGS " "
 register_env_var PKG_CONFIG ":" ""
 register_env_var PKG_CONFIG_PATH ":"
+register_env_var PKG_CONFIG_LIBDIR ":"
 register_env_var READLINE_CPPFLAGS " "
 register_env_var READLINE_LDFLAGS " "
 register_env_var REGEX_CPPFLAGS " "
@@ -73,7 +74,9 @@
     fi
 
     if [ "$CROSS_COMPILE" ]; then
-        PKG_CONFIG_PATH="" # to avoid using the host's installed packages
+        # to avoid using the host's installed packages
+        PKG_CONFIG_PATH=""
+        PKG_CONFIG_LIBDIR=""
     fi
 }
 
@@ -421,46 +424,26 @@
     else
         mkdir -p $_EXETYPE_UDIR/bin
         cp $EXETYPE_SCRIPT $_EXETYPE_UDIR/bin/exetype
+        chmod +x $_EXETYPE_UDIR/bin/exetype
         quiet which exetype || die "exetype unavailable"
     fi
 }
 
-function inst_libxml2() {
-    setup LibXML2
-    _LIBXML2_UDIR=`unix_path $LIBXML2_DIR`
-    if quiet ${LD} -L$_LIBXML2_UDIR/lib -lxml2 -o $TMP_UDIR/ofile
+function inst_libxslt() {
+    setup LibXSLT
+    _LIBXSLT_UDIR=`unix_path $LIBXSLT_DIR`
+    if quiet which xsltproc
     then
-        echo "libxml2 already installed.  skipping."
+        echo "libxslt already installed.  skipping."
     else
-        wget_unpacked $LIBXSLT_URL $DOWNLOAD_DIR $LIBXML2_DIR
-        wget_unpacked $LIBXML2_URL $DOWNLOAD_DIR $LIBXML2_DIR
-        qpushd $LIBXML2_DIR
+        [ "$CROSS_COMPILE" = "yes" ] && die "xsltproc unavailable"
+        wget_unpacked $LIBXSLT_URL $DOWNLOAD_DIR $LIBXSLT_DIR
+        qpushd $_LIBXSLT_UDIR
             mv libxslt-* mydir
             cp -r mydir/* .
             rm -rf mydir
-            mv libxml2-* mydir
-            cp -r mydir/* .
-            rm -rf mydir
-            pexports bin/libxml2.dll > libxml2.def
-            ${DLLTOOL} --input-def libxml2.def --output-lib lib/libxml2.a
-            rm libxml2.def
-            _LIBXML2_VERSION=`echo $LAST_FILE | sed 's#.*libxml2-\(.*\).win32.zip#\1#'`
-            mkdir -p lib/pkgconfig
-            cat > lib/pkgconfig/libxml-2.0.pc <<EOF
-prefix=/ignore
-exec_prefix=\${prefix}
-libdir=\${exec_prefix}/lib
-includedir=\${prefix}/include
-
-Name: libXML
-Version: $_LIBXML2_VERSION
-Description: libXML library version 2.
-Requires:
-Libs: -L\${libdir} -lxml2 -lz
-Cflags: -I\${includedir}
-EOF
         qpopd
-        quiet ${LD} -L$_LIBXML2_UDIR/lib -lxml2 -o $TMP_UDIR/ofile || die "libxml2 not installed correctly"
+        quiet which xsltproc || die "libxslt not installed correctly"
     fi
 }
 
@@ -471,7 +454,11 @@
     add_to_env -L$_GNOME_UDIR/lib GNOME_LDFLAGS
     add_to_env $_GNOME_UDIR/bin PATH
     add_to_env $_GNOME_UDIR/lib/pkgconfig PKG_CONFIG_PATH
-    add_to_env $_GNOME_UDIR/bin/pkg-config-msys.sh PKG_CONFIG
+    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
     add_to_env "-I $_GNOME_UDIR/share/aclocal" ACLOCAL_FLAGS
     if quiet gconftool-2 --version &&
         ${PKG_CONFIG} --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libgtkhtml-3.8 &&  # gnomeprint
@@ -481,6 +468,8 @@
         echo "gnome packages installed.  skipping."
     else
         mkdir -p $_GNOME_UDIR
+        wget_unpacked $LIBXML2_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBXML2_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $GETTEXT_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $GETTEXT_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $LIBICONV_URL $DOWNLOAD_DIR $GNOME_DIR
@@ -534,7 +523,7 @@
         wget_unpacked $LIBGNOMEPRINTUI_DEV_URL $DOWNLOAD_DIR $GNOME_DIR  # gnomeprint
         wget_unpacked $GTKHTML_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $GTKHTML_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        qpushd $GNOME_DIR
+        qpushd $_GNOME_UDIR
             [ -f bin/zlib1.dll ] || mv zlib1.dll bin
             if [ ! -f lib/libz.dll.a ]; then
                 qpushd bin
@@ -559,6 +548,7 @@
 fi
 \${PKG_CONFIG} "\$@" | tr -d \\\\r && \$res
 EOF
+            chmod +x bin/pkg-config{.exe,-msys.sh}
         qpopd
         quiet gconftool-2 --version &&
         ${PKG_CONFIG} --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libgtkhtml-3.8 &&  # gnomeprint
@@ -567,7 +557,7 @@
     fi
     if [ "$CROSS_COMPILE" = "yes" ]; then
         qpushd $_GNOME_UDIR/lib/pkgconfig
-            perl -pi.bak -e"s!^prefix=.*\$!prefix=$GNOME_DIR!" *.pc
+            perl -pi.bak -e"s!^prefix=.*\$!prefix=$_GNOME_UDIR!" *.pc
             #perl -pi.bak -e's!^Libs: !Libs: -L\${prefix}/bin !' *.pc
         qpopd
         # Latest gnome-dev packages don't ship with *.la files



More information about the gnucash-changes mailing list