#!/bin/sh # Configuration Script for the Macintosh # # This script builds a source tree suitable for export to the Macintosh # for compilation under the CodeWarrior development environment. # # We don't attempt anything fancy here. We do just enough to # produce compilable source code. Help files etc must be copied # bu hand. RHOME=`pwd` MHOME=`pwd`/Macintosh # Remove any prior version echo "Removing previous source tree" rm -rf $MHOME # (1) Create the directory structure echo "Creating directory structure" mkdir $MHOME mkdir $MHOME/library mkdir $MHOME/library/base mkdir $MHOME/library/base/R mkdir $MHOME/src mkdir $MHOME/src/include mkdir $MHOME/src/appl mkdir $MHOME/src/main mkdir $MHOME/src/nmath mkdir $MHOME/src/f2clib mkdir $MHOME/src/regex # (2) Create the basic include files needed for compilation echo "Installing include files" cp $RHOME/src/include/*.h $MHOME/src/include cp $RHOME/src/macintosh/Platform.h $MHOME/src/include # This code assembles the table of statically loaded C and Fortran # code which is to be accessed via .C and .Fortran calls. sed ' /^#/d /Rsock/d s/F77_SUBROUTINE(\(.*\))/int \1_();/ s/C_FUNCTION(\(.*\))/int \1();/ ' $RHOME/src/appl/ROUTINES > $MHOME/src/include/FFDecl.h sed ' /^#/d /Rsock/d s/F77_SUBROUTINE(\(.*\))/ "\1_", \1_,/ s/C_FUNCTION(\(.*\))/ "\1", \1,/ ' $RHOME/src/appl/ROUTINES > $MHOME/src/include/FFTab.h # (3) C and Fortran Code echo "Copying C and Fortran code" # (3a) C Versions of Application Code echo "Converting Fortran with f2c" cp $RHOME/src/appl/*.[chf] $MHOME/src/appl cd $MHOME/src/appl f2c *.f 2> /dev/null rm *.f cd $RHOME cp $RHOME/src/main/*.[chy] $MHOME/src/main cp $RHOME/src/nmath/*.[chy] $MHOME/src/nmath cp $RHOME/src/regex/*.[chy] $MHOME/src/regex cp $RHOME/src/f2clib/*.[chy] $MHOME/src/f2clib cp $RHOME/src/main/*.[chy] $MHOME/src/main cd $MHOME/src/main byacc gram.y mv y.tab.c gram.c rm gram.y # (4) Interpreted Functions echo "Interpreted function libraries" cd $RHOME/src/library/base/R cat `ls *.R | sed '/system.*/d'` system.mac.R > $MHOME/library/base/R/base cat $RHOME/src/library/profile/Common.R \ $RHOME/src/library/profile/Rprofile.mac > $MHOME/library/base/R/Rprofile # (5) Manual entries etc (just grab the unix ones for now) echo "Manual entries, examples and data" cd $RHOME cp -R library/LibIndex Macintosh/library cp -R library/base/INDEX Macintosh/library/base cp -R library/base/data Macintosh/library/base cp -R library/base/R-ex Macintosh/library/base mkdir Macintosh/library/base/help for i in `ls $RHOME/library/base/help` do sed 's/.//g' library/base/help/$i > Macintosh/library/base/help/$i done # (6) Demos echo "Demo scripts" mkdir Macintosh/demos cp -R demos/[a-z]* Macintosh/demos