diff -urN ncs-1.3.f.orig/bin/Makefile ncs-1.3.f/bin/Makefile --- ncs-1.3.f.orig/bin/Makefile Thu Mar 1 12:23:39 2007 +++ ncs-1.3.f/bin/Makefile Tue May 8 23:55:18 2007 @@ -186,7 +186,6 @@ link: @make privtitre - @make privconfig @make privcompil @make privlink @make privfin @@ -881,7 +880,7 @@ echo "$(BO)$(BLD_CS)/$(NOM_ARCH)/$${module}$(NO)" ;\ echo ;\ tput init ;\ - exit -1 ;\ + exit 1 ;\ fi ;\ fi ;\ else module="$(MYMODULE)" ;\ @@ -901,7 +900,7 @@ echo "$(BO)$(BLD_CS)/$(NOM_ARCH)/$${module}$(NO)" ;\ echo ;\ tput init ;\ - exit -1 ;\ + exit 1 ;\ fi ;\ fi ;\ fi ;\ @@ -914,7 +913,7 @@ echo "$(BO) Il faut être dans le repertoire général $(DIR_CS)$(NO)" ;\ echo ;\ tput init ;\ - exit -1 ;\ + exit 1 ;\ fi ;\ if [ ! "$${modtrav}" = "$${module}" ] ;\ then echo ;\ @@ -926,7 +925,7 @@ fi ;\ echo ;\ tput init ;\ - exit -1 ;\ + exit 1 ;\ fi ;\ if [ ! "$${opttrav}" = "$(MYOPT)" ] ;\ then echo ;\ @@ -940,7 +939,7 @@ fi ;\ echo ;\ tput init ;\ - exit -1 ;\ + exit 1 ;\ fi ;\ if [ "$${modtrav}" = "BASE" ] ;\ then INC_CS="toto" ;\ diff -urN ncs-1.3.f.orig/bin/SaturneGUI ncs-1.3.f/bin/SaturneGUI --- ncs-1.3.f.orig/bin/SaturneGUI Thu Mar 1 12:23:39 2007 +++ ncs-1.3.f/bin/SaturneGUI Tue May 8 23:55:20 2007 @@ -31,6 +31,6 @@ #============================================================================ # -/home/saturne/opt/python/arch/${NOM_ARCH}/bin/python NOMCSGUIHOME/ics.py $* +/usr/local/bin/python NOMCSGUIHOME/ics.py $* exit diff -urN ncs-1.3.f.orig/bin/compiler_version ncs-1.3.f/bin/compiler_version --- ncs-1.3.f.orig/bin/compiler_version Thu Mar 1 12:23:39 2007 +++ ncs-1.3.f/bin/compiler_version Tue May 8 23:55:18 2007 @@ -132,8 +132,8 @@ # sur hp, par exemple f90 +version n'en cree pas) echo ' ' >> ${compillog} - if [ -f cs12.exe ] ; then - ./cs12.exe >> ${compillog} 2>&1 + if [ -f cs13.exe ] ; then + ./cs13.exe >> ${compillog} 2>&1 else echo ' Pas d executable test FORTRAN ' >> ${compillog} fi @@ -181,8 +181,8 @@ # Execution echo ' ' >> ${compillog} - if [ -f cs12.exe ] ; then - ./cs12.exe >> ${compillog} 2>&1 + if [ -f cs13.exe ] ; then + ./cs13.exe >> ${compillog} 2>&1 echo ' ' >> ${compillog} else echo ' Pas d executable test C ' >> ${compillog} diff -urN ncs-1.3.f.orig/bin/cree_sat ncs-1.3.f/bin/cree_sat --- ncs-1.3.f.orig/bin/cree_sat Thu Mar 1 12:23:39 2007 +++ ncs-1.3.f/bin/cree_sat Tue May 8 23:55:18 2007 @@ -156,12 +156,12 @@ thch=THCH mkdir ${CAS}/DATA/$thch for var in dp_C3P dp_C3PSJ dp_ELE dp_FCP ; do - cp $CS_HOME/data/thch/$var $CAS/DATA/$thch/. + cp -f $CS_HOME/data/thch/$var $CAS/DATA/$thch/. done gui=SaturneGUI if [ "$IHM" = "ihm" ] ; then - cp $SCRIPT_HOME/$gui ${CAS}/DATA/. + cp -f $SCRIPT_HOME/$gui ${CAS}/DATA/. sed "s/NOMCSGUIHOME/$CSGUIHOMEBCKSLH/g" $CAS/DATA/$gui >cas.tmp mv -f cas.tmp $CAS/DATA/$gui chmod +x $CAS/DATA/$gui @@ -169,7 +169,7 @@ # recopie des src utilisateur et masquage des repertoires CVS users=USERS - cp -r $CS_HOME/users $CAS/FORT/$users + cp -Rf $CS_HOME/users $CAS/FORT/$users listedircvs=`find $CAS/FORT/$users -name CVS -print` for dir in $listedircvs ; do mv $dir `dirname ${dir}`/.CVS @@ -178,8 +178,8 @@ # sur cluster, le nom est limite a 15 caracteres NOMETCAS=`echo ${etude}${cas}|cut -c1-15` - cp $SCRIPT_HOME/lance $CAS/SCRIPTS - cp $SCRIPT_HOME/lance.help $CAS/SCRIPTS + cp -f $SCRIPT_HOME/lance $CAS/SCRIPTS + cp -f $SCRIPT_HOME/lance.help $CAS/SCRIPTS FICREPBASECASBKSLH=$CAS/SCRIPTS/.repbasecasbkslh echo $REPBASECAS | sed -e "s/\//\\\\\//g" > $FICREPBASECASBKSLH REPBASECASBCKSLH=`cat $FICREPBASECASBKSLH` diff -urN ncs-1.3.f.orig/bin/cs_profile ncs-1.3.f/bin/cs_profile --- ncs-1.3.f.orig/bin/cs_profile Thu Mar 1 12:23:39 2007 +++ ncs-1.3.f/bin/cs_profile Tue May 8 23:55:20 2007 @@ -48,18 +48,33 @@ if [ "$NOM_ARCH" = "OSF1" -o "$NOM_ARCH" = "Linux_CCRT" ] ; then PATHCS=/home/saturne/Saturne - elif [ "$NOM_ARCH" = "Blue_Gene_L" ] ; then + elif [ "$NOM_ARCH" = "FreeBSD" ] ; then + PATHCS=/usr/local/Saturne + elif [ "$NOM_ARCH" = "Blue_Gene_L" ] ; then PATHCS=/gpfs2/home/saturne else PATHCS=/home/saturne fi - CS_HOME=${PATHCS}/Noyau/ncs-1.3.f - ECS_HOME=${PATHCS}/Enveloppe/ecs-1.3.c - CSGUI_HOME=${PATHCS}/Interface/ics-1.1.l - SYRCS_HOME=${PATHCS}/opt/syr_cs-2.0.1 + if [ "$NOM_ARCH" = "FreeBSD" ] ; then + CS_HOME=${PATHCS}/Noyau/ncs + ECS_HOME=${PATHCS}/Enveloppe/ecs + CSGUI_HOME=${PATHCS}/Interface/ics + SYRCS_HOME=${PATHCS}/opt/syr_cs +# Variables specifiques a passer au Makefile FreeBSD par lance + LOCALBASE=/usr/local ; export LOCALBASE + FC=gfortran42 ; export FC + PTHREAD_LIBS=-pthread ; export PTHREAD_LIBS + else + CS_HOME=${PATHCS}/Noyau/ncs-1.3.f + ECS_HOME=${PATHCS}/Enveloppe/ecs-1.3.c + CSGUI_HOME=${PATHCS}/Interface/ics-1.1.l + SYRCS_HOME=${PATHCS}/opt/syr_cs-2.0.1 + fi # if [ "$NOM_ARCH" = "Linux" -a -d /home/prevalcs/HOMARD ] ; then CSHOMARD_HOME=/home/prevalcs/HOMARD + elif [ "$NOM_ARCH" = "FreeBSD" ] ; then + CSHOMARD_HOME=/usr/local/apps/homard else CSHOMARD_HOME= fi @@ -70,7 +85,7 @@ # Librairies pour l'interface if [ "$NOM_ARCH" = "OSF1" -o "$NOM_ARCH" = "Linux_CCRT" ] ; then LD_LIBRARY_PATH=.:/home/saturne/Saturne/opt/tcl8.3/arch/$NOM_ARCH/lib:/home/saturne/Saturne/opt/libxml2-2.6.19/arch/$NOM_ARCH/lib:$LD_LIBRARY_PATH - else + elif [ "$NOM_ARCH" != "FreeBSD" ] ; then LD_LIBRARY_PATH=.:/home/saturne/opt/tcl8.3/arch/$NOM_ARCH/lib:/home/saturne/opt/libxml2-2.6.19/arch/$NOM_ARCH/lib:$LD_LIBRARY_PATH fi @@ -83,6 +98,10 @@ CS_MPI_PATH=/home/saturne/opt/openmpi-1.1.1/arch/Linux/bin elif [ "$NOM_ARCH" = "Linux_Ch" ] ; then CS_MPI_PATH=/usr/local/mpichgm-1.2.6.14b-64b/bin + elif [ "$NOM_ARCH" = "FreeBSD" ] ; then + MPI_HOME=/usr/local/mpich2 ; export MPI_HOME + MPI_LIBS=-lmpich ; export MPI_LIBS + CS_MPI_PATH=${MPI_HOME}/bin else CS_MPI_PATH= fi diff -urN ncs-1.3.f.orig/bin/gracehst ncs-1.3.f/bin/gracehst --- ncs-1.3.f.orig/bin/gracehst Thu Mar 1 12:23:39 2007 +++ ncs-1.3.f/bin/gracehst Tue May 8 23:55:19 2007 @@ -1,4 +1,4 @@ -#!/bin/ksh +#! /bin/sh #============================================================================ # # Code_Saturne version 1.3 @@ -30,7 +30,7 @@ # #============================================================================ # -if [ "$1" = "-h" -o "$1" = "-h" -o "$1" = "-h" ] ; then +if [ "$1" = "-h" -o "$1" = "-help" -o "$#" = "0" ] ; then echo ' ' echo ' gracehst: appel de grace -nxy sur un fichier historique ' echo ' de Code_Saturne en eliminant la premiere colonne. ' diff -urN ncs-1.3.f.orig/bin/grp ncs-1.3.f/bin/grp --- ncs-1.3.f.orig/bin/grp Thu Mar 1 12:23:39 2007 +++ ncs-1.3.f/bin/grp Tue May 8 23:55:19 2007 @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/sh #============================================================================ # # Code_Saturne version 1.3 diff -urN ncs-1.3.f.orig/bin/macros_FreeBSD.mk ncs-1.3.f/bin/macros_FreeBSD.mk --- ncs-1.3.f.orig/bin/macros_FreeBSD.mk Thu Jan 1 01:00:00 1970 +++ ncs-1.3.f/bin/macros_FreeBSD.mk Tue May 8 23:55:19 2007 @@ -0,0 +1,210 @@ +# $FreeBSD$ +#============================================================================ +# +# 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 +# +#============================================================================ +# +# Macros du Makefile Code_Saturne pour FreeBSD +############################################## +# +# Macro pour BFT +#--------------- + +BFT_HOME =${LOCALBASE} + +BFT_INC =-I$(BFT_HOME)/include +BFT_LDFLAGS =-L$(BFT_HOME)/lib -lbft + +# Macro pour FVM +#--------------- + +FVM_HOME =${LOCALBASE} + +FVM_INC =-I$(FVM_HOME)/include +FVM_LDFLAGS =-L$(FVM_HOME)/lib -lfvm + +# Macro pour MPI +#--------------- + +# Option MPI +MPI =1 +MPE =0 +MPE_COMM =1 + +# Pour Open MPI sur saturne +MPI_INC =-I$(MPI_HOME)/include +MPI_LIB =-L$(MPI_HOME)/lib ${MPI_LIBS} $(PTHREAD_LIBS) + + +# Macro pour Sockets +#------------------- + +# Option Socket +SOCKET =1 +SOCKET_INC = +SOCKET_LIB = + +# Macro pour XML +#--------------- + +# Option XML +XML =1 + +XML_HOME =${LOCALBASE} + +XML_INC =-I$(XML_HOME)/include/libxml2 +XML_LIB =-L$(XML_HOME)/lib -lxml2 + + +# Macro pour BLAS +#---------------- + +# Option BLAS +BLAS =0 +BLAS_INC = +BLAS_LDFLAGS = + +# Preprocesseur +#-------------- + +PREPROC = +PREPROCFLAGS = + + +# Compilateur C natif +#-------------------- + +CCOMP = $(CC) + +CCOMPFLAGSDEF = -std=c99 -funsigned-char -pedantic -W -Wall -Wshadow \ + -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings \ + -Wstrict-prototypes -Wmissing-prototypes \ + -Wmissing-declarations -Wnested-externs -Wno-uninitialized + +CCOMPFLAGS = $(CCOMPFLAGSDEF) $(CFLAGS) -Wno-unused +CCOMPFLAGSOPTPART1 = $(CCOMPFLAGSDEF) $(CFLAGS) +CCOMPFLAGSOPTPART2 = $(CCOMPFLAGSDEF) $(CFLAGS) +CCOMPFLAGSOPTPART3 = $(CCOMPFLAGSDEF) $(CFLAGS) +CCOMPFLAGSLO = $(CCOMPFLAGSDEF) -O0 +CCOMPFLAGSDBG = $(CCOMPFLAGSDEF) -g +CCOMPFLAGSPROF = -pg +CCOMPFLAGSVERS = -v + + +# Compilateur FORTRAN +#-------------------- +# Profiling gprof : -pg -a + +FTNCOMP = $(FC) + +FTNCOMPFLAGSDEF = -I. + +FTNCOMPFLAGS = $(FTNCOMPFLAGSDEF) $(FFLAGS) +FTNCOMPFLAGSOPTPART1 = $(FTNCOMPFLAGSDEF) $(FFLAGS) +FTNCOMPFLAGSOPTPART2 = $(FTNCOMPFLAGSDEF) $(FFLAGS) +FTNCOMPFLAGSOPTPART3 = $(FTNCOMPFLAGSDEF) $(FFLAGS) +FTNCOMPFLAGSLO = $(FTNCOMPFLAGSDEF) $(FFLAGS) +FTNCOMPFLAGSDBG = $(FTNCOMPFLAGSDEF) -g +FTNCOMPFLAGSPROF = -pg +FTNCOMPFLAGSVERS = -v + + +# Linker +#------- + +# Linker + +LDEDL = $(FC) +LDEDLFLAGS = $(LDFLAGS) +LDEDLFLAGSLO = $(LDFLAGS) +LDEDLFLAGSDBG = -g +LDEDLFLAGSPROF = -pg +LDEDLFLAGSVERS = -v +LDEDLRPATH = -rdynamic -Wl,-rpath -Wl, + + +# Positionnement des variables pour le pre-processeur +#---------------------------------------------------- +# +# _POSIX_SOURCE : utilisation des fonctions standard POSIX + +VARDEF = -D_POSIX_SOURCE + + +# Librairies a "linker" +#---------------------- + +# Librairies de base toujours prises en compte + +LIBBASIC = $(BFT_LDFLAGS) $(FVM_LDFLAGS) -lm $(PTHREAD_LIBS) + +# Librairies en mode sans option + +LIBOPT = + +# Librairies en mode optimisation reduite + +LIBLO = + +# Librairies en mode DEBUG + +LIBDBG = + +# Librairie en mode ElectricFence (malloc debugger) + +LIBEF =-L${LOCALBASE}/lib -lefence + +# Liste eventuelle des fichiers a compiler avec des options particulieres +#------------------------------------------------------------------------ + +# Sous la forme : +# LISTE_OPT_PART = fic_1.c fic_2.c \ +# fic_3.F +# +# +# paquet 70% cpu promav gradrc gradco prodsc +# paquet 10% cpu jacobi prcpol bilsc2 ; +# prodsc est 4 fois plus rapide en O6 qu'en O2 +# bilsc2 plus rapide en O1 +# pour les autres, on privilegie l'O2, qui est suppose plus fiable +# mais fait perdre un peu de temps (2% de perte par rapport a +# gradco O3, gradrc jacobi prcpol promav O5) +# +# Pour les fortrans, les listes ci-dessous servent a differencier +# les options d'optimisation +# +# +# Temporairement, gradmc en O1 pour eviter un bug d'optim potentiel +# avec gcc 3.3.2 (resolu en 3.3.3) +# + +LISTE_OPT_PART1 = gradco.F gradrc.F jacobi.F prcpol.F promav.F +LISTE_OPT_PART2 = prodsc.F prods2.F prods3.F +LISTE_OPT_PART3 = gradmc.F +