changeset 3709:02747e5bd3ab octave-forge

Ready for 2.9.13.
author treichl
date Fri, 27 Jul 2007 21:46:50 +0000
parents 19568b96313b
children 96163eb00f4f
files admin/MacOSX/createapp/_DS_Store_Doc admin/MacOSX/createapp/_DS_Store_Main admin/MacOSX/createapp/_background.png admin/MacOSX/createapp/makeoctaveapp.sh admin/MacOSX/solvedeps/octave-2.9.13.diff admin/MacOSX/solvedeps/solvedeps-2.9.13.sh
diffstat 6 files changed, 518 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
Binary file admin/MacOSX/createapp/_DS_Store_Doc has changed
Binary file admin/MacOSX/createapp/_DS_Store_Main has changed
Binary file admin/MacOSX/createapp/_background.png has changed
--- a/admin/MacOSX/createapp/makeoctaveapp.sh	Fri Jul 27 09:16:47 2007 +0000
+++ b/admin/MacOSX/createapp/makeoctaveapp.sh	Fri Jul 27 21:46:50 2007 +0000
@@ -22,7 +22,7 @@
 
 # This is the binary of octave that has been created. The absolute
 # path and the version number need to be given.
-OCTBIN=/tmp/dependencies-i386/bin/octave-2.9.12
+OCTBIN=/tmp/dependencies-ppc/bin/octave-2.9.13
 
 # This is the temporary directory that is used for copying Octave and
 # its libraries that depend on the Octave.app.
@@ -31,13 +31,15 @@
 # This is the directory where all the dependencies have been
 # installed. Make sure that there are no other files in this directory
 # that are not needed.
-DEPSDIR=/tmp/dependencies-i386
+DEPSDIR=/tmp/dependencies-ppc
 
 # These are the files that are copied into the docs directory of the
 # octave-VERSION-ARCH.dmg file. The files that are needed are
 # Octave-FAQ.pdf, octave.pdf, liboctave.pdf, refcard-a4.pdf,
 # refcard-legal.pdf and refcard-letter.pdf.
-PDFDOCS=~/tmp/i386/solvedeps-2.9.12/octave-2.9.12/doc/{faq/Octave-FAQ.pdf,interpreter/octave.pdf,liboctave/liboctave.pdf,refcard/refcard-{a4,legal,letter}.pdf}
+PDFDOCS=~/tmp/octave-ppc/solvedeps/octave-2.9.13/doc/{faq/Octave-FAQ.pdf,interpreter/octave.pdf,liboctave/liboctave.pdf,refcard/refcard-{a4,legal,letter}.pdf}
+
+OCEXTRAS=~/Savings/gnuplot-4.2.0-ppc.dmg
 
 # This is the temporary directory that is used for installing all
 # files and libraries that are then packed into the
@@ -177,15 +179,20 @@
   sed "s/%VERSION%/${VERSION}/g;s/%ARCH%/${ARCH}/g;s/%DATE%/${DATE}/g" Readme.html.in > Readme.html
   evalfailexit "install -c -S ./Readme.html     ${DMGDIR}/Readme.html"
 
-  echo "makeoctaveapp.sh: Installing the Octave docs ..."
-  evalfailexit "install -d ${DMGDIR}/doc"
-  evalfailexit "cp -R -P -vp ${PDFDOCS} ${DMGDIR}/doc"
+  echo "makeoctaveapp.sh: Installing the Octave Docs ..."
+  evalfailexit "install -d ${DMGDIR}/Doc"
+  evalfailexit "cp -R -P -vp ${PDFDOCS} ${DMGDIR}/Doc"
+
+  echo "makeoctaveapp.sh: Installing the Octave Extras ..."
+  evalfailexit "install -d ${DMGDIR}/Extras"
+  evalfailexit "cp -R -P -vp ${OCEXTRAS} ${DMGDIR}/Extras"
 
   echo "makeoctaveapp.sh: Installing image files ..."
   # sed 's/_background/.background/g' ./_DS_Store >${DMGDIR}/.DS_STORE
   evalfailexit "install -c -S ./_DS_Store_Main  ${DMGDIR}/.DS_Store"
   evalfailexit "install -c -S ./_DS_Store_Doc   ${DMGDIR}/doc/.DS_Store"
   evalfailexit "install -c -S ./_background.png ${DMGDIR}/.background.png"
