#!/bin/sh
#============================================================================
#
# Code_Saturne version 1.3
# ------------------------
#
#
# This file is part of the Code_Saturne Kernel, element of the
# Code_Saturne CFD tool.
#
# Copyright (C) 1998-2007 EDF S.A., France
#
# contact: saturne-support@edf.fr
#
# The Code_Saturne Kernel 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.
#
# The Code_Saturne Kernel 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 the Code_Saturne Kernel; if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor,
# Boston, MA 02110-1301 USA
#
#============================================================================
#
usage() {
echo
echo " Script de determination du numero de version des compilateurs "
echo
echo " Usage : $0 [-cshome <CS_HOME>] [-nomarch <NOM_ARCH>] [-output <compil.log>]"
echo
echo " avec : "
echo " <CS_HOME> : variable CS_HOME de Code_Saturne "
echo " peut etre fixee par defaut par l environnement"
echo " <NOM_ARCH> : nom de l architecture pour Code_Saturne "
echo " peut etre fixee par defaut par l environnement"
echo " <compil.log> : fichier d'output (donner le chemin complet) "
echo " ./compil.log par defaut "
echo " "
echo
exit
}
# Repertoire de travail
dirbase=`pwd`
# Interpretation de la ligne de commande
# Arguments explicites
while [ "$#" != 0 ] ; do
case $1 in
-cshome) shift ; CS_HOME="$1" ; shift ;;
-nomarch) shift ; NOM_ARCH="$1" ; shift ;;
-output) shift ; compillog="$1" ; shift ;;
*) usage ;;
esac
done
# Fichier trace par defaut
if [ -z "${compillog}" ] ; then
compillog=${dirbase}/compil.log
fi
echo $compillog
# Verification de CS_HOME
if [ -z ${CS_HOME} ] ; then
usage
echo ' '
echo ' La variable CS_HOME n est pas renseignee. Verifier le .monprofile. '
echo ' '
fi
# Verification de NOM_ARCH
if [ -z ${NOM_ARCH} ] ; then
usage
echo ' '
echo ' La variable NOM_ARCH n est pas renseignee. Verifier le .monprofile. '
echo ' '
fi
# Debut des travaux
echo ' ' >> ${compillog}
echo ' Version des compilateurs utilises ' >> ${compillog}
echo ' ' >> ${compillog}
# Version du compilateur FORTRAN
echo ' ' >> ${compillog}
echo ' ====================================== '>> ${compillog}
echo ' ' >> ${compillog}
echo ' Compilateur FORTRAN ' >> ${compillog}
echo ' ' >> ${compillog}
# Repertoire de travail temporaire
dir_compiler_f_version=dir_compiler_f_version
mkdir ${dir_compiler_f_version} || exit
cd ${dir_compiler_f_version} >> ${compillog} 2>&1
# Creation d'un fichier FORTRAN non vide
# - pour eviter que les compilateurs ne se plaignent
# - pour pouvoir executer en cas de pb
foof=foo.F
echo ' program foo' >> ${foof}
echo ' print*,"Programme test FORTRAN execute avec succes "' >> ${foof}
echo ' end' >> ${foof}
# Compilation
ln -s ${CS_HOME}/bin/Makefile Makefile
make compversion CS_HOME=${CS_HOME} NOM_ARCH=${NOM_ARCH} OPT="VERS" >> ${compillog} 2>&1
# Execution (si un executable a ete cree
# sur hp, par exemple f90 +version n'en cree pas)
echo ' ' >> ${compillog}
if [ -f cs13.exe ] ; then
./cs13.exe >> ${compillog} 2>&1
else
echo ' Pas d executable test FORTRAN ' >> ${compillog}
fi
echo ' ' >> ${compillog}
# Retour au repertoire initial
cd ${dirbase}
# Menage
rm -rf ${dir_compiler_f_version}
# Version du compilateur C
echo ' ' >> ${compillog}
echo ' ====================================== '>> ${compillog}
echo ' ' >> ${compillog}
echo ' Compilateur C ' >> ${compillog}
echo ' ' >> ${compillog}
# Repertoire de travail temporaire
dir_compiler_c_version=dir_compiler_c_version
mkdir ${dir_compiler_c_version} || exit
cd ${dir_compiler_c_version} >> ${compillog} 2>&1
# Creation fichier C non vide
# - pour eviter que les compilateurs ne se plaignent
# - pour pouvoir executer en cas de pb
fooc=foo.c
echo ' int main()' >> ${fooc}
echo ' {' >> ${fooc}
echo ' printf("Programme test C execute avec succes");'>> ${fooc}
echo ' return 0;' >> ${fooc}
echo ' }' >> ${fooc}
# Compilation
ln -s ${CS_HOME}/bin/Makefile Makefile
make saturne CS_HOME=${CS_HOME} NOM_ARCH=${NOM_ARCH} OPT="VERS" >> ${compillog} 2>&1
# Execution
echo ' ' >> ${compillog}
if [ -f cs13.exe ] ; then
./cs13.exe >> ${compillog} 2>&1
echo ' ' >> ${compillog}
else
echo ' Pas d executable test C ' >> ${compillog}
fi
echo ' ' >> ${compillog}
# Retour au repertoire initial
cd ${dirbase}
# Menage
rm -rf ${dir_compiler_c_version}
echo ' ====================================== '>> ${compillog}
echo ' ' >> ${compillog}
syntax highlighted by Code2HTML, v. 0.9.1