r16122 - gnucash/trunk/packaging/win32 - Integrate create_cross_mingw.sh into install.sh. Minor cleanups.

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


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

Modified:
   gnucash/trunk/packaging/win32/create_cross_mingw.sh
   gnucash/trunk/packaging/win32/defaults.sh
   gnucash/trunk/packaging/win32/install.sh
Log:
Integrate create_cross_mingw.sh into install.sh. Minor cleanups.


Modified: gnucash/trunk/packaging/win32/create_cross_mingw.sh
===================================================================
--- gnucash/trunk/packaging/win32/create_cross_mingw.sh	2007-05-23 17:21:07 UTC (rev 16121)
+++ gnucash/trunk/packaging/win32/create_cross_mingw.sh	2007-05-23 17:21:14 UTC (rev 16122)
@@ -1,5 +1,13 @@
 #! /bin/bash
 
+function qpushd() { pushd "$@" >/dev/null; }
+function qpopd() { popd >/dev/null; }
+function unix_path() { echo "$*" | sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'; }
+
+qpushd "$(dirname "$0")"
+. functions.sh
+. defaults.sh
+
 #
 # From http://www.mingw.org/MinGWiki/index.php/BuildMingwCross
 #
@@ -54,7 +62,7 @@
 # have write-access to this directory.  If you leave it
 # blank, it defaults to the current directory.
 
-BUILDDIR=
+BUILDDIR=`unix_path $TMP_DIR`
 
 # Where does the cross-compiler go?
 # This should be the directory into which your cross-compiler
@@ -62,7 +70,7 @@
 # that only root has write access to, you will need to run this
 # script as root.
 
-PREFIX=
+PREFIX=`unix_path $MINGW_DIR`
 
 # Purge anything and everything already in the $PREFIX
 #(also known as the destination or installation) directory?
@@ -443,3 +451,4 @@
 #
 # End
 #
+qpopd

Modified: gnucash/trunk/packaging/win32/defaults.sh
===================================================================
--- gnucash/trunk/packaging/win32/defaults.sh	2007-05-23 17:21:07 UTC (rev 16121)
+++ gnucash/trunk/packaging/win32/defaults.sh	2007-05-23 17:21:14 UTC (rev 16122)
@@ -69,25 +69,20 @@
 
 ####
 # For cross-compiling, change this to "yes"
-set_default cross_compile "no"
+set_default CROSS_COMPILE "no"
 
-if test "x$cross_compile" != xyes ; then
-    LIBTOOLIZE=libtoolize
-    HOST_XCOMPILE=""
-    TARGET_XCOMPILE=""
-    LD=ld
-    CC=gcc
-    DLLTOOL=dlltool
+if [ "$CROSS_COMPILE" != yes ]; then
+    set_default LIBTOOLIZE libtoolize
+    set_default LD ld
+    set_default CC gcc
+    set_default DLLTOOL dlltool
 else
     # Insert your cross-compiler mingw32 bin-directories here
-    PATH=$GLOBAL_DIR/bin:$GLOBAL_DIR/mingw32/bin:$PATH
-    LIBTOOLIZE=$GLOBAL_DIR/autotools/bin/libtoolize
-    PKG_CONFIG_PATH="" # to avoid using the host's installed packages
-    HOST_XCOMPILE="--host=mingw32"
-    TARGET_XCOMPILE="--target=mingw32"
-    LD=mingw32-ld
-    CC=mingw32-gcc
-    DLLTOOL=mingw32-dlltool
+    set_default LIBTOOLIZE $GLOBAL_DIR/autotools/bin/libtoolize
+    set_default HOST_XCOMPILE "--host=mingw32"
+    set_default LD mingw32-ld
+    set_default CC mingw32-gcc
+    set_default DLLTOOL mingw32-dlltool
 fi
 ####
 
@@ -266,20 +261,20 @@
 
 # There is no reason to ever need to comment these out!
 # * commented out glade, as it is not needed to run gnucash
-if test x$cross_compile != xyes ; then
+if [ "$CROSS_COMPILE" != "yes" ]; then
  add_step inst_wget
  add_step inst_dtk
- add_step inst_mingw
  add_step inst_unzip
 fi
+add_step inst_mingw
 add_step inst_regex
 add_step inst_readline
-if test x$cross_compile != xyes ; then
+if [ "$CROSS_COMPILE" != "yes" ]; then
  add_step inst_active_perl
 fi
 add_step inst_autotools
 add_step inst_guile
-if test x$cross_compile != xyes ; then
+if [ "$CROSS_COMPILE" != "yes" ]; then
  add_step inst_svn
  add_step inst_openssl
 fi
@@ -299,11 +294,11 @@
 add_step inst_ktoblzcheck
 add_step inst_aqbanking
 ##
-if test x$cross_compile != xyes ; then
+if [ "$CROSS_COMPILE" != "yes" ]; then
  add_step inst_inno
  add_step inst_hh
 fi
-if test x$UPDATE_SOURCES = xyes ; then
+if [ "$UPDATE_SOURCES" = "yes" ]; then
  add_step svn_up
 fi
 add_step inst_gnucash

Modified: gnucash/trunk/packaging/win32/install.sh
===================================================================
--- gnucash/trunk/packaging/win32/install.sh	2007-05-23 17:21:07 UTC (rev 16121)
+++ gnucash/trunk/packaging/win32/install.sh	2007-05-23 17:21:14 UTC (rev 16122)
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+[ ! "$BASH" -a -x /bin/bash ] && exec /bin/bash "$0" "$@"
+
 set -e
 
 function qpushd() { pushd "$@" >/dev/null; }
@@ -69,6 +71,10 @@
     if [ "$DISABLE_OPTIMIZATIONS" = "yes" ]; then
         export CFLAGS="$CFLAGS -g -O0"
     fi
+
+    if [ "$CROSS_COMPILE" ]; then
+        PKG_CONFIG_PATH="" # to avoid using the host's installed packages
+    fi
 }
 
 function inst_wget() {
@@ -109,28 +115,36 @@
 }
 
 function test_for_mingw() {
-    ${CC} --version &&
-    g++ --version &&
-    ${LD} --help &&
-    mingw32-make --help
+    ${CC} --version
+    ${LD} --help
+    if [ "$CROSS_COMPILE" != "yes" ]; then
+        g++ --version
+        mingw32-make --help
+    fi
 }
 
 function inst_mingw() {
     setup MinGW
     _MINGW_UDIR=`unix_path $MINGW_DIR`
     _MINGW_WFSDIR=`win_fs_path $MINGW_DIR`
+    [ "$CROSS_COMPILE" = "yes" ] && add_to_env $_MINGW_UDIR/bin PATH
+
     if quiet test_for_mingw
     then
         echo "mingw already installed.  skipping."
     else
         mkdir -p $_MINGW_UDIR
-        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") | sh pi.sh
+        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") | sh pi.sh
+        else
+            ./create_cross_mingw.sh
+        fi
         quiet test_for_mingw || die "mingw not installed correctly"
     fi
 }
