2014-02-17 15:05:12 +00:00
|
|
|
#!/bin/bash
|
2010-05-12 13:27:55 +00:00
|
|
|
#----------------------------------*-sh-*--------------------------------------
|
|
|
|
# ========= |
|
2013-12-11 16:09:41 +00:00
|
|
|
# \\ / F ield | foam-extend: Open Source CFD
|
2015-05-17 13:32:07 +00:00
|
|
|
# \\ / O peration | Version: 3.2
|
|
|
|
# \\ / A nd | Web: http://www.foam-extend.org
|
|
|
|
# \\/ M anipulation | For copyright notice see file Copyright
|
2010-05-12 13:27:55 +00:00
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# License
|
2013-12-11 16:09:41 +00:00
|
|
|
# This file is part of foam-extend.
|
2010-05-12 13:27:55 +00:00
|
|
|
#
|
2013-12-11 16:09:41 +00:00
|
|
|
# foam-extend is free software: you can redistribute it and/or modify it
|
2010-05-12 13:27:55 +00:00
|
|
|
# under the terms of the GNU General Public License as published by the
|
2013-12-11 16:09:41 +00:00
|
|
|
# Free Software Foundation, either version 3 of the License, or (at your
|
2010-05-12 13:27:55 +00:00
|
|
|
# option) any later version.
|
|
|
|
#
|
2013-12-11 16:09:41 +00:00
|
|
|
# foam-extend 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.
|
2010-05-12 13:27:55 +00:00
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
2013-12-11 16:09:41 +00:00
|
|
|
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
2010-05-12 13:27:55 +00:00
|
|
|
#
|
|
|
|
# Script
|
|
|
|
# etc/bashrc
|
|
|
|
#
|
|
|
|
# Description
|
2015-04-23 12:51:07 +00:00
|
|
|
# Startup file for FOAM
|
2010-05-12 13:27:55 +00:00
|
|
|
# Sourced from ~/.profile or ~/.bashrc
|
|
|
|
# Should be usable by any POSIX-compliant shell (eg, ksh)
|
|
|
|
#
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
|
2013-12-11 16:09:41 +00:00
|
|
|
export WM_PROJECT=foam
|
|
|
|
export WM_FORK=extend
|
2015-08-11 16:22:40 +00:00
|
|
|
export WM_PROJECT_VERSION=3.2
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
# helps to easily write #ifdefs to detect a dev-version
|
|
|
|
export FOAM_DEV=1
|
|
|
|
|
2010-08-30 17:57:22 +00:00
|
|
|
###############################################################################
|
2010-05-17 13:51:21 +00:00
|
|
|
# USER EDITABLE PART
|
|
|
|
#
|
|
|
|
# either set $FOAM_INST_DIR before sourcing this file or set
|
2015-04-23 12:51:07 +00:00
|
|
|
# $foamInstall below to where FOAM is installed
|
2010-05-12 13:27:55 +00:00
|
|
|
#
|
|
|
|
# Location of FOAM installation
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
foamInstall=$HOME/$WM_PROJECT
|
|
|
|
# foamInstall=~$WM_PROJECT
|
|
|
|
# foamInstall=/usr/local/$WM_PROJECT
|
|
|
|
# foamInstall=/opt/$WM_PROJECT
|
2010-11-29 16:14:51 +00:00
|
|
|
# foamInstall=/usr/lib
|
2010-05-17 13:51:21 +00:00
|
|
|
#
|
|
|
|
# END OF (NORMAL) USER EDITABLE PART
|
|
|
|
################################################################################
|
2010-05-12 13:27:55 +00:00
|
|
|
|
2015-08-04 12:39:06 +00:00
|
|
|
# Set $USER if it has not been set (eg. on Windows/MSYS systems)
|
|
|
|
if [ -z $USER ]
|
|
|
|
then
|
|
|
|
export USER=`whoami`
|
|
|
|
fi
|
|
|
|
|
2010-05-17 13:51:21 +00:00
|
|
|
# note the location for later use (eg, in job scripts)
|
2010-05-12 13:27:55 +00:00
|
|
|
: ${FOAM_INST_DIR:=$foamInstall}; export FOAM_INST_DIR
|
|
|
|
|
2010-05-17 13:51:21 +00:00
|
|
|
# The old dirs to be cleaned from the various environment variables
|
|
|
|
# - remove anything under top-level directory.
|
|
|
|
# NB: the WM_PROJECT_INST_DIR might not be identical between versions
|
|
|
|
foamOldDirs="$FOAM_INST_DIR $HOME/$WM_PROJECT/$USER"
|
|
|
|
if [ "$WM_PROJECT_INST_DIR" != "$FOAM_INST_DIR" ]
|
|
|
|
then
|
|
|
|
foamOldDirs="$WM_PROJECT_INST_DIR $foamOldDirs"
|
|
|
|
fi
|
|
|
|
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
# Location of site/user files
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
export WM_PROJECT_INST_DIR=$FOAM_INST_DIR
|
2013-12-11 16:09:41 +00:00
|
|
|
export WM_PROJECT_DIR=$WM_PROJECT_INST_DIR/$WM_PROJECT-$WM_FORK-$WM_PROJECT_VERSION
|
2013-09-16 14:07:47 +00:00
|
|
|
export WM_PROJECT_USER_DIR=$HOME/$WM_PROJECT/$USER-$WM_PROJECT_VERSION
|
|
|
|
|
|
|
|
# Location of third-party software
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
#: ${WM_THIRD_PARTY_DIR=$WM_PROJECT_INST_DIR/ThirdParty-$WM_PROJECT_VERSION}; export WM_THIRD_PARTY_DIR
|
|
|
|
export WM_THIRD_PARTY_DIR=$WM_PROJECT_DIR/ThirdParty
|
2010-05-12 13:27:55 +00:00
|
|
|
|
2015-05-15 12:48:09 +00:00
|
|
|
# Enabling the usage of third-party software
|
|
|
|
# This can be overriden in prefs.sh
|
2015-05-26 04:59:43 +00:00
|
|
|
# Use 'set' and 'unset' to adjust for your environent
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2015-05-15 12:48:09 +00:00
|
|
|
# For AllMake.stage1
|
2015-05-17 03:19:40 +00:00
|
|
|
export WM_THIRD_PARTY_USE_CMAKE_322=1
|
2015-05-15 12:48:09 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# For AllMake.stage2
|
2015-08-06 11:32:26 +00:00
|
|
|
export WM_THIRD_PARTY_USE_OPENMPI_165=1
|
2015-05-15 12:48:09 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# For AllMake.stage3
|
|
|
|
export WM_THIRD_PARTY_USE_METIS_510=1
|
|
|
|
export WM_THIRD_PARTY_USE_PARMGRIDGEN_10=1
|
|
|
|
export WM_THIRD_PARTY_USE_LIBCCMIO_261=1
|
|
|
|
export WM_THIRD_PARTY_USE_MESQUITE_212=1
|
2015-05-17 11:44:34 +00:00
|
|
|
export WM_THIRD_PARTY_USE_SCOTCH_604=1
|
2015-05-15 12:48:09 +00:00
|
|
|
export WM_THIRD_PARTY_USE_PARMETIS_403=1
|
|
|
|
export WM_THIRD_PARTY_USE_PYFOAM_064=1
|
2015-05-17 11:44:34 +00:00
|
|
|
export WM_THIRD_PARTY_USE_HWLOC_1101=1
|
2015-05-15 12:48:09 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# For AllMake.stage4
|
2015-05-26 04:59:43 +00:00
|
|
|
#export WM_THIRD_PARTY_USE_QT_486=1
|
2015-06-12 12:17:22 +00:00
|
|
|
export WM_THIRD_PARTY_USE_PARAVIEW_431=1
|
2015-05-15 12:48:09 +00:00
|
|
|
|
|
|
|
|
2010-10-04 12:13:26 +00:00
|
|
|
# Source files, possibly with some verbosity
|
|
|
|
_foamSource()
|
|
|
|
{
|
|
|
|
while [ $# -ge 1 ]
|
|
|
|
do
|
2013-08-30 07:42:26 +00:00
|
|
|
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "Sourcing: $1" 1>&2
|
2010-10-04 12:13:26 +00:00
|
|
|
. $1
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
# Add in preset user or site preferences:
|
2015-08-05 11:57:56 +00:00
|
|
|
if [ "$WM_OSTYPE" == "MSWindows" ]
|
|
|
|
then
|
|
|
|
_foamSource $WM_PROJECT_DIR/etc/prefs.sh.mingw
|
|
|
|
elif [ -e $WM_PROJECT_DIR/etc/prefs.sh ]
|
2013-12-11 16:09:41 +00:00
|
|
|
then
|
|
|
|
_foamSource $WM_PROJECT_DIR/etc/prefs.sh
|
|
|
|
else
|
|
|
|
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "No prefs.sh found"
|
|
|
|
fi
|
|
|
|
|
2010-10-04 12:13:26 +00:00
|
|
|
|
|
|
|
# Evaluate command-line parameters
|
|
|
|
while [ $# -gt 0 ]
|
|
|
|
do
|
|
|
|
case "$1" in
|
|
|
|
*=)
|
|
|
|
# name= -> unset name
|
|
|
|
eval "unset ${1%=}"
|
|
|
|
;;
|
|
|
|
*=*)
|
|
|
|
# name=value -> export name=value
|
|
|
|
eval "export $1"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
2010-05-12 13:27:55 +00:00
|
|
|
|
2010-05-17 13:51:21 +00:00
|
|
|
# Operating System/Platform
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
# WM_OSTYPE = POSIX | ????
|
|
|
|
: ${WM_OSTYPE:=POSIX}; export WM_OSTYPE
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
|
2013-11-04 14:10:04 +00:00
|
|
|
# Compiler: set to Gcc or Icc (for Intel's icc)
|
2010-05-12 13:27:55 +00:00
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
: ${WM_COMPILER:=Gcc}; export WM_COMPILER
|
2013-11-29 17:21:10 +00:00
|
|
|
#: ${WM_COMPILER:=Icc}; export WM_COMPILER
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
export WM_COMPILER_ARCH=
|
|
|
|
export WM_COMPILER_LIB_ARCH=
|
|
|
|
|
|
|
|
|
|
|
|
# Compilation options (architecture, precision, optimised, debug or profiling)
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
# WM_ARCH_OPTION = 32 | 64
|
|
|
|
: ${WM_ARCH_OPTION:=64}; export WM_ARCH_OPTION
|
|
|
|
|
2015-05-01 12:21:04 +00:00
|
|
|
# WM_PRECISION_OPTION = LDP | DP | SP
|
2010-05-12 13:27:55 +00:00
|
|
|
: ${WM_PRECISION_OPTION:=DP}; export WM_PRECISION_OPTION
|
|
|
|
|
|
|
|
# WM_COMPILE_OPTION = Opt | Debug | Prof
|
|
|
|
: ${WM_COMPILE_OPTION:=Opt}; export WM_COMPILE_OPTION
|
|
|
|
|
2014-04-30 09:35:07 +00:00
|
|
|
# WM_MPLIB = SYSTEMOPENMPI | OPENMPI | MPICH | MPICH-GM | HPMPI | GAMMA | MPI | QSMPI | MVAPICH2
|
2010-05-12 13:27:55 +00:00
|
|
|
: ${WM_MPLIB:=OPENMPI}; export WM_MPLIB
|
|
|
|
|
2013-07-05 16:15:23 +00:00
|
|
|
# WM_NCOMPPROCS = <number of processes to use>
|
2013-07-11 17:47:31 +00:00
|
|
|
# Warning: Need to use a complete path for foamGetSystemInfo because the PATH
|
|
|
|
# environment variable is not properly initialized yet.
|
|
|
|
: ${WM_NCOMPPROCS:=`$WM_PROJECT_DIR/bin/foamGetSystemInfo -nbrCores`}; export WM_NCOMPPROCS
|
2013-07-05 16:15:23 +00:00
|
|
|
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
# Run options (floating-point signal handling and memory initialisation)
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
export FOAM_SIGFPE=
|
|
|
|
# export FOAM_SETNAN=
|
|
|
|
|
|
|
|
|
|
|
|
# Detect system type and set environment variables appropriately
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
export WM_ARCH=`uname -s`
|
|
|
|
|
|
|
|
case $WM_ARCH in
|
2015-08-04 12:39:06 +00:00
|
|
|
MINGW32_NT-6.1)
|
2015-08-27 16:01:16 +00:00
|
|
|
WM_ARCH=mingw
|
2015-08-04 12:39:06 +00:00
|
|
|
export WM_ARCH_BASE=mingw
|
|
|
|
export WM_COMPILER_LIB_ARCH=64
|
|
|
|
export WM_CFLAGS='-m64 -fPIC'
|
|
|
|
export WM_CXXFLAGS='-m64 -fPIC'
|
|
|
|
export WM_LDFLAGS='-m64'
|
|
|
|
;;
|
|
|
|
|
2015-08-07 09:46:56 +00:00
|
|
|
MINGW32_NT-6.2)
|
2015-08-27 16:01:16 +00:00
|
|
|
WM_ARCH=mingw
|
2015-08-07 09:46:56 +00:00
|
|
|
export WM_ARCH_BASE=mingw
|
|
|
|
export WM_COMPILER_LIB_ARCH=64
|
|
|
|
export WM_CFLAGS='-m64 -fPIC'
|
|
|
|
export WM_CXXFLAGS='-m64 -fPIC'
|
|
|
|
export WM_LDFLAGS='-m64'
|
|
|
|
;;
|
|
|
|
|
2010-05-12 13:27:55 +00:00
|
|
|
Linux)
|
|
|
|
WM_ARCH=linux
|
|
|
|
|
|
|
|
# compiler specifics
|
|
|
|
case `uname -m` in
|
|
|
|
i686)
|
|
|
|
;;
|
|
|
|
|
|
|
|
x86_64)
|
|
|
|
case $WM_ARCH_OPTION in
|
|
|
|
32)
|
|
|
|
export WM_COMPILER_ARCH='-64'
|
|
|
|
export WM_CFLAGS='-m32 -fPIC'
|
|
|
|
export WM_CXXFLAGS='-m32 -fPIC'
|
|
|
|
export WM_LDFLAGS='-m32'
|
|
|
|
;;
|
|
|
|
64)
|
|
|
|
WM_ARCH=linux64
|
|
|
|
export WM_COMPILER_LIB_ARCH=64
|
|
|
|
export WM_CFLAGS='-m64 -fPIC'
|
|
|
|
export WM_CXXFLAGS='-m64 -fPIC'
|
|
|
|
export WM_LDFLAGS='-m64'
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo Unknown WM_ARCH_OPTION $WM_ARCH_OPTION, should be 32 or 64
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
|
|
|
|
ia64)
|
|
|
|
WM_ARCH=linuxIA64
|
|
|
|
export WM_COMPILER=I64
|
|
|
|
;;
|
|
|
|
|
|
|
|
mips64)
|
|
|
|
WM_ARCH=SiCortex64
|
|
|
|
export WM_COMPILER_LIB_ARCH=64
|
|
|
|
export WM_CFLAGS='-mabi=64 -fPIC'
|
|
|
|
export WM_CXXFLAGS='-mabi=64 -fPIC'
|
|
|
|
export WM_LDFLAGS='-mabi=64 -G0'
|
|
|
|
export WM_MPLIB=MPI
|
|
|
|
;;
|
|
|
|
|
|
|
|
ppc64)
|
|
|
|
WM_ARCH=linuxPPC64
|
|
|
|
export WM_COMPILER_LIB_ARCH=64
|
|
|
|
export WM_CFLAGS='-m64 -fPIC'
|
|
|
|
export WM_CXXFLAGS='-m64 -fPIC'
|
|
|
|
export WM_LDFLAGS='-m64'
|
|
|
|
;;
|
|
|
|
|
|
|
|
*)
|
|
|
|
echo Unknown processor type `uname -m` for Linux
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
|
|
|
|
Darwin)
|
2010-10-02 20:30:55 +00:00
|
|
|
# this makes certain things easier
|
|
|
|
export WM_ARCH_BASE=darwin
|
|
|
|
|
2010-05-12 13:27:55 +00:00
|
|
|
case `uname -p` in
|
|
|
|
powerpc)
|
2013-07-18 01:43:15 +00:00
|
|
|
export WM_ARCH=darwinPpc
|
|
|
|
;;
|
2010-05-12 13:27:55 +00:00
|
|
|
i386)
|
2013-07-18 01:43:15 +00:00
|
|
|
export WM_ARCH=darwinIntel
|
|
|
|
;;
|
2010-05-12 13:27:55 +00:00
|
|
|
*)
|
2010-10-05 22:18:13 +00:00
|
|
|
echo "This seems to be neither an Intel-Mac nor a PPC-Mac please tell me the output of 'uname -p'. Bernhard."
|
2013-07-18 01:43:15 +00:00
|
|
|
export WM_ARCH=darwinUnknown
|
|
|
|
;;
|
2010-05-12 13:27:55 +00:00
|
|
|
esac
|
2013-07-05 15:15:35 +00:00
|
|
|
|
2010-10-02 20:30:55 +00:00
|
|
|
case $WM_ARCH_OPTION in
|
|
|
|
32)
|
2013-07-18 01:43:15 +00:00
|
|
|
export WM_CFLAGS='-m32 -fPIC'
|
|
|
|
export WM_CXXFLAGS='-m32 -fPIC'
|
|
|
|
export WM_LDFLAGS='-m32'
|
|
|
|
;;
|
2010-10-02 20:30:55 +00:00
|
|
|
64)
|
|
|
|
export WM_ARCH=${WM_ARCH}64
|
2013-07-18 01:43:15 +00:00
|
|
|
export WM_CFLAGS='-m64 -fPIC'
|
|
|
|
export WM_CXXFLAGS='-m64 -fPIC'
|
|
|
|
export WM_LDFLAGS='-m64'
|
|
|
|
;;
|
2010-10-02 20:30:55 +00:00
|
|
|
*)
|
2013-07-18 01:43:15 +00:00
|
|
|
echo Unknown WM_ARCH_OPTION $WM_ARCH_OPTION, should be 32 or 64
|
|
|
|
;;
|
2010-10-02 20:30:55 +00:00
|
|
|
esac
|
|
|
|
|
2015-05-17 00:39:14 +00:00
|
|
|
# Using MacPorts
|
|
|
|
: ${MACOSX_MACPORTS_ROOT:='/opt/local/etc/macports'}; export MACOSX_MACPORTS_ROOT
|
2013-07-11 22:58:42 +00:00
|
|
|
which -s port >/dev/null
|
2015-05-17 00:39:14 +00:00
|
|
|
if [ $? -eq "0" ] && [ -d "$MACOSX_MACPORTS_ROOT" ]
|
2011-05-22 20:43:46 +00:00
|
|
|
then
|
2015-05-15 18:07:49 +00:00
|
|
|
if [ "$FOAM_VERBOSE" -a "$PS1" ]
|
|
|
|
then
|
|
|
|
echo "Using Macports binaries"
|
|
|
|
fi
|
|
|
|
|
|
|
|
export WM_USE_MACPORT=1
|
|
|
|
export WM_BASE_COMPILER=`echo $WM_COMPILER | tr -d "[:digit:]"`
|
|
|
|
export WM_MACPORT_MPI_VERSION=`echo $WM_COMPILER | tr "[:upper:]" "[:lower:]"`
|
|
|
|
export WM_MACPORT_VERSION=`echo $WM_MACPORT_MPI_VERSION | tr -d "[:alpha:]" | sed -e "s/\(.\)\(.\)/\1\.\2/"`
|
|
|
|
|
|
|
|
if [ -z "$WM_CHOSEN_MAC_MPI" ]
|
|
|
|
then
|
|
|
|
if [ -e '/opt/local/bin/mpicc' ]
|
|
|
|
then
|
|
|
|
readlink /opt/local/bin/mpicc | grep openmpi >/dev/null
|
|
|
|
if [ $? -eq "0" ]
|
|
|
|
then
|
|
|
|
export WM_MPLIB=MACPORTOPENMPI
|
|
|
|
if [ "$FOAM_VERBOSE" -a "$PS1" ]
|
|
|
|
then
|
|
|
|
echo "Using OpenMPI from MacPorts"
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
readlink /opt/local/bin/mpicc | grep mpich >/dev/null
|
|
|
|
if [ $? -eq "0" ]
|
|
|
|
then
|
|
|
|
export WM_MPLIB=MACPORTMPICH
|
|
|
|
if [ "$FOAM_VERBOSE" -a "$PS1" ]
|
|
|
|
then
|
|
|
|
echo "Using MPICH from MacPorts"
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "/opt/local/bin/mpicc neither OpenMPI nor MPICH. Confused. Defaulting to OPENMPI"
|
|
|
|
export WM_MPLIB=OPENMPI
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
export WM_MPLIB=$WM_CHOSEN_MAC_MPI
|
|
|
|
if [ "$FOAM_VERBOSE" -a "$PS1" ]
|
|
|
|
then
|
|
|
|
echo "User chose WM_CHOSEN_MAC_MPI=$WM_CHOSEN_MAC_MPI"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$WM_MPLIB" == "MACPORTOPENMPI" ]
|
|
|
|
then
|
|
|
|
if [ ! -e "/opt/local/lib/openmpi-$WM_MACPORT_MPI_VERSION" ]
|
|
|
|
then
|
|
|
|
export WM_MACPORT_MPI_VERSION=mp
|
|
|
|
if [ ! -e "/opt/local/lib/openmpi-$WM_MACPORT_MPI_VERSION" ]
|
|
|
|
then
|
|
|
|
echo "Proper OpenMPI not installed. Either do 'port install openmpi-$WM_MACPORT_MPI_VERSION' or 'port install openmpi-default'"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
if [ "$WM_MPLIB" == "MACPORTMPICH" ]
|
|
|
|
then
|
|
|
|
if [ ! -e "/opt/local/lib/mpich-$WM_MACPORT_MPI_VERSION" ]
|
|
|
|
then
|
|
|
|
echo "MPICH wants the same version as the used compiler. Do 'port install mpich-$WM_MACPORT_MPI_VERSION'"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$WM_COMPILER" != "Gcc" ]
|
|
|
|
then
|
|
|
|
if [ "$WM_BASE_COMPILER" == "Gcc" ]
|
|
|
|
then
|
|
|
|
export WM_CC="gcc-mp-$WM_MACPORT_VERSION"
|
|
|
|
export WM_CXX="g++-mp-$WM_MACPORT_VERSION"
|
|
|
|
export WM_FC="gfortran-mp-$WM_MACPORT_VERSION"
|
|
|
|
elif [ "$WM_BASE_COMPILER" == "Clang" ]
|
|
|
|
then
|
|
|
|
export WM_CC="clang-mp-$WM_MACPORT_VERSION"
|
|
|
|
export WM_CXX="clang++-mp-$WM_MACPORT_VERSION"
|
|
|
|
# Seems like there is no Fortran-frontend for LLVM at thistime
|
|
|
|
elif [ "$WM_BASE_COMPILER" == "Dragonegg" ]
|
|
|
|
then
|
|
|
|
export WM_CC="dragonegg-$WM_MACPORT_VERSION-gcc"
|
|
|
|
export WM_CXX="dragonegg-$WM_MACPORT_VERSION-g++"
|
|
|
|
export WM_CXX="dragonegg-$WM_MACPORT_VERSION-gfortran"
|
|
|
|
else
|
|
|
|
echo "Unknown base compiler $WM_BASE_COMPILER"
|
|
|
|
fi
|
|
|
|
|
|
|
|
ruleDirBase=$WM_PROJECT_DIR/wmake/rules/$WM_ARCH
|
|
|
|
ruleDirTarget=$ruleDirBase$WM_BASE_COMPILER
|
|
|
|
ruleDir=$ruleDirBase$WM_COMPILER
|
|
|
|
if [ ! -e $ruleDir ]
|
|
|
|
then
|
|
|
|
echo "Rule directory $ruleDir not existing. Linking to $ruleDirTarget"
|
|
|
|
ln -s $ruleDirTarget $ruleDir
|
|
|
|
fi
|
|
|
|
unset ruleDir ruleDirBase
|
|
|
|
fi
|
2014-02-20 18:23:16 +00:00
|
|
|
else
|
2015-05-17 00:39:14 +00:00
|
|
|
echo "Warning: You are not using MacPorts. Make sure your compilation and MPI environment is correctly initialized"
|
2013-07-11 22:58:42 +00:00
|
|
|
fi
|
2014-02-20 18:23:16 +00:00
|
|
|
|
|
|
|
# Make sure that binaries use the best features of the used OS-Version
|
|
|
|
# We need to get rid of the revision number from this string. eg turn "10.7.5" into "10.7"
|
|
|
|
# v=(`sw_vers -productVersion | sed 's/\./ /g'`)
|
|
|
|
# export MACOSX_DEPLOYMENT_TARGET="${v[1]}.${v[2]}"
|
|
|
|
export MACOSX_DEPLOYMENT_TARGET=`sw_vers -productVersion | sed -e "s/\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)/\1.\2/g"`
|
2010-05-12 13:27:55 +00:00
|
|
|
;;
|
|
|
|
|
|
|
|
SunOS)
|
|
|
|
WM_ARCH=SunOS64
|
|
|
|
export WM_COMPILER_LIB_ARCH=64
|
|
|
|
export WM_CFLAGS='-mabi=64 -fPIC'
|
|
|
|
export WM_CXXFLAGS='-mabi=64 -fPIC'
|
|
|
|
export WM_LDFLAGS='-mabi=64 -G0'
|
|
|
|
export WM_MPLIB=FJMPI
|
|
|
|
;;
|
|
|
|
|
2013-07-18 01:43:15 +00:00
|
|
|
*) # an unsupported operating system
|
2010-05-12 13:27:55 +00:00
|
|
|
cat <<USAGE
|
|
|
|
|
|
|
|
Your "$WM_ARCH" operating system is not supported by this release
|
2015-04-23 12:51:07 +00:00
|
|
|
of foam-extend. For further assistance, please contact www.foam-extend.org
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
USAGE
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
2010-05-17 13:51:21 +00:00
|
|
|
# Clean standard environment variables (PATH, LD_LIBRARY_PATH, MANPATH)
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2010-05-12 13:27:55 +00:00
|
|
|
cleanProg=$WM_PROJECT_DIR/bin/foamCleanPath
|
|
|
|
|
2010-05-17 13:51:21 +00:00
|
|
|
#- Clean PATH
|
|
|
|
cleanEnv=`$cleanProg "$PATH" "$foamOldDirs"` && PATH="$cleanEnv"
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
#- Clean LD_LIBRARY_PATH
|
2010-05-17 13:51:21 +00:00
|
|
|
cleanEnv=`$cleanProg "$LD_LIBRARY_PATH" "$foamOldDirs"` && LD_LIBRARY_PATH="$cleanEnv"
|
2010-05-12 13:27:55 +00:00
|
|
|
|
2010-10-02 20:30:55 +00:00
|
|
|
#- Clean DYLD_LIBRARY_PATH
|
2013-07-05 02:08:36 +00:00
|
|
|
if [[ "$WM_ARCH_BASE" == "darwin" ]]
|
2010-10-02 20:30:55 +00:00
|
|
|
then
|
|
|
|
cleanEnv=`$cleanProg "$DYLD_LIBRARY_PATH" "$foamOldDirs"` && DYLD_LIBRARY_PATH="$cleanEnv"
|
|
|
|
fi
|
|
|
|
|
2010-05-12 13:27:55 +00:00
|
|
|
#- Clean MANPATH
|
2010-05-17 13:51:21 +00:00
|
|
|
cleanEnv=`$cleanProg "$MANPATH" "$foamCleanDirs"` && MANPATH="$cleanEnv"
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
export PATH LD_LIBRARY_PATH MANPATH
|
|
|
|
|
|
|
|
# Source project setup files
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
_foamSource $WM_PROJECT_DIR/etc/settings.sh
|
2011-01-31 12:21:32 +00:00
|
|
|
_foamSource $WM_PROJECT_DIR/etc/aliases.sh
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Source user setup files for optional packages
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
# _foamSource $WM_PROJECT_DIR/etc/apps/paraview/bashrc
|
2010-11-24 05:49:05 +00:00
|
|
|
# _foamSource $WM_PROJECT_DIR/etc/apps/paraview3/bashrc
|
2010-11-29 16:14:51 +00:00
|
|
|
# _foamSource $WM_PROJECT_DIR/etc/apps/ensight/bashrc
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
|
2010-05-17 13:51:21 +00:00
|
|
|
# Clean environment paths again. Only remove duplicates
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
#- Clean PATH
|
|
|
|
cleanEnv=`$cleanProg "$PATH"` && PATH="$cleanEnv"
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
#- Clean LD_LIBRARY_PATH
|
2010-05-17 13:51:21 +00:00
|
|
|
cleanEnv=`$cleanProg "$LD_LIBRARY_PATH"` && LD_LIBRARY_PATH="$cleanEnv"
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
#- Clean MANPATH
|
2010-05-17 13:51:21 +00:00
|
|
|
cleanEnv=`$cleanProg "$MANPATH"` && MANPATH="$cleanEnv:"
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
export PATH LD_LIBRARY_PATH MANPATH
|
|
|
|
|
|
|
|
#- Clean LD_PRELOAD
|
2010-05-17 13:51:21 +00:00
|
|
|
if [ "$LD_PRELOAD" != "" ]
|
|
|
|
then
|
|
|
|
cleanEnv=`$cleanProg "$LD_PRELOAD"` && LD_PRELOAD="$cleanEnv"
|
2010-05-12 13:27:55 +00:00
|
|
|
export LD_PRELOAD
|
|
|
|
fi
|
|
|
|
|
2014-06-13 14:35:38 +00:00
|
|
|
# temporarily disabled. HJ, 13/Jun/2014
|
|
|
|
# if [[ `uname -s` == "Darwin" ]]
|
|
|
|
# then
|
|
|
|
# if [[ `ulimit -n` == "unlimited" || `ulimit -n` < 8192 ]]
|
|
|
|
# then
|
2015-05-15 18:07:49 +00:00
|
|
|
# # higher limit needed for wmkdeps
|
|
|
|
# ulimit -n 8192
|
2014-06-13 14:35:38 +00:00
|
|
|
# fi
|
|
|
|
# fi
|
2010-05-12 13:27:55 +00:00
|
|
|
|
|
|
|
# cleanup environment:
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~
|
2010-05-17 13:51:21 +00:00
|
|
|
unset cleanEnv cleanProg foamInstall foamOldDirs
|
2010-05-12 13:27:55 +00:00
|
|
|
unset _foamSource
|
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|