diff --git a/applications/utilities/mesh/manipulation/renumberMesh/Allwmake b/applications/utilities/mesh/manipulation/renumberMesh/Allwmake index ee135cc373..59db39f970 100755 --- a/applications/utilities/mesh/manipulation/renumberMesh/Allwmake +++ b/applications/utilities/mesh/manipulation/renumberMesh/Allwmake @@ -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 diff --git a/etc/bashrc b/etc/bashrc index d9c253492b..613ced698f 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -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 diff --git a/etc/config.csh/mpi b/etc/config.csh/mpi index c56bbab3f9..a7ffdcee89 100644 --- a/etc/config.csh/mpi +++ b/etc/config.csh/mpi @@ -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 diff --git a/etc/config.csh/settings b/etc/config.csh/settings index 659b4c5ae2..52f682dd49 100644 --- a/etc/config.csh/settings +++ b/etc/config.csh/settings @@ -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 # ~~~~~~~~~~~~~~~~~ diff --git a/etc/config.sh/mpi b/etc/config.sh/mpi index 757aef05ee..50b08ffdb7 100644 --- a/etc/config.sh/mpi +++ b/etc/config.sh/mpi @@ -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 diff --git a/etc/config.sh/settings b/etc/config.sh/settings index 4e457c15c0..6281be6a48 100644 --- a/etc/config.sh/settings +++ b/etc/config.sh/settings @@ -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 # ~~~~~~~~~~~~~~~~~ diff --git a/etc/cshrc b/etc/cshrc index 9928e0073f..0bee147868 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -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 diff --git a/src/fvAgglomerationMethods/Allwmake b/src/fvAgglomerationMethods/Allwmake index dcef4328c2..ba1c5ee1a7 100755 --- a/src/fvAgglomerationMethods/Allwmake +++ b/src/fvAgglomerationMethods/Allwmake @@ -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 diff --git a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options index a58b65fb79..8f7b5aedc6 100644 --- a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options +++ b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options @@ -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 diff --git a/src/parallel/decompose/Allwmake b/src/parallel/decompose/Allwmake index 6bddc475ea..33634f7d77 100755 --- a/src/parallel/decompose/Allwmake +++ b/src/parallel/decompose/Allwmake @@ -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)" diff --git a/src/parallel/decompose/metisDecomp/Make/options b/src/parallel/decompose/metisDecomp/Make/options index b1cce000a2..a832e26823 100644 --- a/src/parallel/decompose/metisDecomp/Make/options +++ b/src/parallel/decompose/metisDecomp/Make/options @@ -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 diff --git a/src/parallel/decompose/ptscotchDecomp/Make/options b/src/parallel/decompose/ptscotchDecomp/Make/options index 9dab60dab5..51ae4a6662 100644 --- a/src/parallel/decompose/ptscotchDecomp/Make/options +++ b/src/parallel/decompose/ptscotchDecomp/Make/options @@ -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) \ diff --git a/src/parallel/decompose/scotchDecomp/Make/options b/src/parallel/decompose/scotchDecomp/Make/options index 5cc3e25d8c..1ca71f6a68 100644 --- a/src/parallel/decompose/scotchDecomp/Make/options +++ b/src/parallel/decompose/scotchDecomp/Make/options @@ -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 \ diff --git a/src/renumber/Allwmake b/src/renumber/Allwmake index e1fcc89e66..aef86c6450 100755 --- a/src/renumber/Allwmake +++ b/src/renumber/Allwmake @@ -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 diff --git a/src/renumber/zoltanRenumber/Make/options b/src/renumber/zoltanRenumber/Make/options index c637f39ba9..ed93f8b2b8 100644 --- a/src/renumber/zoltanRenumber/Make/options +++ b/src/renumber/zoltanRenumber/Make/options @@ -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