@@ -308,7 +322,7 @@
         guile -c '(use-modules (srfi srfi-39))' &&
         guile -c "(use-modules (ice-9 slib)) (require 'printf)" || die "guile not installed correctly"
     fi
-    if test x$cross_compile = xyes ; then
+    if [ "$CROSS_COMPILE" = "yes" ]; then
         qpushd $_GUILE_UDIR/bin
         # The cross-compiling guile expects these program names
         # for the build-time guile
@@ -551,7 +565,7 @@
 #        ${PKG_CONFIG} --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgtkhtml-3.14 &&  # not gnomeprint
         quiet intltoolize --version || die "gnome not installed correctly"
     fi
-    if test x$cross_compile = xyes ; then
+    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!^Libs: !Libs: -L\${prefix}/bin !' *.pc
@@ -945,7 +959,7 @@
     LIBOFX_OPTIONS="--enable-ofx --with-ofx-prefix=${_LIBOFX_UDIR}"
 
     qpushd $REPOS_DIR
-        if test "x$cross_compile" = xyes ; then
+        if [ "$CROSS_COMPILE" = "yes" ]; then
             # Set these variables manually because of cross-compiling
             export GUILE_LIBS="${GUILE_LDFLAGS} -lguile -lguile-ltdl"
             export GUILE_INCS="${GUILE_CPPFLAGS}"
@@ -960,7 +974,7 @@
     qpopd
 
     qpushd $BUILD_DIR
-        $_REL_REPOS_UDIR/configure ${HOST_XCOMPILE} ${TARGET_XCOMPILE} \
+        $_REL_REPOS_UDIR/configure ${HOST_XCOMPILE} \
             --prefix=$_INSTALL_WFSDIR \
             --enable-debug \
             --enable-schemas-install=no \
@@ -1101,7 +1115,7 @@
             echo echo "'${_CHANGE}' >> /etc/profile.d/installer.sh"
         fi
     done
-    if test "x$cross_compile" = "xyes" ; then
+    if [ "$CROSS_COMPILE" = "yes" ]; then
         echo "You might want to create a binary tarball now as follows:"
         qpushd $GLOBAL_DIR
         echo tar -czf $HOME/gnucash-fullbin.tar.gz --anchored \



More information about the gnucash-changes mailing list