+  evalfailexit "ln -s /Applications ${DMGDIR}/Applications"
   evalfailexit "rm -rf ${DMGDIR}/.Trashes"
 
   echo "makeoctaveapp.sh: Checking for an already existing octave-${VERSION}-${ARCH}.dmg ..."
@@ -199,7 +206,7 @@
   # http://forums.macrumors.com/archive/index.php/t-208278.html
   # http://jwz.livejournal.com/608927.html
   # http://lxr.mozilla.org/seamonkey/source/build/package/mac_osx/
-  # hdiutil convert -format UDRW -o conv.dmg octave-2.9.12.dmg
+  # hdiutil convert -format UDRW -o conv.dmg octave-2.9.13.dmg
   # hdiutil mount conv.dmg
 
   echo "makeoctaveapp.sh: Removing temporary directories ..."
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/admin/MacOSX/solvedeps/octave-2.9.13.diff	Fri Jul 27 21:46:50 2007 +0000
@@ -0,0 +1,16 @@
+diff -u -u octave-2.9.13.orig/configure.in octave-2.9.13/configure.in
+--- octave-2.9.13.orig/configure.in	2007-07-25 00:53:53.000000000 +0200
++++ octave-2.9.13/configure.in	2007-07-27 21:36:33.000000000 +0200
+@@ -1786,9 +1786,9 @@
+ dnl "broken shell backslash quoting" or somesuch.
+ dnl
+ case "$canonical_host_type" in
+-  *-*-darwin*)
+-    UGLY_DEFS=`echo $DEFS | sed 's,\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",g'`
+-  ;;
++  # *-*-darwin*)
++  #   UGLY_DEFS=`echo $DEFS | sed 's,\\",\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",g'`
++  # ;;
+   *)
+     UGLY_DEFS=`echo $DEFS | sed 's,\\",\\\\\\\\\\\\\\\\\\",g'`
+   ;;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/admin/MacOSX/solvedeps/solvedeps-2.9.13.sh	Fri Jul 27 21:46:50 2007 +0000
@@ -0,0 +1,488 @@
+#!/bin/sh
+# Copyright (C) 2007, Thomas Treichl and Paul Kienzle
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+# You're not free in choosing another compiler than XCode's - so this
+# is set up automatically. By default we use f2c that is compiled as
+# the first program if used input argument '--all'.
+
+# This is the name of the file that is used for displaying outputs
+# while configuring, compiling and installing. Use /dev/stdout to
+# display all messages in the running terminal.
+MSGFILE=/dev/stdout #/tmp/message.log # /dev/stdout
+
+# This is the name of the directory where all dependencies are
+# installed. The string "-ppc" or "-i386" is added to the end of the
+# given pathname, eg. /tmp/abc becomes /tmp/abc-pcc etc.
+INSTDIR=/tmp/dependencies
+
+F2CPACK=http://www.llnl.gov/casc/Overture/henshaw/software/f2c.tar.gz
+F2CDIFF=./f2c-19991025.diff
+# You can try to set up gfortran instead of f2c but it is very
+# difficult to do that. A good starting point for this would be
+# eg. http://gcc.gnu.org/wiki/GFortranBinariesMacOS.
+
+READLINEPACK=http://ftp.gnu.org/pub/gnu/readline/readline-5.2.tar.gz
+
+PCREPACK=ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.0.tar.gz
+
+LIBZPACK=ftp://ftp.hdfgroup.org/lib-external/zlib/1.2/src/zlib-1.2.1.tar.gz
+
+HDF5PACK=http://ftp.debian.org/debian/pool/main/h/hdf5/hdf5_1.6.5.orig.tar.gz
+HDF5DIFF=http://ftp.debian.org/debian/pool/main/h/hdf5/hdf5_1.6.5-5.diff.gz
+
+FFTWPACK=http://ftp.debian.org/debian/pool/main/f/fftw3/fftw3_3.1.2.orig.tar.gz
+FFTWDIFF=http://ftp.debian.org/debian/pool/main/f/fftw3/fftw3_3.1.2-2.diff.gz
+
+CURLPACK=http://curl.haxx.se/download/curl-7.16.2.tar.gz
+
+GLPKPACK=http://ftp.gnu.org/gnu/glpk/glpk-4.17.tar.gz
+
+SPARSEPACK=http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-3.0.0.tar.gz
+SPARSEDIFF=./SuiteSparse-3.0.0.diff
+
+OCTAVEPACK=ftp://ftp.octave.org/pub/octave/bleeding-edge/octave-2.9.13.tar.gz
+OCTAVEDIFF=./octave-2.9.13.diff
+
+##########################################################################
+#####                Don't modify anything downwards here            #####
+##########################################################################
+
+# Function:    evalfailexit
+# Input args:  ${1} is the string that has to be evaluated
+#              ${MSGFILE} is used for output of messages
+# Output args: -
+# Description: Evaluates the ${1} string, prints a message and exits on fail
+evalfailexit() {
+  if ( ! eval "${1} 2>&1 >${MSGFILE}" ); then
+    echo "solvedeps-2.9.13.sh: Building Octave.app has failed"
+    echo "The command that failed was"
+    echo "  ${1}"
+    exit 1
+  fi
+}
+
+# Function:    getsource
+# Input args:  ${1} is the web adress for the file that is downloaded
+# Output args: -
+# Description: Downloads the source file that is given as ${1}
+getsource() {
+    # Check if we do already have downloaded the ${1}.* file
+    local vfile=${1##*/} # echo ${vfile}
+    if [ ! -f ${vfile} ]; then
+        echo "solvedeps-2.9.13.sh: Downloading \"${vfile}\" ..."
+        evalfailexit "curl -s -S ${1} -o ${vfile}"
+    fi
+}
+
+# Function:    unpack
+# Input args:  ${1} is the name of the file that has to be extracted
+# Output args: -
+# Description: Extracts the source file that is given as ${1}
+unpack () {
+    if [ ${1##*.tar.} == "gz" ]; then
+        # We really do know that ${1}.tar.gz extracts to ${1}
+        vlocal=${1%.tar.gz}
+        if [ ! -d ${vlocal} ]; then
+            echo "solvedeps-2.9.13.sh: Extracting \"${1}\" ..."
+            evalfailexit "tar -xzf ${1}"
+        fi
+    elif [ ${1##*.} == "dmg" ]; then
+        echo "solvedeps-2.9.13.sh: No implementation for \".dmg\" at the moment"
+        exit 1
+    fi
+}
+
+##########################################################################
+#####         Functions for building the Octave dependencies         #####
+##########################################################################
+
+create_f2c () {
+  local vf2cpack=${F2CPACK##*/}       # echo ${vf2cpack}
+  local vf2cfile=${vf2cpack%.tar.gz*} # echo ${vf2cfile}
+  local vf2cdiff=${F2CDIFF##*/}       # echo ${vf2cdiff}
+  getsource ${F2CPACK}
+  unpack ${vf2cpack}
+
+  echo "solvedeps-2.9.13.sh: Creating installation directories ..."
+  evalfailexit "install -d ${INSTDIR}{,/bin,/lib,/include}"
+
+  echo "solvedeps-2.9.13.sh: Applying the patch ${vf2cdiff} ..."
+  evalfailexit "patch -p0 < ${vf2cdiff}"
+
+  echo "solvedeps-2.9.13.sh: Making ${vf2cfile}/src ..."
+  export CC=${CC}; export CFLAGS=${CFLAGS}; export LDFLAGS=${LDFLAGS}
+
+  cd ${vf2cfile}/src
+  evalfailexit "${MAKE}"
+  evalfailexit "mv f2c ${INSTDIR}/bin"
+
+  echo "solvedeps-2.9.13.sh: Making ${vf2cfile}/libf2c ..."
+  cd ../libf2c
+  evalfailexit "${MAKE}"
+  evalfailexit "mv f2c.h ${INSTDIR}/include"
+  evalfailexit "mv libf2c.a ${INSTDIR}/lib"
+}
+
+create_readline () {
+  local vreadpack=${READLINEPACK##*/}   # echo ${vreadpack}
+  local vreadfile=${vreadpack%.tar.gz*} # echo ${vfilename}
+
+  getsource ${READLINEPACK}
+  unpack ${vreadpack}
+  cd ${vreadfile}
+  echo "solvedeps-2.9.13.sh: Configuring ${vreadfile} ..."
+  evalfailexit "./configure ${1}"
+  echo "solvedeps-2.9.13.sh: Making ${vreadfile} ..."
+  evalfailexit "${MAKE}"
+  echo "solvedeps-2.9.13.sh: Make install ${vreadfile} ..."
+  evalfailexit "make install"
+}
+
+create_pcre () {
+  local vpcrepack=${PCREPACK##*/}       # echo ${vpcrepack}
+  local vpcrefile=${vpcrepack%.tar.gz*} # echo ${vpcrefile}
+
+  getsource ${PCREPACK}
+  unpack ${vpcrepack}
+  cd ${vpcrefile}
+  echo "solvedeps-2.9.13.sh: Configuring ${vpcrefile} ..."
+  evalfailexit "./configure ${1}"
+  echo "solvedeps-2.9.13.sh: Making ${vpcrefile} ..."
+  evalfailexit "${MAKE}"
+  echo "solvedeps-2.9.13.sh: Make install ${vpcrefile} ..."
+  evalfailexit "make install"
+}
+
+create_libz () {
+# The link /Developer/SDKs/MacOSX10.3.9.sdk/usr/lib/libz.dylib has
+# to be removed, otherwise the SDK internal libz is found and this
+# is a bug.
+  local vlibzpack=${LIBZPACK##*/}       # echo ${vlibzpack}
+  local vlibzfile=${vlibzpack%.tar.gz*} # echo ${vlibzfile}
+
+  getsource ${LIBZPACK}
+  unpack ${vlibzpack}
+
+  echo "solvedeps-2.9.13.sh: Configuring ${vlibzfile} ..."
+  cd ${vlibzfile}
+  export CC=${CC}
+  export CFLAGS=${CFLAGS}
+  export PREFIX=${INSTDIR}
+  evalfailexit "./configure --shared --prefix=${INSTDIR}"
+  echo "solvedeps-2.9.13.sh: Making ${vlibzfile} ..."
+  evalfailexit "${MAKE}"
+  evalfailexit "make install"
+  echo "solvedeps-2.9.13.sh: Make install ${vlibzfile} ..."
+  evalfailexit "install -c -S libz.a ${INSTDIR}/lib"
+  evalfailexit "install -c -S crc32.h inffast.h inflate.h trees.h zutil.h ${INSTDIR}/include"
+  evalfailexit "install -c -S deflate.h inffixed.h inftrees.h zconf.h zlib.h ${INSTDIR}/include"
+}
+
+create_hdf5 () {
+# CF. http://www.llnl.gov/visit/1.6/BUILD_NOTES_MacOSX about building
+# the hdf5 library for MacOSX - it fails but it is already enough when
+# compilation fails. Also "make -j 2" may fail with this package if
+# cross-compiled.
+  local vhdf5pack=${HDF5PACK##*/}            # echo ${vhdf5pack}
+  local vhdf5file=${vhdf5pack%.orig.tar.gz*} # echo ${vhdf5file}
+  local vhdf5diff=${HDF5DIFF##*/}            # echo ${vhdf5diff}
+  local vdiffname=${vhdf5diff%.gz*}          # echo ${vdiffname}
+
+  getsource ${HDF5PACK}
+  unpack ${vhdf5pack}
+  getsource ${HDF5DIFF}
+  evalfailexit "gunzip ${vhdf5diff}"
+  evalfailexit "patch -p0 < ${vdiffname}"
+
+  cd `echo ${vhdf5file} | sed "s/_/-/g"`
+  echo "solvedependencies.sh: Configuring ${vhdf5file} ..."
+  export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} 
+  evalfailexit "./configure CFLAGS=\"${CFLAGS}\" --prefix=${INSTDIR} --disable-cxx"
+  echo "solvedependencies.sh: Making ${vhdf5file} ..."
+  evalfailexit "make"
+  echo "solvedependencies.sh: Make install ${vhdf5file} ..."
+  evalfailexit "make install"
+}
+
+create_fftw () {
+  local vfftwpack=${FFTWPACK##*/}            # echo ${vfftwpack}
+  local vfftwfile=${vfftwpack%.orig.tar.gz*} # echo ${vfilename}
+  local vfftwdiff=${FFTWDIFF##*/}            # echo ${vfftwdiff}
+  local vdiffname=${vfftwdiff%.gz*}          # echo ${vdiffname}
+
+  getsource ${FFTWPACK}
+  unpack ${vfftwpack}
+  getsource ${FFTWDIFF}
+  evalfailexit "mv fftw-3.1.2 fftw3-3.1.2"
+  evalfailexit "gunzip ${vfftwdiff}"
+  evalfailexit "patch -p0 < ${vdiffname}"
+
+  cd `echo ${vfftwfile} | sed "s/_/-/g"`
+  echo "solvedeps-2.9.13.sh: Configuring ${vfilename} ..."
+  evalfailexit "./configure ${1} --enable-shared"
+  echo "solvedeps-2.9.13.sh: Making ${vfilename} ..."
+  evalfailexit "${MAKE}"
+  echo "solvedeps-2.9.13.sh: Make install ${vfilename} ..."
+  evalfailexit "make install"
+  cd ..
+}
+
+create_curl () {
+  local vcurlpack=${CURLPACK##*/}       # echo ${vcurlpack}
+  local vcurlfile=${vcurlpack%.tar.gz*} # echo ${vcurlfile}
+
+  getsource ${CURLPACK}
+  unpack ${vcurlpack}
+  cd ${vcurlfile}
+  echo "solvedeps-2.9.13.sh: Configuring ${vcurlfile} ..."
+  evalfailexit "./configure ${1}"
+  echo "solvedeps-2.9.13.sh: Making ${vcurlfile} ..."
+  evalfailexit "${MAKE}"
+  echo "solvedeps-2.9.13.sh: Make install ${vcurlfile} ..."
+  evalfailexit "make install"
+}
+
+create_glpk () {
+  local vglpkpack=${GLPKPACK##*/}       # echo ${vglpkpack}
+  local vglpkfile=${vglpkpack%.tar.gz*} # echo ${vglpkfile}
+
+  getsource ${GLPKPACK}
+  unpack ${vglpkpack}
+  cd ${vglpkfile}
+  echo "solvedeps-2.9.13.sh: Configuring ${vglpkfile} ..."
+  evalfailexit "./configure ${1}"
+  echo "solvedeps-2.9.13.sh: Making ${vglpkfile} ..."
+  evalfailexit "${MAKE}"
+  echo "solvedeps-2.9.13.sh: Make install ${vglpkfile} ..."
+  evalfailexit "make install"
+}
+
+create_sparse() {
+  local vsparsepack=${SPARSEPACK##*/}       # echo ${vsparsepack}
+  local vsparsefile=${vsparsepack%.tar.gz*} # echo ${vsparsefile}
+  local vsparsediff=${SPARSEDIFF##*/}       # echo ${vsparsediff}
+
+  getsource ${SPARSEPACK}
+  unpack ${vsparsepack}
+
+  export CC="${CC}"
+  export CFLAGS="${CFLAGS} -O3 -fno-common -no-cpp-precomp -fexceptions -D_POSIX_C_SOURCE -D__NOEXTENSIONS__ -DNPARTITION"
+  export PREFIX=${INSTDIR}
+
+  echo "solvedeps-2.9.13.sh: Applying patch ${vsparsediff} ..."
+  evalfailexit "patch -p0 < SuiteSparse.diff"
+
+  evalfailexit "mv SuiteSparse ${vsparsefile}"
+  cd ${vsparsefile}
+  evalfailexit "make"
+  cd CXSparse
+  evalfailexit "make"
+  cd ..
+
+  echo "solvedeps-2.9.13.sh: Checking for target directories ..."
+  evalfailexit "install -d ${INSTDIR}{,/bin,/lib,/include}"
+  evalfailexit "install -c -S UFconfig/UFconfig.h ${INSTDIR}/include"
+ 
+  echo "solvedeps-2.9.13.sh: Installing UMFPACK files in ${INSTDIR}"
+  evalfailexit "install -c -S UMFPACK/Include/*.h ${INSTDIR}/include"
+  evalfailexit "install -c -S UMFPACK/Lib/libumfpack.a ${INSTDIR}/lib"
+  evalfailexit "ranlib ${INSTDIR}/lib/libumfpack.a"
+
+  echo "solvedeps-2.9.13.sh: Installing AMD files in ${INSTDIR}"
+  evalfailexit "install -c -S AMD/Include/*.h ${INSTDIR}/include"
+  evalfailexit "install -c -S AMD/Lib/libamd.a ${INSTDIR}/lib"
+  evalfailexit "ranlib ${INSTDIR}/lib/libamd.a"
+
+  echo "solvedeps-2.9.13.sh: Installing CAMD files in ${INSTDIR}"
+  evalfailexit "install -c -S CAMD/Include/*.h ${INSTDIR}/include"
+  evalfailexit "install -c -S CAMD/Lib/libcamd.a ${INSTDIR}/lib"
+  evalfailexit "ranlib ${INSTDIR}/lib/libcamd.a"
+
+  echo "solvedeps-2.9.13.sh: Installing COLAMD files in ${INSTDIR}"
+  evalfailexit "install -c -S COLAMD/Include/*.h ${INSTDIR}/include"
+  evalfailexit "install -c -S COLAMD/Lib/libcolamd.a ${INSTDIR}/lib"
+  evalfailexit "ranlib ${INSTDIR}/lib/libcolamd.a"
+
+  echo "solvedeps-2.9.13.sh: Installing CCOLAMD files in ${INSTDIR}"
+  evalfailexit "install -c -S CCOLAMD/Include/*.h ${INSTDIR}/include"
+  evalfailexit "install -c -S CCOLAMD/Lib/libccolamd.a ${INSTDIR}/lib"
+  evalfailexit "ranlib ${INSTDIR}/lib/libccolamd.a"
+
+  echo "solvedeps-2.9.13.sh: Installing CXSPARSE files in ${INSTDIR}"
+  evalfailexit "install -c -S CXSparse/Include/*.h ${INSTDIR}/include"
+  evalfailexit "install -c -S CXSparse/Lib/libcxsparse.a ${INSTDIR}/lib"
+  evalfailexit "ranlib ${INSTDIR}/lib/libcxsparse.a"
+
+  echo "solvedeps-2.9.13.sh: Installing CHOLMOD files in ${INSTDIR}"
+  evalfailexit "install -c -S CHOLMOD/Include/*h ${INSTDIR}/include"
+  evalfailexit "install -c -S CHOLMOD/Lib/libcholmod.a ${INSTDIR}/lib"
+  evalfailexit "ranlib ${INSTDIR}/lib/libcholmod.a"
+}
+
+create_octave() {
+  local voctavepack=${OCTAVEPACK##*/}       # echo ${voctavepack}
+  local voctavefile=${voctavepack%.tar.gz*} # echo ${voctavefile}
+  local voctavediff=${OCTAVEDIFF##*/}       # echo ${voctavediff}
+  local voctversion=${voctavefile##*-}      # echo ${voctversion}
+
+  getsource ${OCTAVEPACK}
+  unpack ${voctavepack}
+
+  echo "solvedeps-2.9.13.sh: Applying patch ${voctavediff} ..."
+  evalfailexit "patch -p0 < ${voctavediff}"
+
+  echo "solvedeps-2.9.13.sh: Calling Octave's autogen.sh ..."
+  cd ${voctavefile}
+  evalfailexit "./autogen.sh"
+
+  echo "solvedeps-2.9.13.sh: Configuring ${voctavefile} ..."
+  evalfailexit "./configure ${1} --enable-shared --with-f2c"
+  echo "solvedeps-2.9.13.sh: Making ${voctavefile} ..."
+  evalfailexit "${MAKE}"
+  echo "solvedeps-2.9.13.sh: Make install ${voctavefile} ..."
+  evalfailexit "make install"
+
+  echo "solvedeps-2.9.13.sh: Removing special strings in mkoctfile-${voctversion} ..."
+  sed "s:${CFLAGS}::g;s:${LDFLAGS}::g;s:${ARCH}::g" \
+    < ${INSTDIR}/bin/mkoctfile-${voctversion} > /tmp/mkoctfile-${voctversion}
+  evalfailexit "install -c -S /tmp/mkoctfile-${voctversion} ${INSTDIR}/bin/mkoctfile-${voctversion}"
+  evalfailexit "rm -f /tmp/mkoctfile-${voctversion}"
+
+  echo "solvedeps-2.9.13.sh: Removing special strings in octave-bug-${voctversion} ..."
+  sed "s:${CFLAGS}::g;s:${LDFLAGS}::g;s:${ARCH}::g" \
+    < ${INSTDIR}/bin/octave-bug-${voctversion} > /tmp/octave-bug-${voctversion}
+  evalfailexit "install -c -S /tmp/octave-bug-${voctversion} ${INSTDIR}/bin/octave-bug-${voctversion}"
+  evalfailexit "rm -f /tmp/octave-bug-${voctversion}"
+}
+
+# This is the main bash routine
+if [ $# -ne 2 ]; then
+    echo "Usage: solvedeps-2.9.13.sh LIBRARY ARCHITECTURE"
+    exit 1
+else
+  case "${2}" in
+    --ppc)
+      INSTDIR=${INSTDIR}-ppc
+      ARCH="-arch ppc"
+      BUILDARCH="--host=powerpc-apple-darwin7.9.1"
+      MACOSX_DEPLOYMENT_TARGET=10.3
+
+      CC="MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} gcc"
+      CXX="MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} g++"
+      CPP="MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} cpp"
+
+      CFLAGS="${ARCH} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -I${INSTDIR}/include"
+      CXXFLAGS="${ARCH} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -I${INSTDIR}/include"
+      CPPFLAGS="${ARCH} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -I${INSTDIR}/include"
+      LDFLAGS="${ARCH} -Wl,-headerpad_max_install_names,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk -L${INSTDIR}/lib"
+      ;;
+
+    --i386)
+      INSTDIR=${INSTDIR}-i386
+      ARCH="-arch i386"
+      BUILDARCH=""
+      MACOSX_DEPLOYMENT_TARGET=10.4
+
+      CC="MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} gcc"
+      CXX="MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} g++"
+      CPP="MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} cpp"
+
+      CFLAGS="${ARCH} -I${INSTDIR}/include"
+      CXXFLAGS="${ARCH} -I${INSTDIR}/include"
+      CPPFLAGS="${ARCH} -I${INSTDIR}/include"
+      LDFLAGS="${ARCH} -L${INSTDIR}/lib"
+      ;;
+
+    *)
+      echo "solvedeps-2.9.13.sh: Unknown input argument ${2}"
+      exit 1
+      ;;
+
+  esac
+
+  # CONFFLAGS="CC=\"${CC}\" CXX=\"${CXX}\" CPP=\"${CPP}\""
+  CONFFLAGS="CFLAGS=\"${CFLAGS}\" CPPFLAGS=\"${CPPFLAGS}\""
+  CONFFLAGS="${CONFFLAGS} CXXFLAGS=\"${CXXFLAGS}\" LDFLAGS=\"${LDFLAGS}\""
+  CONFFLAGS="${CONFFLAGS} --prefix=${INSTDIR} ${BUILDARCH}"
+
+  MAKE="make"
+  export PATH="${INSTDIR}/bin:${PATH}"
+
+  case "${1}" in
+    --f2c)
+      create_f2c "${CONFFLAGS}"
+      ;;
+
+    --readline)
+      create_readline "${CONFFLAGS}"
+      ;;
+
+    --pcre)
+      create_pcre "${CONFFLAGS}"
+      ;;
+
+    --zlib)
+      create_libz "${CONFFLAGS}"
+      ;;
+
+    --hdf5)
+      create_hdf5 "${CONFFLAGS}"
+      ;;
+
+    --fftw)
+      create_fftw "${CONFFLAGS}"
+      ;;
+
+    --curl)
+      create_curl "${CONFFLAGS}"
+      ;;
+
+    --glpk)
+      create_glpk "${CONFFLAGS}"
+      ;;
+
+    --sparse)
+      create_sparse "${CONFFLAGS}"
+      ;;
+
+    --octave)
+      create_octave "${CONFFLAGS}"
+      ;;
+
+    --all)
+      # Calling this script again and again to make sure that all
+      # settings have been deleted that were set for the library or
+      # the binary that has been compiled before...
+      ./solvedeps-2.9.13.sh --f2c ${2}
+      ./solvedeps-2.9.13.sh --readline ${2}
+      ./solvedeps-2.9.13.sh --pcre ${2}
+      ./solvedeps-2.9.13.sh --zlib ${2}
+      ./solvedeps-2.9.13.sh --hdf5 ${2}
+      ./solvedeps-2.9.13.sh --fftw ${2}
+      ./solvedeps-2.9.13.sh --curl ${2}
+      ./solvedeps-2.9.13.sh --glpk ${2}
+      ./solvedeps-2.9.13.sh --sparse ${2}
+      ./solvedeps-2.9.13.sh --octave ${2}
+      ;;
+
+    *)
+      echo "solvedeps-2.9.13.sh: Unknown input argument ${1}"
+      exit 1
+      ;;
+
+  esac
+fi