BACKPORT: spack configuration patches (as per OpenFOAM-v1706)
etc/bashrc - improved robustness when sourcing - source top-level prefs.sh first (for sysadmin changes) etc/config.*/settings - write job control information to the user directory - site/ directory under the OpenFOAM project dir, not its parent dir etc/config.*/mpi - added USERMPI as place for spack mpi information mgridgen, zoltan: - make location configurable metis, scotch: - also check lib path (not just lib64)
This commit is contained in:
parent
ead4b73064
commit
5bb5b3adfa
@ -4,20 +4,35 @@ cd ${0%/*} || exit 1 # Run from this directory
|
||||
# Parse arguments for compilation (at least for error catching)
|
||||
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
||||
|
||||
export COMPILE_FLAGS=''
|
||||
export LINK_FLAGS=''
|
||||
unset COMP_FLAGS LINK_FLAGS
|
||||
|
||||
if [ -f "${FOAM_LIBBIN}/libSloanRenumber.so" ]
|
||||
then
|
||||
echo "Found libSloanRenumber.so -- enabling Sloan renumbering support."
|
||||
echo " found libSloanRenumber -- enabling sloan renumbering support."
|
||||
export LINK_FLAGS="${LINK_FLAGS} -lSloanRenumber"
|
||||
fi
|
||||
|
||||
if [ -f "${ZOLTAN_ARCH_PATH}/lib/libzoltan.a" -a -f "${FOAM_LIBBIN}/libzoltanRenumber.so" ]
|
||||
if [ -f "${FOAM_LIBBIN}/libzoltanRenumber.so" ]
|
||||
then
|
||||
echo "Found libzoltanRenumber.so -- enabling zoltan renumbering support."
|
||||
export COMPILE_FLAGS="-DFOAM_USE_ZOLTAN"
|
||||
export LINK_FLAGS="${LINK_FLAGS} -lzoltanRenumber -L${ZOLTAN_ARCH_PATH}/lib -lzoltan"
|
||||
if [ -z "$ZOLTAN_ARCH_PATH" ]
|
||||
then
|
||||
# Optional: get ZOLTAN_ARCH_PATH
|
||||
if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/zoltan)
|
||||
then
|
||||
. $settings
|
||||
fi
|
||||
fi
|
||||
|
||||
for libdir in lib "lib${WM_COMPILER_LIB_ARCH}"
|
||||
do
|
||||
if [ -f "$ZOLTAN_ARCH_PATH/$libdir/libzoltan.a" ]
|
||||
then
|
||||
echo " found libzoltanRenumber -- enabling zoltan renumbering support."
|
||||
export COMP_FLAGS="-DFOAM_USE_ZOLTAN"
|
||||
export LINK_FLAGS="${LINK_FLAGS} -lzoltanRenumber -L$ZOLTAN_ARCH_PATH/$libdir -lzoltan"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
wmake $targetType
|
||||
|
@ -42,7 +42,8 @@ export WM_PROJECT_VERSION=plus
|
||||
#
|
||||
# Please set to the appropriate path if the default is not correct.
|
||||
#
|
||||
[ $BASH_SOURCE ] && FOAM_INST_DIR=$(\cd ${BASH_SOURCE%/*/*/*} && \pwd -P) || \
|
||||
rc="${BASH_SOURCE:-${ZSH_NAME:+$0}}"
|
||||
[ -n "$rc" ] && FOAM_INST_DIR=$(\cd $(dirname $rc)/../.. && \pwd -L) || \
|
||||
FOAM_INST_DIR=$HOME/$WM_PROJECT
|
||||
# FOAM_INST_DIR=~$WM_PROJECT
|
||||
# FOAM_INST_DIR=/opt/$WM_PROJECT
|
||||
@ -135,8 +136,10 @@ export WM_PROJECT_USER_DIR=$HOME/$WM_PROJECT/$USER-$WM_PROJECT_VERSION
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
. $WM_PROJECT_DIR/etc/config.sh/functions
|
||||
|
||||
# Add in preset user or site preferences:
|
||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile prefs.sh`
|
||||
# Override definitions via prefs, with 'other' first so the sys-admin
|
||||
# can provide base values independent of WM_PROJECT_SITE
|
||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile -mode o prefs.sh`
|
||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile -mode ug prefs.sh`
|
||||
|
||||
# Evaluate command-line parameters and record settings for later
|
||||
# these can be used to set/unset values, or specify alternative pref files
|
||||
|
@ -71,8 +71,15 @@ case OPENMPI:
|
||||
_foamAddMan $MPI_ARCH_PATH/share/man
|
||||
breaksw
|
||||
|
||||
case USERMPI:
|
||||
# Use an arbitrary, user-specified mpi implementation
|
||||
setenv FOAM_MPI mpi-user
|
||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/mpi-user`
|
||||
breaksw
|
||||
|
||||
case SYSTEMMPI:
|
||||
setenv FOAM_MPI mpi-system
|
||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/mpi-system`
|
||||
|
||||
if ( ! ($?MPI_ROOT) ) then
|
||||
echo
|
||||
|
@ -137,7 +137,7 @@ endsw
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Location of the jobControl directory
|
||||
setenv FOAM_JOB_DIR $WM_PROJECT_INST_DIR/jobControl
|
||||
setenv FOAM_JOB_DIR "$HOME/.OpenFOAM/jobControl"
|
||||
|
||||
# wmake configuration
|
||||
setenv WM_DIR $WM_PROJECT_DIR/wmake
|
||||
@ -196,8 +196,11 @@ endif
|
||||
unset siteDir
|
||||
|
||||
_foamAddPath ${FOAM_USER_APPBIN}:${FOAM_SITE_APPBIN}:${FOAM_APPBIN}
|
||||
# Make sure to pick up dummy versions of external libraries last
|
||||
_foamAddLib ${FOAM_USER_LIBBIN}:${FOAM_SITE_LIBBIN}:${FOAM_LIBBIN}:${FOAM_EXT_LIBBIN}:${FOAM_LIBBIN}/dummy
|
||||
_foamAddLib $FOAM_LIBBIN/dummy # Dummy versions of external libraries last
|
||||
if ( $?FOAM_EXT_LIBBIN ) then # External libraries (allowed to be unset)
|
||||
_foamAddLib $FOAM_EXT_LIBBIN
|
||||
endif
|
||||
_foamAddLib ${FOAM_USER_LIBBIN}:${FOAM_SITE_LIBBIN}:${FOAM_LIBBIN}
|
||||
|
||||
# Compiler settings
|
||||
# ~~~~~~~~~~~~~~~~~
|
||||
|
@ -75,8 +75,15 @@ OPENMPI)
|
||||
_foamAddMan $MPI_ARCH_PATH/share/man
|
||||
;;
|
||||
|
||||
USERMPI)
|
||||
# Use an arbitrary, user-specified mpi implementation
|
||||
export FOAM_MPI=mpi-user
|
||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/mpi-user`
|
||||
;;
|
||||
|
||||
SYSTEMMPI)
|
||||
export FOAM_MPI=mpi-system
|
||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/mpi-system`
|
||||
|
||||
if [ -z "$MPI_ROOT" ]
|
||||
then
|
||||
|
@ -141,7 +141,7 @@ esac
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# Location of the jobControl directory
|
||||
export FOAM_JOB_DIR=$WM_PROJECT_INST_DIR/jobControl
|
||||
export FOAM_JOB_DIR="$HOME/.OpenFOAM/jobControl"
|
||||
|
||||
# wmake configuration
|
||||
export WM_DIR=$WM_PROJECT_DIR/wmake
|
||||
@ -198,8 +198,12 @@ fi
|
||||
unset siteDir
|
||||
|
||||
_foamAddPath $FOAM_USER_APPBIN:$FOAM_SITE_APPBIN:$FOAM_APPBIN
|
||||
# Make sure to pick up dummy versions of external libraries last
|
||||
_foamAddLib $FOAM_USER_LIBBIN:$FOAM_SITE_LIBBIN:$FOAM_LIBBIN:$FOAM_EXT_LIBBIN:$FOAM_LIBBIN/dummy
|
||||
_foamAddLib $FOAM_LIBBIN/dummy # Dummy versions of external libraries last
|
||||
if [ -n "$FOAM_EXT_LIBBIN" ] # External libraries (allowed to be unset)
|
||||
then
|
||||
_foamAddLib $FOAM_EXT_LIBBIN
|
||||
fi
|
||||
_foamAddLib $FOAM_USER_LIBBIN:$FOAM_SITE_LIBBIN:$FOAM_LIBBIN
|
||||
|
||||
# Compiler settings
|
||||
# ~~~~~~~~~~~~~~~~~
|
||||
|
@ -148,8 +148,10 @@ setenv WM_PROJECT_USER_DIR $HOME/$WM_PROJECT/$LOGNAME-$WM_PROJECT_VERSION
|
||||
# Source files, possibly with some verbosity
|
||||
alias _foamSource 'if ($?FOAM_VERBOSE && $?prompt) echo "Sourcing: \!*"; if (\!* != "") source \!*'
|
||||
|
||||
# Add in preset user or site preferences:
|
||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile prefs.csh`
|
||||
# Override definitions via prefs, with 'other' first so the sys-admin
|
||||
# can provide base values independent of WM_PROJECT_SITE
|
||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile -mode o prefs.csh`
|
||||
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile -mode ug prefs.csh`
|
||||
|
||||
# Evaluate command-line parameters and record settings for later
|
||||
# these can be used to set/unset values, or specify alternative pref files
|
||||
|
@ -4,9 +4,13 @@ cd ${0%/*} || exit 1 # Run from this directory
|
||||
# Parse arguments for library compilation
|
||||
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
||||
|
||||
export ParMGridGen=$WM_THIRD_PARTY_DIR/ParMGridGen-1.0
|
||||
unset MGRIDGEN_ARCH_PATH
|
||||
if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/mgridgen)
|
||||
then
|
||||
. $settings
|
||||
fi
|
||||
|
||||
if [ -e "$FOAM_LIBBIN/libMGridGen.so" ]
|
||||
if [ -e "$MGRIDGEN_ARCH_PATH/include/mgridgen.h" ]
|
||||
then
|
||||
wmake $targetType MGridGenGamgAgglomeration
|
||||
fi
|
||||
|
@ -1,15 +1,9 @@
|
||||
/* Needs ParMGridGen environment variable set. (see Allwmake script) */
|
||||
|
||||
TYPE_REAL=
|
||||
#if defined(WM_SP)
|
||||
TYPE_REAL=-DTYPE_REAL
|
||||
#endif
|
||||
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(ParMGridGen)/MGridGen/Lib/lnInclude \
|
||||
-I$(ParMGridGen)/MGridGen/IMlib/lnInclude \
|
||||
$(TYPE_REAL)
|
||||
-I$(MGRIDGEN_ARCH_PATH)/include
|
||||
|
||||
LIB_LIBS = \
|
||||
-L$(FOAM_EXT_LIBBIN) -lMGridGen
|
||||
-L$(FOAM_EXT_LIBBIN) \
|
||||
-L$(MGRIDGEN_ARCH_PATH)/lib \
|
||||
-L$(MGRIDGEN_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
|
||||
-lmgrid
|
||||
|
@ -36,6 +36,7 @@ hasMetis()
|
||||
|
||||
# Library
|
||||
[ -r $FOAM_EXT_LIBBIN/libmetis.so ] || \
|
||||
[ -r $METIS_ARCH_PATH/lib/libmetis.so ] || \
|
||||
[ -r $METIS_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/libmetis.so ] || \
|
||||
[ "${METIS_ARCH_PATH##*-}" = system ] || {
|
||||
echo "$warning (missing library)"
|
||||
@ -90,6 +91,7 @@ hasScotch()
|
||||
|
||||
# Library
|
||||
[ -r $FOAM_EXT_LIBBIN/libscotch.so ] || \
|
||||
[ -r $SCOTCH_ARCH_PATH/lib/libscotch.so ] || \
|
||||
[ -r $SCOTCH_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/libscotch.so ] || \
|
||||
[ "${SCOTCH_ARCH_PATH##*-}" = system ] || {
|
||||
echo "$warning (missing library)"
|
||||
|
@ -8,6 +8,7 @@ EXE_INC = \
|
||||
* to support central, non-thirdparty installations
|
||||
*/
|
||||
LIB_LIBS = \
|
||||
-L$(METIS_ARCH_PATH)/lib \
|
||||
-L$(METIS_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
|
||||
-L$(FOAM_EXT_LIBBIN) \
|
||||
-lmetis
|
||||
|
@ -16,6 +16,7 @@ EXE_INC = \
|
||||
* to support central, non-thirdparty installations
|
||||
*/
|
||||
LIB_LIBS = \
|
||||
-L$(SCOTCH_ARCH_PATH)/lib \
|
||||
-L$(SCOTCH_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
|
||||
-L$(FOAM_EXT_LIBBIN) \
|
||||
-L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) \
|
||||
|
@ -16,6 +16,7 @@ EXE_INC = \
|
||||
* to support central, non-thirdparty installations
|
||||
*/
|
||||
LIB_LIBS = \
|
||||
-L$(SCOTCH_ARCH_PATH)/lib \
|
||||
-L$(SCOTCH_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
|
||||
-L$(FOAM_EXT_LIBBIN) \
|
||||
-lscotch \
|
||||
|
@ -5,14 +5,11 @@ cd ${0%/*} || exit 1 # Run from this directory
|
||||
targetType=libso
|
||||
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
||||
|
||||
## Get ZOLTAN_ARCH_PATH
|
||||
#if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/zoltan)
|
||||
#then
|
||||
# . $settings
|
||||
# echo "using ZOLTAN_ARCH_PATH=$ZOLTAN_ARCH_PATH"
|
||||
#else
|
||||
# echo "Error: no config.sh/zoltan settings"
|
||||
#fi
|
||||
# Optional: get ZOLTAN_ARCH_PATH
|
||||
if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/zoltan)
|
||||
then
|
||||
. $settings
|
||||
fi
|
||||
|
||||
wmake $targetType renumberMethods
|
||||
|
||||
|
@ -4,10 +4,13 @@ sinclude $(RULES)/mplib$(WM_MPLIB)
|
||||
EXE_INC = \
|
||||
/* -DFULLDEBUG -g -O0 */ \
|
||||
$(PFLAGS) $(PINC) \
|
||||
${c++LESSWARN} \
|
||||
-I$(FOAM_SRC)/renumber/renumberMethods/lnInclude \
|
||||
-I$(ZOLTAN_ARCH_PATH)/include/ \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
/* -L$(ZOLTAN_ARCH_PATH)/lib -lzoltan */ \
|
||||
-L$(ZOLTAN_ARCH_PATH)/lib \
|
||||
-L$(ZOLTAN_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \
|
||||
-lzoltan \
|
||||
-lmeshTools
|
||||
|
Loading…
Reference in New Issue
Block a user