r21768 - gnucash/branches/2.4/packaging/win32 - More changes to compile gtk-2.24.

John Ralls jralls at code.gnucash.org
Tue Dec 20 21:28:49 EST 2011


Author: jralls
Date: 2011-12-20 21:28:48 -0500 (Tue, 20 Dec 2011)
New Revision: 21768
Trac: http://svn.gnucash.org/trac/changeset/21768

Modified:
   gnucash/branches/2.4/packaging/win32/defaults.sh
   gnucash/branches/2.4/packaging/win32/install-impl.sh
Log:
More changes to compile gtk-2.24.


Cross your fingers!

Modified: gnucash/branches/2.4/packaging/win32/defaults.sh
===================================================================
--- gnucash/branches/2.4/packaging/win32/defaults.sh	2011-12-20 21:12:22 UTC (rev 21767)
+++ gnucash/branches/2.4/packaging/win32/defaults.sh	2011-12-21 02:28:48 UTC (rev 21768)
@@ -78,11 +78,24 @@
 set_default DTK_URL "$SF_MIRROR/mingw/msysDTK-1.0.1.exe"
 set_default M4_URL "$SF_MIRROR/mingw/m4-1.4.7-MSYS.tar.bz2"
 
-set_default MINGW_RT_URL "$SF_MIRROR/mingw/mingwrt-3.15.1-mingw32.tar.gz"
-set_default W32API_URL "$SF_MIRROR/mingw/w32api-3.13-mingw32-dev.tar.gz"
+set_default MINGW_RT_URL "$SF_MIRROR/mingw/mingwrt-3.18-mingw32-dev.tar.gz"
+set_default MINGW_RT_DLL_URL "$SF_MIRROR/mingw/mingwrt-3.18-mingw32-dll.tar.gz"
+set_default W32API_URL "$SF_MIRROR/mingw/w32api-3.15-1-mingw32-dev.tar.lzma"
 set_default MINGW_MAKE_URL "$SF_MIRROR/mingw/mingw32-make-3.81-20080326-3.tar.gz"
 set_default MINGW_DIR $GLOBAL_DIR\\mingw
 
+# The URLs for precompiled gcc/mingw binaries
+set_default BINUTILS_URL "$SF_MIRROR/mingw/binutils-2.21-2-mingw32-bin.tar.lzma"
+set_default GCC_CORE_URL "$SF_MIRROR/mingw/gcc-core-4.5.2-1-mingw32-bin.tar.lzma"
+set_default GCC_CORE_DLL_URL "$SF_MIRROR/mingw/libgcc-4.5.2-1-mingw32-dll-1.tar.lzma"
+set_default GCC_GPP_URL "$SF_MIRROR/mingw/gcc-c++-4.5.2-1-mingw32-bin.tar.lzma"
+set_default GCC_GPP_DLL_URL "$SF_MIRROR/mingw/libstdc++-4.5.2-1-mingw32-dll-6.tar.lzma"
+set_default GCC_GPP_PATCH "`pwd`/gcc-c++-4.4.0.patch"
+set_default GCC_MPC_URL "$SF_MIRROR/mingw/libmpc-0.8.1-1-mingw32-dll-2.tar.lzma"
+set_default GCC_MPFR_URL "$SF_MIRROR/mingw/libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma"
+set_default GCC_GMP_URL "$SF_MIRROR/mingw/libgmp-5.0.1-1-mingw32-dll-10.tar.lzma"
+set_default GCC_PTHREADS_URL "$SF_MIRROR/mingw/libpthread-2.8.0-3-mingw32-dll-2.tar.lzma"
+
 if [ "$CROSS_COMPILE" != yes ]; then
     # Use native toolchain
     set_default LD ld
@@ -90,10 +103,9 @@
     set_default DLLTOOL dlltool
     set_default RANLIB ranlib
 
-    # For native build on Windows we can use precompiled binaries
-    set_default BINUTILS_URL "$SF_MIRROR/mingw/binutils-2.19-mingw32-bin.tar.gz"
-    set_default GCC_CORE_URL "$SF_MIRROR/mingw/gcc-core-3.4.5-20060117-3.tar.gz"
-    set_default GCC_GPP_URL "$SF_MIRROR/mingw/gcc-g++-3.4.5-20060117-3.tar.gz"
+    # For native build on Windows we can use the precompiled binaries
+    # defined above
+
 else
     # What flavor of GCC cross-compiler are we building?
     set_default TARGET "mingw32"

Modified: gnucash/branches/2.4/packaging/win32/install-impl.sh
===================================================================
--- gnucash/branches/2.4/packaging/win32/install-impl.sh	2011-12-20 21:12:22 UTC (rev 21767)
+++ gnucash/branches/2.4/packaging/win32/install-impl.sh	2011-12-21 02:28:48 UTC (rev 21768)
@@ -122,12 +122,21 @@
         echo "mingw already installed in $_MINGW_UDIR.  skipping."
     else
         mkdir -p $_MINGW_UDIR
