r18120 - gnucash/trunk/packaging/win32 - Build mysql libdbi driver and include it in the win32 build

Phil Longstaff plongstaff at code.gnucash.org
Tue Jun 9 19:41:39 EDT 2009


Author: plongstaff
Date: 2009-06-09 19:41:39 -0400 (Tue, 09 Jun 2009)
New Revision: 18120
Trac: http://svn.gnucash.org/trac/changeset/18120

Modified:
   gnucash/trunk/packaging/win32/defaults.sh
   gnucash/trunk/packaging/win32/dist.sh
   gnucash/trunk/packaging/win32/install.sh
Log:
Build mysql libdbi driver and include it in the win32 build


Modified: gnucash/trunk/packaging/win32/defaults.sh
===================================================================
--- gnucash/trunk/packaging/win32/defaults.sh	2009-06-09 23:02:36 UTC (rev 18119)
+++ gnucash/trunk/packaging/win32/defaults.sh	2009-06-09 23:41:39 UTC (rev 18120)
@@ -282,6 +282,8 @@
 
 set_default SQLITE3_URL "http://sqlite.org/sqlite-amalgamation-3.6.1.tar.gz"
 set_default SQLITE3_DIR $GLOBAL_DIR\\sqlite3
+set_default MYSQL_LIB_URL "http://mirror.csclub.uwaterloo.ca/mysql/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.1-win32.zip"
+set_default MYSQL_LIB_DIR $GLOBAL_DIR\\mysql
 set_default LIBDBI_URL "http://downloads.sourceforge.net/libdbi/libdbi-0.8.3.tar.gz"
 set_default LIBDBI_DIR $GLOBAL_DIR\\libdbi
 set_default LIBDBI_PATCH `pwd`/libdbi-0.8.3.patch
@@ -289,6 +291,7 @@
 set_default LIBDBI_DRIVERS_DIR $GLOBAL_DIR\\libdbi-drivers
 set_default LIBDBI_DRIVERS_PATCH `pwd`/libdbi-drivers-dbd_sqlite3.c.patch
 set_default LIBDBI_DRIVERS_PATCH2 `pwd`/libdbi-drivers-Makefile.in.patch
+set_default LIBDBI_DRIVERS_PATCH3 `pwd`/libdbi-drivers-dbd_mysql.c.patch
 
 set_default DOCBOOK_XSL_URL "$SF_MIRROR/docbook/docbook-xsl-1.72.0.zip"
 set_default UPDATE_DOCS yes

Modified: gnucash/trunk/packaging/win32/dist.sh
===================================================================
--- gnucash/trunk/packaging/win32/dist.sh	2009-06-09 23:02:36 UTC (rev 18119)
+++ gnucash/trunk/packaging/win32/dist.sh	2009-06-09 23:41:39 UTC (rev 18120)
@@ -37,6 +37,7 @@
     _GWENHYWFAR_UDIR=`unix_path $GWENHYWFAR_DIR`
     _AQBANKING_UDIR=`unix_path $AQBANKING_DIR`
     _SQLITE3_UDIR=`unix_path ${SQLITE3_DIR}`
+    _MYSQL_LIB_UDIR=`unix_path ${MYSQL_LIB_DIR}`
     _LIBDBI_UDIR=`unix_path ${LIBDBI_DIR}`
     _LIBDBI_DRIVERS_UDIR=`unix_path ${LIBDBI_DRIVERS_DIR}`
     _LIBGDA_UDIR=`unix_path $LIBGDA_DIR`
