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