+        # Download the precompiled packages in any case to get their DLLs
+        wget_unpacked $BINUTILS_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $GCC_CORE_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $GCC_CORE_DLL_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $GCC_GPP_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $GCC_GPP_DLL_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $GCC_GMP_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $GCC_MPC_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $GCC_MPFR_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $GCC_PTHREADS_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $MINGW_RT_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $MINGW_RT_DLL_URL $DOWNLOAD_DIR $MINGW_DIR
+        wget_unpacked $W32API_URL $DOWNLOAD_DIR $MINGW_DIR
+
         if [ "$CROSS_COMPILE" != "yes" ]; then
-            wget_unpacked $BINUTILS_URL $DOWNLOAD_DIR $MINGW_DIR
-            wget_unpacked $GCC_CORE_URL $DOWNLOAD_DIR $MINGW_DIR
-            wget_unpacked $GCC_GPP_URL $DOWNLOAD_DIR $MINGW_DIR
-            wget_unpacked $MINGW_RT_URL $DOWNLOAD_DIR $MINGW_DIR
-            wget_unpacked $W32API_URL $DOWNLOAD_DIR $MINGW_DIR
             wget_unpacked $MINGW_MAKE_URL $DOWNLOAD_DIR $MINGW_DIR
             (echo "y"; echo "y"; echo "$_MINGW_WFSDIR"; echo "y") | sh pi.sh
         else
@@ -135,6 +144,11 @@
         fi
         quiet test_for_mingw || die "mingw not installed correctly"
     fi
+
+    if [ "$CROSS_COMPILE" != "yes" ]; then
+        # Some preparation steps, only for native (non-cross-compile)
+        cp ${_MINGW_UDIR}/bin/libpthread-2.dll ${_MINGW_UDIR}/bin/pthreadGC2.dll
+    fi
 }
 
 function inst_unzip() {
@@ -518,7 +532,7 @@
     fi
 }
 