@@ -194,6 +195,8 @@
     setup LibDBI
     cp -a ${_SQLITE3_UDIR}/bin/* ${DIST_UDIR}/bin
     cp -a ${_SQLITE3_UDIR}/lib/* ${DIST_UDIR}/lib
+	cp -a ${_MYSQL_LIB_UDIR}/bin/* ${DIST_UDIR}/bin
+	cp -a ${_MYSQL_LIB_UDIR}/lib/* ${DIST_UDIR}/lib
     cp -a ${_LIBDBI_UDIR}/bin/* ${DIST_UDIR}/bin
     cp -a ${_LIBDBI_UDIR}/lib/* ${DIST_UDIR}/lib
     mkdir ${DIST_UDIR}/lib/dbd

Modified: gnucash/trunk/packaging/win32/install.sh
===================================================================
--- gnucash/trunk/packaging/win32/install.sh	2009-06-09 23:02:36 UTC (rev 18119)
+++ gnucash/trunk/packaging/win32/install.sh	2009-06-09 23:41:39 UTC (rev 18120)
@@ -1026,6 +1026,7 @@
 function inst_libdbi() {
     setup LibDBI
     _SQLITE3_UDIR=`unix_path ${SQLITE3_DIR}`
+    _MYSQL_LIB_UDIR=`unix_path ${MYSQL_LIB_DIR}`
     _LIBDBI_UDIR=`unix_path ${LIBDBI_DIR}`
     _LIBDBI_DRIVERS_UDIR=`unix_path ${LIBDBI_DRIVERS_DIR}`
     add_to_env -I$_LIBDBI_UDIR/include LIBDBI_CPPFLAGS
@@ -1044,6 +1045,17 @@
         qpopd
         test -f ${_SQLITE3_UDIR}/bin/libsqlite3-0.dll || die "SQLite3 not installed correctly"
     fi
+    if test -f ${_MYSQL_LIB_UDIR}/lib/libmysql.dll
+    then
+        echo "MySQL library already installed.  skipping."
+    else
+        wget_unpacked $MYSQL_LIB_URL $DOWNLOAD_DIR $TMP_DIR
+        mkdir -p $_MYSQL_LIB_UDIR
+        assert_one_dir $TMP_UDIR/mysql*
+        cp -r $TMP_UDIR/mysql*/* $_MYSQL_LIB_UDIR
+        mv $TMP_UDIR/mysql*/include $_MYSQL_LIB_UDIR/include/mysql
+        test -f ${_MYSQL_LIB_UDIR}/lib/libmysql.dll || die "mysql not installed correctly"
+    fi
     if test -f ${_LIBDBI_UDIR}/bin/libdbi-0.dll
     then
         echo "libdbi already installed.  skipping."
@@ -1063,7 +1075,8 @@
         qpopd
         test -f ${_LIBDBI_UDIR}/bin/libdbi-0.dll || die "libdbi not installed correctly"
     fi
-    if test -f ${_LIBDBI_DRIVERS_UDIR}/lib/dbd/libdbdsqlite3.dll
+    if test -f ${_LIBDBI_DRIVERS_UDIR}/lib/dbd/libdbdsqlite3.dll &&
+       test -f ${_LIBDBI_DRIVERS_UDIR}/lib/dbd/libdbdmysql.dll
     then
         echo "libdbi drivers already installed.  skipping."
     else
@@ -1074,12 +1087,16 @@
                 patch -p0 < $LIBDBI_DRIVERS_PATCH
             [ -n "$LIBDBI_DRIVERS_PATCH2" -a -f "$LIBDBI_DRIVERS_PATCH2" ] && \
                 patch -p0 < $LIBDBI_DRIVERS_PATCH2
+            [ -n "$LIBDBI_DRIVERS_PATCH3" -a -f "$LIBDBI_DRIVERS_PATCH3" ] && \
+                patch -p0 < $LIBDBI_DRIVERS_PATCH3
             ./configure ${HOST_XCOMPILE} \
                 --disable-docs \
                 --with-dbi-incdir=${_LIBDBI_UDIR}/include \
                 --with-dbi-libdir=${_LIBDBI_UDIR}/lib \
                 --with-sqlite3 \
                 --with-sqlite3-dir=${_SQLITE3_UDIR} \
+                --with-mysql \
+                --with-mysql-dir=${_MYSQL_LIB_UDIR} \
                 --prefix=${_LIBDBI_DRIVERS_UDIR}
             make
             make install



More information about the gnucash-changes mailing list