build system: modify package creation for OS X. Min requirements OS X 10.8+ and 64-bit Matlab

time-shift
Houtan Bastani 2016-05-13 15:52:49 +02:00
parent 5723e7ea58
commit 85e3ddd2d4
2 changed files with 43 additions and 69 deletions

View File

@ -429,16 +429,15 @@ If you want to give a URL, use the address of the Dynare website:
Packaged versions of Dynare are available for Windows XP/Vista/7/8,
@uref{http://www.debian.org,Debian GNU/Linux},
@uref{http://www.ubuntu.com/,Ubuntu} and Mac OS X Leopard/Snow
Leopard. Dynare should work on other systems, but some compilation
steps are necessary in that case.
@uref{http://www.ubuntu.com/,Ubuntu} and Mac OS X 10.8 or later. Dynare should
work on other systems, but some compilation steps are necessary in that case.
In order to run Dynare, you need one of the following:
@itemize
@item
MATLAB version 7.5 (R2007b) or above;
MATLAB version 7.5 (R2007b) or above (MATLAB R2009b 64-bit for Mac OS X);
@item
GNU Octave version 3.6 or above.

View File

@ -1,14 +1,14 @@
#!/bin/bash
set -ex
VERSION=4.4.3
TOP_DIR=/Users/Houtan/Documents/DYNARE/PACKAGES
VERSION=4.5.0
TOP_DIR=/Users/houtanb/Documents/DYNARE/package
TOP_DYN_DIR=$TOP_DIR/dynare-$VERSION
INSTALLDIRNAME=dynare-$VERSION-osx
rm -rf $INSTALLDIRNAME
mkdir $INSTALLDIRNAME
INSTALLDIR=$TOP_DIR/$INSTALLDIRNAME
rm -rf $INSTALLDIR
mkdir $INSTALLDIR
########################
# UPDATE DYNARE SOURCE #
@ -24,15 +24,13 @@ mkdir "$INSTALLDIR/dynare++"
mkdir -p "$INSTALLDIR/doc/dynare++"
mkdir "$INSTALLDIR/doc/dynare.html"
mkdir -p "$INSTALLDIR/contrib/ms-sbvar/TZcode"
mkdir -p "$INSTALLDIR/mex/octave"
mkdir -p "$INSTALLDIR/mex/matlab/osx64"
mkdir "$INSTALLDIR/mex/matlab/osx32-7.4"
mkdir "$INSTALLDIR/mex/matlab/osx32-7.5-7.11"
mkdir -p "$INSTALLDIR/mex/matlab/osx"
# top level
cp $TOP_DYN_DIR/scripts/dynare.el $INSTALLDIR/scripts
cp $TOP_DYN_DIR/license.txt $INSTALLDIR
cp $TOP_DYN_DIR/NEWS $INSTALLDIR
cp $TOP_DYN_DIR/COPYING $INSTALLDIR
cp $TOP_DYN_DIR/license.txt $INSTALLDIR
# TZ Matlab
cp -r $TOP_DYN_DIR/contrib/ms-sbvar/TZcode/MatlabFiles $INSTALLDIR/contrib/ms-sbvar/TZcode
@ -40,83 +38,60 @@ cp -r $TOP_DYN_DIR/contrib/ms-sbvar/TZcode/MatlabFiles $INSTALLDIR/con
# examples
cp -r $TOP_DYN_DIR/examples $INSTALLDIR
##########################################################
# FIRST BUILD 32 BIT EVERYTHING, 32 BIT MATLAB < 7.5 MEX #
##########################################################
./configure FFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -arch i386' CPPFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -arch i386' LDFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -arch i386' --disable-octave --with-matlab=/Applications/MATLAB_OLD/R2007a MATLAB_VERSION=7.4 --with-gsl=/usr/local32 --with-slicot=/usr/local32 --with-matio=/usr/local32
#############
# CONFIGURE #
#############
./configure FFLAGS='-mmacosx-version-min=10.8' CPPFLAGS='-mmacosx-version-min=10.8' LDFLAGS='-mmacosx-version-min=10.8' \
--with-matlab=/Volumes/Storage/MATLAB/MATLAB_R2009b.app MATLAB_VERSION=7.9 MEXEXT=mexmaci64 --disable-octave \
--with-matio=/usr/local/static --with-gsl=/usr/local/static --with-slicot=/usr/local/static
make clean
###########
# COMPILE #
###########
cd $TOP_DYN_DIR/doc
texi2dvi --pdf --batch --build-dir=dynare.t2p dynare.texi
cd $TOP_DYN_DIR
make
make pdf
cd $TOP_DYN_DIR/preprocessor
make
cd $TOP_DYN_DIR/dynare++
make
cd $TOP_DYN_DIR/mex/build/matlab
make
###########################
# COMPOSE BULK OF PACKAGE #
###########################
# Matlab
# Must come after configure because matlab/dynare_version.m is created by configure script
cp -r $TOP_DYN_DIR/matlab $INSTALLDIR
########################
# MAKE BULK OF PACKAGE #
########################
# compiled preprocessor
cp $TOP_DYN_DIR/preprocessor/dynare_m $INSTALLDIR/matlab
# Matlab Mex
cp $TOP_DYN_DIR/mex/matlab/* $INSTALLDIR/mex/matlab/osx32-7.4
# dynare++
cp $TOP_DYN_DIR/dynare++/src/dynare++ $INSTALLDIR/dynare++
cp $TOP_DYN_DIR/dynare++/extern/matlab/dynare_simul.m $INSTALLDIR/dynare++
cp $TOP_DYN_DIR/dynare++/src/dynare++ $INSTALLDIR/dynare++
cp $TOP_DYN_DIR/dynare++/extern/matlab/dynare_simul.m $INSTALLDIR/dynare++
# doc
cp $TOP_DYN_DIR/doc/bvar-a-la-sims.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/dr.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/dynare.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/guide.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/macroprocessor/macroprocessor.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/parallel/parallel.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/preprocessor/preprocessor.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/userguide/UserGuide.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/gsa/gsa.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/bvar-a-la-sims.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/dr.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/dynare.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/guide.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/macroprocessor/macroprocessor.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/parallel/parallel.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/preprocessor/preprocessor.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/userguide/UserGuide.pdf $INSTALLDIR/doc
cp $TOP_DYN_DIR/doc/gsa/gsa.pdf $INSTALLDIR/doc
# doc (dynare++)
cp $TOP_DYN_DIR/dynare++/doc/dynare++-tutorial.pdf $INSTALLDIR/doc/dynare++
cp $TOP_DYN_DIR/dynare++/doc/dynare++-ramsey.pdf $INSTALLDIR/doc/dynare++
cp $TOP_DYN_DIR/dynare++/sylv/sylvester.pdf $INSTALLDIR/doc/dynare++
cp $TOP_DYN_DIR/dynare++/tl/cc/tl.pdf $INSTALLDIR/doc/dynare++
cp $TOP_DYN_DIR/dynare++/integ/cc/integ.pdf $INSTALLDIR/doc/dynare++
cp $TOP_DYN_DIR/dynare++/kord/kord.pdf $INSTALLDIR/doc/dynare++
##############################################
# RETURN TO BUILD 32 BIT MATLAB 7.5 & UP MEX #
##############################################
cd $TOP_DYN_DIR/mex/build/matlab
make clean
./configure FFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -arch i386' CPPFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -arch i386' LDFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -arch i386' --with-matlab=/Applications/MATLAB_OLD/MATLAB_R2009b_32bit/MATLAB_R2009b.app MATLAB_VERSION=7.9 MEXEXT='mexmaci' --with-slicot=/usr/local32 --with-matio=/usr/local32 --with-gsl=/usr/local32
make
cp $TOP_DYN_DIR/dynare++/doc/dynare++-tutorial.pdf $INSTALLDIR/doc/dynare++
cp $TOP_DYN_DIR/dynare++/doc/dynare++-ramsey.pdf $INSTALLDIR/doc/dynare++
cp $TOP_DYN_DIR/dynare++/sylv/sylvester.pdf $INSTALLDIR/doc/dynare++
cp $TOP_DYN_DIR/dynare++/tl/cc/tl.pdf $INSTALLDIR/doc/dynare++
cp $TOP_DYN_DIR/dynare++/integ/cc/integ.pdf $INSTALLDIR/doc/dynare++
cp $TOP_DYN_DIR/dynare++/kord/kord.pdf $INSTALLDIR/doc/dynare++
# Matlab Mex
cp $TOP_DYN_DIR/mex/matlab/* $INSTALLDIR/mex/matlab/osx32-7.5-7.11
#####################################
# RETURN TO BUILD 64 BIT MATLAB MEX #
#####################################
cd $TOP_DYN_DIR/mex/build/matlab
make clean
./configure --with-matlab=/Applications/MATLAB_OLD/MATLAB_R2009b.app MATLAB_VERSION=7.9 MEXEXT=mexmaci64 --with-matio=/usr/localStatic --with-gsl=/usr/localStatic
make
# Matlab Mex
cp $TOP_DYN_DIR/mex/matlab/* $INSTALLDIR/mex/matlab/osx64
cp $TOP_DYN_DIR/mex/matlab/* $INSTALLDIR/mex/matlab/osx
# clean everything
cd $TOP_DYN_DIR