-function inst_gnome() {
+ inst_gnome() {
     setup Gnome platform
     _GNOME_UDIR=`unix_path $GNOME_DIR`
     add_to_env -I$_GNOME_UDIR/include GNOME_CPPFLAGS
@@ -535,29 +549,15 @@
         quiet ${PKG_CONFIG} --atleast-version=${GCONF_VERSION} gconf-2.0 &&
         quiet ${PKG_CONFIG} --atleast-version=${GTK_VERSION} gtk+-2.0 &&
         quiet ${PKG_CONFIG} --atleast-version=${CAIRO_VERSION} cairo &&
+        quiet ${PKG_CONFIG} --atleast-version=${PIXMAN_VERSION} pixman-1 &&
+        quiet ${PKG_CONFIG} --exact-version=${LIBXML2_VERSION} libxml-2.0 &&
         quiet intltoolize --version
     then
         echo "gnome packages installed in $_GNOME_UDIR.  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_RUNTIME_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $GETTEXT_RUNTIME_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $GETTEXT_TOOLS_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBICONV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $GLIB_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $GLIB_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBJPEG_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBJPEG_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBPNG_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBPNG_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBTIFF_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBTIFF_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $ZLIB_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $ZLIB_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $PKG_CONFIG_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $PKG_CONFIG_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $ATK_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $ATK_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $CAIRO_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $CAIRO_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $EXPAT_URL $DOWNLOAD_DIR $GNOME_DIR
@@ -566,38 +566,57 @@
         wget_unpacked $FONTCONFIG_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $FREETYPE_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $FREETYPE_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $ATK_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $ATK_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $PANGO_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $PANGO_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBART_LGPL_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBART_LGPL_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $GTK_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $GTK_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        echo 'gtk-theme-name = "Nimbus"' > ${_GNOME_UDIR}/etc/gtk-2.0/gtkrc
-        wget_unpacked $INTLTOOL_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $ORBIT2_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $ORBIT2_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $GAIL_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $GAIL_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $POPT_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $POPT_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $GCONF_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $GCONF_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $GDK_PIXBUF_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $GDK_PIXBUF_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $GETTEXT_RUNTIME_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $GETTEXT_RUNTIME_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $GETTEXT_TOOLS_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $GLIB_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $GLIB_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $GNOME_VFS_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $GNOME_VFS_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $GTK_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $GTK_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $INTLTOOL_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBART_LGPL_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBART_LGPL_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $LIBBONOBO_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $LIBBONOBO_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $GNOME_VFS_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $GNOME_VFS_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBBONOBOUI_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBBONOBOUI_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBGLADE_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBGLADE_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $LIBGNOME_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $LIBGNOME_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $LIBGNOMECANVAS_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $LIBGNOMECANVAS_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBBONOBOUI_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBBONOBOUI_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $LIBGNOMEUI_URL $DOWNLOAD_DIR $GNOME_DIR
         wget_unpacked $LIBGNOMEUI_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBGLADE_URL $DOWNLOAD_DIR $GNOME_DIR
-        wget_unpacked $LIBGLADE_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBICONV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBJPEG_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBJPEG_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBPNG_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBPNG_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBTIFF_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $LIBTIFF_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+#        wget_unpacked $LIBXML2_URL $DOWNLOAD_DIR $GNOME_DIR
+#        wget_unpacked $LIBXML2_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $ORBIT2_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $ORBIT2_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $PANGO_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $PANGO_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $PKG_CONFIG_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $PKG_CONFIG_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $POPT_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $POPT_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $ZLIB_URL $DOWNLOAD_DIR $GNOME_DIR
+        wget_unpacked $ZLIB_DEV_URL $DOWNLOAD_DIR $GNOME_DIR
+        echo 'gtk-theme-name = "Nimbus"' > ${_GNOME_UDIR}/etc/gtk-2.0/gtkrc
+
         wget_unpacked $GTK_THEME_URL $DOWNLOAD_DIR $TMP_DIR
         assert_one_dir $TMP_UDIR/gtk2-themes-*
         cp -a $TMP_UDIR/gtk2-themes-*/lib $_GNOME_UDIR/
@@ -636,25 +655,55 @@
             rm -rf $TMP_UDIR/gtk-doc-*
         qpopd
 
-        if [ "$CROSS_COMPILE" = "yes" ]; then
-            qpushd $_GNOME_UDIR/lib/pkgconfig
-                perl -pi.bak -e"s!^prefix=.*\$!prefix=$_GNOME_UDIR!" *.pc
-                #perl -pi.bak -e's!^Libs: !Libs: -L\${prefix}/bin !' *.pc
+        if quiet ${PKG_CONFIG} --exact-version=${PIXMAN_VERSION} pixman-1 ; then
+            echo "Pixman already compiled+installed"
+        else
+            wget_unpacked $PIXMAN_URL $DOWNLOAD_DIR $TMP_DIR
+            assert_one_dir $TMP_UDIR/pixman-*
+            qpushd $TMP_UDIR/pixman-*
+	        GLIB_CPPFLAGS=`${PKG_CONFIG} --cflags glib-2.0`
+                GTK_CPPFLAGS="-I${_GNOME_UDIR}/include/gtk-2.0"
+                ./configure ${HOST_XCOMPILE} \
+                    --prefix=$_GNOME_UDIR \
+                    --disable-static \
+                    CPPFLAGS="${GLIB_CPPFLAGS} ${GTK_CPPFLAGS}"
+                make
+                make install
             qpopd
+            rm -rf $TMP_UDIR/pixman-*
         fi
-        wget_unpacked $PIXMAN_URL $DOWNLOAD_DIR $TMP_DIR
-        assert_one_dir $TMP_UDIR/pixman-*
-        qpushd $TMP_UDIR/pixman-*
-            ./configure ${HOST_XCOMPILE} \
-                --prefix=$_GNOME_UDIR \
-                --disable-static
-            make
-            make install
+        quiet ${PKG_CONFIG} --exact-version=${PIXMAN_VERSION} pixman-1 || die "pixman not installed correctly"
+
+        if quiet ${PKG_CONFIG} --exact-version=${LIBXML2_VERSION} libxml-2.0 ; then
+            echo "Libxml2 already compiled + installed"
+        else
+            wget_unpacked $LIBXML2_SRC_URL $DOWNLOAD_DIR $TMP_DIR
+            assert_one_dir $TMP_UDIR/libxml2-*
+            qpushd $TMP_UDIR/libxml2-*
+                ./configure ${HOST_XCOMPILE} \
+                    --prefix=${_GNOME_UDIR} \
+                    --disable-static \
+                    --with-python=no \
+                    --without-threads \
+                    CPPFLAGS="${GNOME_CPPFLAGS}" LDFLAGS="${GNOME_LDFLAGS}"
+                make
+                make install
+            qpopd
+            rm -rf ${TMP_UDIR}/libxml2-*
+        fi
+
+        qpushd $_GNOME_UDIR/lib/pkgconfig
+            perl -pi.bak -e"s!^prefix=.*\$!prefix=$_GNOME_UDIR!" *.pc
+            #perl -pi.bak -e's!^Libs: !Libs: -L\${prefix}/bin !' *.pc
         qpopd
-        rm -rf $TMP_UDIR/pixman-*
-        ${PKG_CONFIG} --exists pixman-1 || die "pixman not installed correctly"
+
         quiet gconftool-2 --version &&
         quiet ${PKG_CONFIG} --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 &&
+        quiet ${PKG_CONFIG} --atleast-version=${GCONF_VERSION} gconf-2.0 &&
+        quiet ${PKG_CONFIG} --atleast-version=${GTK_VERSION} gtk+-2.0 &&
+        quiet ${PKG_CONFIG} --atleast-version=${CAIRO_VERSION} cairo &&
+        quiet ${PKG_CONFIG} --atleast-version=${PIXMAN_VERSION} pixman-1 &&
+        quiet ${PKG_CONFIG} --exact-version=${LIBXML2_VERSION} libxml-2.0 &&
         quiet intltoolize --version || die "gnome not installed correctly"
     fi
     [ ! -d $_GNOME_UDIR/share/aclocal ] || add_to_env "-I $_GNOME_UDIR/share/aclocal" ACLOCAL_FLAGS



More information about the gnucash-changes mailing list