package openfoam-com: add version 1712 and update patches (#6820)
* combine all patches for 1612 into a single file, with additional comments to explain the rational. * Add kahip decomposition variant. * Add support for ARM64 architecture. * filter instead of patching etc/config.*/settings. This eliminates patch files for 1706, perhaps for the future as well. * URLs at or before version 1612 have a different structure, so provide a url_for_version implementation to handle this
This commit is contained in:
parent
2f551908b8
commit
f07ce6094e
@ -1,503 +0,0 @@
|
|||||||
--- OpenFOAM-v1612+.orig/bin/foamEtcFile 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-v1612+/bin/foamEtcFile 2017-03-23 10:08:37.296887070 +0100
|
|
||||||
@@ -4,7 +4,7 @@
|
|
||||||
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
# \\ / O peration |
|
|
||||||
# \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
|
||||||
-# \\/ M anipulation |
|
|
||||||
+# \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd.
|
|
||||||
#-------------------------------------------------------------------------------
|
|
||||||
# License
|
|
||||||
# This file is part of OpenFOAM.
|
|
||||||
@@ -26,7 +26,7 @@
|
|
||||||
# foamEtcFile
|
|
||||||
#
|
|
||||||
# Description
|
|
||||||
-# Locate user/group/shipped file with semantics similar to the
|
|
||||||
+# Locate user/group/other files with semantics similar to the
|
|
||||||
# ~OpenFOAM/fileName expansion.
|
|
||||||
#
|
|
||||||
# The -mode option can be used to allow chaining from
|
|
||||||
@@ -34,40 +34,53 @@
|
|
||||||
#
|
|
||||||
# For example, within the user ~/.OpenFOAM/<VER>/prefs.sh:
|
|
||||||
# \code
|
|
||||||
-# foamPrefs=`$WM_PROJECT_DIR/bin/foamEtcFile -m go prefs.sh` \
|
|
||||||
-# && _foamSource $foamPrefs
|
|
||||||
+# eval $(foamEtcFile -sh -mode=go prefs.sh)
|
|
||||||
# \endcode
|
|
||||||
#
|
|
||||||
+# Environment
|
|
||||||
+# - WM_PROJECT: (unset defaults to OpenFOAM)
|
|
||||||
+# - WM_PROJECT_SITE: (unset defaults to PREFIX/site)
|
|
||||||
+# - WM_PROJECT_VERSION: (unset defaults to detect from path)
|
|
||||||
+#
|
|
||||||
# Note
|
|
||||||
-# This script must exist in $FOAM_INST_DIR/OpenFOAM-<VERSION>/bin/
|
|
||||||
-# or $FOAM_INST_DIR/openfoam<VERSION>/bin/ (for the debian version)
|
|
||||||
+# This script must exist in one of these locations:
|
|
||||||
+# - $WM_PROJECT_INST_DIR/OpenFOAM-<VERSION>/bin
|
|
||||||
+# - $WM_PROJECT_INST_DIR/openfoam-<VERSION>/bin
|
|
||||||
+# - $WM_PROJECT_INST_DIR/OpenFOAM+<VERSION>/bin
|
|
||||||
+# - $WM_PROJECT_INST_DIR/openfoam+<VERSION>/bin
|
|
||||||
+# - $WM_PROJECT_INST_DIR/openfoam<VERSION>/bin (debian version)
|
|
||||||
#
|
|
||||||
#-------------------------------------------------------------------------------
|
|
||||||
+unset optQuiet optSilent
|
|
||||||
usage() {
|
|
||||||
[ "${optQuiet:-$optSilent}" = true ] && exit 1
|
|
||||||
-
|
|
||||||
exec 1>&2
|
|
||||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
|
||||||
cat<<USAGE
|
|
||||||
|
|
||||||
-Usage: ${0##*/} [OPTION] fileName
|
|
||||||
- ${0##*/} [OPTION] -list
|
|
||||||
+Usage: foamEtcFile [OPTION] fileName
|
|
||||||
+ foamEtcFile [OPTION] [-list|-list-test] [fileName]
|
|
||||||
options:
|
|
||||||
- -all return all files (otherwise stop after the first match)
|
|
||||||
- -list list the directories to be searched
|
|
||||||
- -mode <mode> any combination of u(user), g(group), o(other)
|
|
||||||
- -prefix <dir> specify an alternative installation prefix
|
|
||||||
- -quiet suppress all normal output
|
|
||||||
- -silent suppress all stderr output
|
|
||||||
- -version <ver> specify an alternative OpenFOAM version
|
|
||||||
- in the form Maj.Min.Rev (eg, 1.7.0)
|
|
||||||
- -help print the usage
|
|
||||||
+ -a, -all Return all files (otherwise stop after the first match)
|
|
||||||
+ -l, -list List directories or files to be checked
|
|
||||||
+ -list-test List (existing) directories or files to be checked
|
|
||||||
+ -mode=MODE Any combination of u(user), g(group), o(other)
|
|
||||||
+ -prefix=DIR Specify an alternative installation prefix
|
|
||||||
+ -version=VER Specify alternative OpenFOAM version (eg, 3.0, 1612, ...)
|
|
||||||
+ -csh | -sh Produce output suitable for a csh or sh 'eval'
|
|
||||||
+ -csh-verbose | -sh-verbose
|
|
||||||
+ As per -csh | -sh, with additional verbosity
|
|
||||||
+ -q, -quiet Suppress all normal output
|
|
||||||
+ -s, -silent Suppress stderr, except -csh-verbose, -sh-verbose output
|
|
||||||
+ -help Print the usage
|
|
||||||
|
|
||||||
- Locate user/group/shipped file with semantics similar to the
|
|
||||||
+ Locate user/group/other file with semantics similar to the
|
|
||||||
~OpenFOAM/fileName expansion.
|
|
||||||
|
|
||||||
- The options can also be specified as a single character
|
|
||||||
- (eg, '-q' instead of '-quiet'), but must not be grouped.
|
|
||||||
+ Single character options must not be grouped. Equivalent options:
|
|
||||||
+ -mode=MODE, -mode MODE, -m MODE
|
|
||||||
+ -prefix=DIR, -prefix DIR, -p DIR
|
|
||||||
+ -version=VER, -version VER, -v VER
|
|
||||||
|
|
||||||
Exit status
|
|
||||||
0 when the file is found. Print resolved path to stdout.
|
|
||||||
@@ -78,61 +91,117 @@
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
-#-------------------------------------------------------------------------------
|
|
||||||
+# Report error and exit
|
|
||||||
+die()
|
|
||||||
+{
|
|
||||||
+ [ "${optQuiet:-$optSilent}" = true ] && exit 1
|
|
||||||
+ exec 1>&2
|
|
||||||
+ echo
|
|
||||||
+ echo "Error encountered:"
|
|
||||||
+ while [ "$#" -ge 1 ]; do echo " $1"; shift; done
|
|
||||||
+ echo
|
|
||||||
+ echo "See 'foamEtcFile -help' for usage"
|
|
||||||
+ echo
|
|
||||||
+ exit 1
|
|
||||||
+}
|
|
||||||
|
|
||||||
-# the bin dir:
|
|
||||||
-binDir="${0%/*}"
|
|
||||||
+#-------------------------------------------------------------------------------
|
|
||||||
+binDir="${0%/*}" # The bin dir
|
|
||||||
+projectDir="${binDir%/bin}" # The project dir
|
|
||||||
+prefixDir="${projectDir%/*}" # The prefix dir (same as $WM_PROJECT_INST_DIR)
|
|
||||||
|
|
||||||
-# the project dir:
|
|
||||||
+# Could not resolve projectDir, prefixDir? (eg, called as ./bin/foamEtcFile)
|
|
||||||
+if [ "$prefixDir" = "$projectDir" ]
|
|
||||||
+then
|
|
||||||
+ binDir="$(cd $binDir && pwd -L)"
|
|
||||||
projectDir="${binDir%/bin}"
|
|
||||||
-
|
|
||||||
-# the prefix dir (same as $FOAM_INST_DIR):
|
|
||||||
prefixDir="${projectDir%/*}"
|
|
||||||
+fi
|
|
||||||
+projectDirName="${projectDir##*/}" # The project directory name
|
|
||||||
|
|
||||||
-# the name used for the project directory
|
|
||||||
-projectDirName="${projectDir##*/}"
|
|
||||||
+projectName="${WM_PROJECT:-OpenFOAM}" # The project name
|
|
||||||
+projectVersion="$WM_PROJECT_VERSION" # Empty? - will be treated later
|
|
||||||
|
|
||||||
-# version number used for debian packaging
|
|
||||||
-unset versionNum
|
|
||||||
|
|
||||||
+#-------------------------------------------------------------------------------
|
|
||||||
+
|
|
||||||
+# Guess project version or simply get the stem part of the projectDirName.
|
|
||||||
+# Handle standard and debian naming conventions.
|
|
||||||
#
|
|
||||||
-# handle standard and debian naming convention
|
|
||||||
+# - projectVersion: update unless already set
|
|
||||||
#
|
|
||||||
-case "$projectDirName" in
|
|
||||||
-OpenFOAM-*) # standard naming convention OpenFOAM-<VERSION>
|
|
||||||
- version="${projectDirName##OpenFOAM-}"
|
|
||||||
- ;;
|
|
||||||
+# Helper variables:
|
|
||||||
+# - dirBase (for reassembling name) == projectDirName without the version
|
|
||||||
+# - versionNum (debian packaging)
|
|
||||||
+unset dirBase versionNum
|
|
||||||
+guessVersion()
|
|
||||||
+{
|
|
||||||
+ local version
|
|
||||||
|
|
||||||
-openfoam[0-9]* | openfoam-dev) # debian naming convention 'openfoam<VERSION>'
|
|
||||||
- versionNum="${projectDirName##openfoam}"
|
|
||||||
- case "$versionNum" in
|
|
||||||
- ??) # convert 2 digit version number to decimal delineated
|
|
||||||
- version=$(echo "$versionNum" | sed -e 's@\(.\)\(.\)@\1.\2@')
|
|
||||||
- ;;
|
|
||||||
- ???) # convert 3 digit version number to decimal delineated
|
|
||||||
- version=$(echo "$versionNum" | sed -e 's@\(.\)\(.\)\(.\)@\1.\2.\3@')
|
|
||||||
- ;;
|
|
||||||
- ????) # convert 4 digit version number to decimal delineated
|
|
||||||
- version=$(echo "$versionNum" | sed -e 's@\(.\)\(.\)\(.\)\(.\)@\1.\2.\3.\4@')
|
|
||||||
- ;;
|
|
||||||
- *) # failback - use current environment setting
|
|
||||||
- version="$WM_PROJECT_VERSION"
|
|
||||||
+ case "$projectDirName" in
|
|
||||||
+ (OpenFOAM-* | openfoam-*)
|
|
||||||
+ # Standard naming: OpenFOAM-<VERSION> or openfoam-<VERSION>
|
|
||||||
+ dirBase="${projectDirName%%-*}-"
|
|
||||||
+ version="${projectDirName#*-}"
|
|
||||||
+ version="${version%%*-}" # Extra safety, eg openfoam-version-packager
|
|
||||||
+ ;;
|
|
||||||
+
|
|
||||||
+ (OpenFOAM+* | openfoam+*)
|
|
||||||
+ # Alternative naming: OpenFOAM+<VERSION> or openfoam+<VERSION>
|
|
||||||
+ dirBase="${projectDirName%%+*}+"
|
|
||||||
+ version="${projectDirName#*+}"
|
|
||||||
+ version="${version%%*-}" # Extra safety, eg openfoam-version-packager
|
|
||||||
+ ;;
|
|
||||||
+
|
|
||||||
+ (openfoam[0-9]*)
|
|
||||||
+ # Debian naming: openfoam<VERSION>
|
|
||||||
+ dirBase="openfoam"
|
|
||||||
+ version="${projectDirName#openfoam}"
|
|
||||||
+ versionNum="$version"
|
|
||||||
+
|
|
||||||
+ # Convert digits version number to decimal delineated
|
|
||||||
+ case "${#versionNum}" in (2|3|4)
|
|
||||||
+ version=$(echo "$versionNum" | sed -e 's@\([0-9]\)@\1.@g')
|
|
||||||
+ version="${version%.}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
+
|
|
||||||
+ # Ignore special treatment if no decimals were inserted.
|
|
||||||
+ [ "${#version}" -gt "${#versionNum}" ] || unset versionNum
|
|
||||||
;;
|
|
||||||
|
|
||||||
-*)
|
|
||||||
- echo "Error : unknown/unsupported naming convention"
|
|
||||||
- exit 1
|
|
||||||
+ (*)
|
|
||||||
+ die "unknown/unsupported naming convention for '$projectDirName'"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
+ # Set projectVersion if required
|
|
||||||
+ : ${projectVersion:=$version}
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# Set projectVersion and update versionNum, projectDirName accordingly
|
|
||||||
+setVersion()
|
|
||||||
+{
|
|
||||||
+ projectVersion="$1"
|
|
||||||
+
|
|
||||||
+ # Need dirBase when reassembling projectDirName
|
|
||||||
+ [ -n "$dirBase" ] || guessVersion
|
|
||||||
+
|
|
||||||
+ # Debian: update x.y.z -> xyz version
|
|
||||||
+ if [ -n "$versionNum" ]
|
|
||||||
+ then
|
|
||||||
+ versionNum=$(echo "$projectVersion" | sed -e 's@\.@@g')
|
|
||||||
+ fi
|
|
||||||
+
|
|
||||||
+ projectDirName="$dirBase${versionNum:-$projectVersion}"
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
|
|
||||||
-# default mode is 'ugo'
|
|
||||||
-mode=ugo
|
|
||||||
-unset optAll optList optQuiet optSilent
|
|
||||||
+optMode=ugo # Default mode is always 'ugo'
|
|
||||||
+unset optAll optList optShell optVersion
|
|
||||||
|
|
||||||
-# parse options
|
|
||||||
+# Parse options
|
|
||||||
while [ "$#" -gt 0 ]
|
|
||||||
do
|
|
||||||
case "$1" in
|
|
||||||
@@ -141,27 +210,45 @@
|
|
||||||
;;
|
|
||||||
-a | -all)
|
|
||||||
optAll=true
|
|
||||||
+ unset optShell
|
|
||||||
;;
|
|
||||||
-l | -list)
|
|
||||||
optList=true
|
|
||||||
+ unset optShell
|
|
||||||
+ ;;
|
|
||||||
+ -list-test)
|
|
||||||
+ optList='test'
|
|
||||||
+ unset optShell
|
|
||||||
+ ;;
|
|
||||||
+ -csh | -sh | -csh-verbose | -sh-verbose)
|
|
||||||
+ optShell="${1#-}"
|
|
||||||
+ unset optAll
|
|
||||||
+ ;;
|
|
||||||
+ -mode=[ugo]*)
|
|
||||||
+ optMode="${1#*=}"
|
|
||||||
+ ;;
|
|
||||||
+ -prefix=/*)
|
|
||||||
+ prefixDir="${1#*=}"
|
|
||||||
+ prefixDir="${prefixDir%/}"
|
|
||||||
+ ;;
|
|
||||||
+ -version=*)
|
|
||||||
+ optVersion="${1#*=}"
|
|
||||||
;;
|
|
||||||
-m | -mode)
|
|
||||||
- [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
|
||||||
- mode="$2"
|
|
||||||
-
|
|
||||||
- # sanity check:
|
|
||||||
- case "$mode" in
|
|
||||||
- *u* | *g* | *o* )
|
|
||||||
+ optMode="$2"
|
|
||||||
+ shift
|
|
||||||
+ # Sanity check. Handles missing argument too.
|
|
||||||
+ case "$optMode" in
|
|
||||||
+ ([ugo]*)
|
|
||||||
;;
|
|
||||||
- *)
|
|
||||||
- usage "'$1' option with invalid mode '$mode'"
|
|
||||||
+ (*)
|
|
||||||
+ die "invalid mode '$optMode'"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
- shift
|
|
||||||
;;
|
|
||||||
-p | -prefix)
|
|
||||||
- [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
|
||||||
- prefixDir="$2"
|
|
||||||
+ [ "$#" -ge 2 ] || die "'$1' option requires an argument"
|
|
||||||
+ prefixDir="${2%/}"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-q | -quiet)
|
|
||||||
@@ -171,13 +258,8 @@
|
|
||||||
optSilent=true
|
|
||||||
;;
|
|
||||||
-v | -version)
|
|
||||||
- [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
|
||||||
- version="$2"
|
|
||||||
- # convert x.y.z -> xyz version (if installation looked like debian)
|
|
||||||
- if [ -n "$versionNum" ]
|
|
||||||
- then
|
|
||||||
- versionNum=$(echo "$version" | sed -e 's@\.@@g')
|
|
||||||
- fi
|
|
||||||
+ [ "$#" -ge 2 ] || die "'$1' option requires an argument"
|
|
||||||
+ optVersion="$2"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
--)
|
|
||||||
@@ -185,7 +267,7 @@
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
-*)
|
|
||||||
- usage "unknown option: '$*'"
|
|
||||||
+ die "unknown option: '$1'"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
break
|
|
||||||
@@ -195,11 +277,28 @@
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
-# debugging:
|
|
||||||
-# echo "Installed locations:"
|
|
||||||
-# for i in projectDir prefixDir projectDirName version versionNum
|
|
||||||
+#-------------------------------------------------------------------------------
|
|
||||||
+
|
|
||||||
+if [ -n "$optVersion" ]
|
|
||||||
+then
|
|
||||||
+ setVersion $optVersion
|
|
||||||
+elif [ -z "$projectVersion" ]
|
|
||||||
+then
|
|
||||||
+ guessVersion
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+# Updates:
|
|
||||||
+# - projectDir for changes via -prefix or -version
|
|
||||||
+# - projectSite for changes via -prefix
|
|
||||||
+projectDir="$prefixDir/$projectDirName"
|
|
||||||
+projectSite="${WM_PROJECT_SITE:-$prefixDir/site}"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# Debugging:
|
|
||||||
+# echo "Installed locations:" 1>&2
|
|
||||||
+# for i in projectDir prefixDir projectDirName projectVersion
|
|
||||||
# do
|
|
||||||
-# eval echo "$i=\$$i"
|
|
||||||
+# eval echo "$i=\$$i" 1>&2
|
|
||||||
# done
|
|
||||||
|
|
||||||
|
|
||||||
@@ -210,30 +309,18 @@
|
|
||||||
|
|
||||||
# Define the various places to be searched:
|
|
||||||
unset dirList
|
|
||||||
-case "$mode" in
|
|
||||||
-*u*) # user
|
|
||||||
- userDir="$HOME/.${WM_PROJECT:-OpenFOAM}"
|
|
||||||
- dirList="$dirList $userDir/$version $userDir"
|
|
||||||
+case "$optMode" in (*u*) # (U)ser
|
|
||||||
+ dirList="$dirList $HOME/.$projectName/$projectVersion $HOME/.$projectName"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
-case "$mode" in
|
|
||||||
-*g*) # group (site)
|
|
||||||
- siteDir="${WM_PROJECT_SITE:-$prefixDir/site}"
|
|
||||||
- dirList="$dirList $siteDir/$version $siteDir"
|
|
||||||
+case "$optMode" in (*g*) # (G)roup == site
|
|
||||||
+ dirList="$dirList $projectSite/$projectVersion $projectSite"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
-case "$mode" in
|
|
||||||
-*o*) # other (shipped)
|
|
||||||
- if [ -n "$versionNum" ]
|
|
||||||
- then
|
|
||||||
- # debian packaging
|
|
||||||
- dirList="$dirList $prefixDir/openfoam$versionNum/etc"
|
|
||||||
- else
|
|
||||||
- # standard packaging
|
|
||||||
- dirList="$dirList $prefixDir/${WM_PROJECT:-OpenFOAM}-$version/etc"
|
|
||||||
- fi
|
|
||||||
+case "$optMode" in (*o*) # (O)ther == shipped
|
|
||||||
+ dirList="$dirList $projectDir/etc"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
set -- $dirList
|
|
||||||
@@ -244,50 +331,87 @@
|
|
||||||
#
|
|
||||||
|
|
||||||
exitCode=0
|
|
||||||
-if [ "$optList" = true ]
|
|
||||||
+if [ -n "$optList" ]
|
|
||||||
then
|
|
||||||
|
|
||||||
- # list directories, or potential file locations
|
|
||||||
- [ "$nArgs" -le 1 ] || usage
|
|
||||||
+ # List directories, or potential file locations
|
|
||||||
+ [ "$nArgs" -le 1 ] || \
|
|
||||||
+ die "-list expects 0 or 1 filename, but $nArgs provided"
|
|
||||||
+
|
|
||||||
+ # A silly combination, but -quiet does have precedence
|
|
||||||
+ [ -n "$optQuiet" ] && exit 0
|
|
||||||
|
|
||||||
- # a silly combination, but -quiet does have precedence
|
|
||||||
- [ "$optQuiet" = true ] && exit 0
|
|
||||||
+ # Test for directory or file too?
|
|
||||||
+ if [ "$optList" = "test" ]
|
|
||||||
+ then
|
|
||||||
+ exitCode=2 # Fallback to a general error (file not found)
|
|
||||||
|
|
||||||
+ if [ "$nArgs" -eq 1 ]
|
|
||||||
+ then
|
|
||||||
for dir
|
|
||||||
do
|
|
||||||
- if [ "$nArgs" -eq 1 ]
|
|
||||||
+ resolved="$dir/$fileName"
|
|
||||||
+ if [ -f "$resolved" ]
|
|
||||||
then
|
|
||||||
- echo "$dir/$fileName"
|
|
||||||
+ echo "$resolved"
|
|
||||||
+ exitCode=0 # OK
|
|
||||||
+ fi
|
|
||||||
+ done
|
|
||||||
else
|
|
||||||
+ for dir
|
|
||||||
+ do
|
|
||||||
+ if [ -d "$dir" ]
|
|
||||||
+ then
|
|
||||||
echo "$dir"
|
|
||||||
+ exitCode=0 # OK
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
+ fi
|
|
||||||
+ else
|
|
||||||
+ for dir
|
|
||||||
+ do
|
|
||||||
+ echo "$dir${fileName:+/}$fileName"
|
|
||||||
+ done
|
|
||||||
+ fi
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
- [ "$nArgs" -eq 1 ] || usage
|
|
||||||
+ [ "$nArgs" -eq 1 ] || die "One filename expected - $nArgs provided"
|
|
||||||
|
|
||||||
- # general error, eg file not found
|
|
||||||
- exitCode=2
|
|
||||||
+ exitCode=2 # Fallback to a general error (file not found)
|
|
||||||
|
|
||||||
for dir
|
|
||||||
do
|
|
||||||
if [ -f "$dir/$fileName" ]
|
|
||||||
then
|
|
||||||
exitCode=0
|
|
||||||
- if [ "$optQuiet" = true ]
|
|
||||||
- then
|
|
||||||
+ [ -n "$optQuiet" ] && break
|
|
||||||
+
|
|
||||||
+ case "$optShell" in
|
|
||||||
+ (*verbose)
|
|
||||||
+ echo "Using: $dir/$fileName" 1>&2
|
|
||||||
+ ;;
|
|
||||||
+ esac
|
|
||||||
+
|
|
||||||
+ case "$optShell" in
|
|
||||||
+ csh*)
|
|
||||||
+ echo "source $dir/$fileName"
|
|
||||||
break
|
|
||||||
- else
|
|
||||||
+ ;;
|
|
||||||
+ sh*)
|
|
||||||
+ echo ". $dir/$fileName"
|
|
||||||
+ break
|
|
||||||
+ ;;
|
|
||||||
+ *)
|
|
||||||
echo "$dir/$fileName"
|
|
||||||
- [ "$optAll" = true ] || break
|
|
||||||
- fi
|
|
||||||
+ [ -n "$optAll" ] || break
|
|
||||||
+ ;;
|
|
||||||
+ esac
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
-
|
|
||||||
exit $exitCode
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
|
@ -1,17 +0,0 @@
|
|||||||
--- OpenFOAM-v1612+.orig/Allwmake 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-v1612+/Allwmake 2017-03-29 09:08:15.503865203 +0200
|
|
||||||
@@ -17,6 +17,14 @@
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
+#------------------------------------------------------------------------------
|
|
||||||
+echo "========================================"
|
|
||||||
+date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown"
|
|
||||||
+echo "Starting ${WM_PROJECT_DIR##*/} ${0##*}"
|
|
||||||
+echo " $WM_COMPILER $WM_COMPILER_TYPE compiler"
|
|
||||||
+echo " ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}"
|
|
||||||
+echo
|
|
||||||
+
|
|
||||||
# Compile wmake support applications
|
|
||||||
(cd wmake/src && make)
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
|||||||
--- OpenFOAM-v1612+.orig/etc/bashrc 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-v1612+/etc/bashrc 2017-03-22 16:05:05.751237072 +0100
|
|
||||||
@@ -42,7 +42,8 @@
|
|
||||||
#
|
|
||||||
# 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 @@
|
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
. $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 -uw OpenFOAM-v1612+.orig/etc/cshrc OpenFOAM-v1612+/etc/cshrc
|
|
||||||
--- OpenFOAM-v1612+.orig/etc/cshrc 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-v1612+/etc/cshrc 2017-03-22 16:04:51.839291067 +0100
|
|
||||||
@@ -148,8 +148,10 @@
|
|
||||||
# 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
|
|
@ -1,41 +0,0 @@
|
|||||||
--- OpenFOAM-v1612+.orig/src/fvAgglomerationMethods/Allwmake 2017-01-02 09:56:17.578558265 +0100
|
|
||||||
+++ OpenFOAM-v1612+/src/fvAgglomerationMethods/Allwmake 2017-04-18 18:58:38.236795902 +0200
|
|
||||||
@@ -4,9 +4,13 @@
|
|
||||||
# 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
|
|
||||||
--- OpenFOAM-v1612+.orig/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options 2017-01-02 09:56:17.578558265 +0100
|
|
||||||
+++ OpenFOAM-v1612+/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options 2017-04-18 18:59:16.860662811 +0200
|
|
||||||
@@ -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
|
|
@ -1,36 +0,0 @@
|
|||||||
--- OpenFOAM-v1612+.orig/etc/config.sh/mpi 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-v1612+/etc/config.sh/mpi 2017-03-29 13:55:57.507980699 +0200
|
|
||||||
@@ -75,8 +75,15 @@
|
|
||||||
_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
|
|
||||||
--- OpenFOAM-v1612+.orig/etc/config.csh/mpi 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-v1612+/etc/config.csh/mpi 2017-03-29 13:56:36.347835938 +0200
|
|
||||||
@@ -71,8 +71,15 @@
|
|
||||||
_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
|
|
@ -1,48 +0,0 @@
|
|||||||
--- OpenFOAM-v1612+.orig/src/parallel/decompose/Allwmake 2017-03-21 16:34:44.599021283 +0100
|
|
||||||
+++ OpenFOAM-v1612+/src/parallel/decompose/Allwmake 2017-03-21 16:28:57.243969660 +0100
|
|
||||||
@@ -36,6 +36,7 @@
|
|
||||||
|
|
||||||
# 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 @@
|
|
||||||
|
|
||||||
# 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)"
|
|
||||||
--- OpenFOAM-v1612+.orig/src/parallel/decompose/metisDecomp/Make/options 2017-03-21 16:34:25.383075328 +0100
|
|
||||||
+++ OpenFOAM-v1612+/src/parallel/decompose/metisDecomp/Make/options 2017-03-21 16:30:15.727758338 +0100
|
|
||||||
@@ -8,6 +8,7 @@
|
|
||||||
* 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
|
|
||||||
--- OpenFOAM-v1612+.orig/src/parallel/decompose/ptscotchDecomp/Make/options 2017-03-21 16:34:34.607049385 +0100
|
|
||||||
+++ OpenFOAM-v1612+/src/parallel/decompose/ptscotchDecomp/Make/options 2017-03-21 16:30:00.479799399 +0100
|
|
||||||
@@ -16,6 +16,7 @@
|
|
||||||
* 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) \
|
|
||||||
--- OpenFOAM-v1612+.orig/src/parallel/decompose/scotchDecomp/Make/options 2017-03-21 16:34:39.159036582 +0100
|
|
||||||
+++ OpenFOAM-v1612+/src/parallel/decompose/scotchDecomp/Make/options 2017-03-21 16:29:46.719836452 +0100
|
|
||||||
@@ -16,6 +16,7 @@
|
|
||||||
* 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 \
|
|
@ -1,42 +0,0 @@
|
|||||||
diff -uw OpenFOAM-v1612+.orig/etc/config.sh/settings OpenFOAM-v1612+/etc/config.sh/settings
|
|
||||||
--- OpenFOAM-v1612+.orig/etc/config.sh/settings 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-v1612+/etc/config.sh/settings 2017-03-23 12:22:52.002101020 +0100
|
|
||||||
@@ -141,7 +141,7 @@
|
|
||||||
#------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Location of the jobControl directory
|
|
||||||
-export FOAM_JOB_DIR=$WM_PROJECT_INST_DIR/jobControl
|
|
||||||
+export FOAM_JOB_DIR=$HOME/.OpenFOAM/jobControl #SPACK: non-central location
|
|
||||||
|
|
||||||
# wmake configuration
|
|
||||||
export WM_DIR=$WM_PROJECT_DIR/wmake
|
|
||||||
@@ -157,7 +157,7 @@
|
|
||||||
export FOAM_EXT_LIBBIN=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/lib
|
|
||||||
|
|
||||||
# Site-specific directory
|
|
||||||
-siteDir="${WM_PROJECT_SITE:-$WM_PROJECT_INST_DIR/site}"
|
|
||||||
+siteDir="${WM_PROJECT_SITE:-$WM_PROJECT_DIR/site}" #SPACK: not in parent directory
|
|
||||||
|
|
||||||
# Shared site executables/libraries
|
|
||||||
# Similar naming convention as ~OpenFOAM expansion
|
|
||||||
diff -uw OpenFOAM-v1612+.orig/etc/config.csh/settings OpenFOAM-v1612+/etc/config.csh/settings
|
|
||||||
--- OpenFOAM-v1612+.orig/etc/config.csh/settings 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-v1612+/etc/config.csh/settings 2017-03-23 12:23:52.737891912 +0100
|
|
||||||
@@ -137,7 +137,7 @@
|
|
||||||
#------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# Location of the jobControl directory
|
|
||||||
-setenv FOAM_JOB_DIR $WM_PROJECT_INST_DIR/jobControl
|
|
||||||
+setenv FOAM_JOB_DIR=$HOME/.OpenFOAM/jobControl #SPACK: non-central location
|
|
||||||
|
|
||||||
# wmake configuration
|
|
||||||
setenv WM_DIR $WM_PROJECT_DIR/wmake
|
|
||||||
@@ -156,7 +156,7 @@
|
|
||||||
if ( $?WM_PROJECT_SITE ) then
|
|
||||||
set siteDir=$WM_PROJECT_SITE
|
|
||||||
else
|
|
||||||
- set siteDir=$WM_PROJECT_INST_DIR/site
|
|
||||||
+ set siteDir=$WM_PROJECT_DIR/site #SPACK: not in parent directory
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Shared site executables/libraries
|
|
@ -0,0 +1,876 @@
|
|||||||
|
#############################################################################
|
||||||
|
# This patch for OpenFOAM-1612 comprises the following changes:
|
||||||
|
#
|
||||||
|
# bin/foamEtcFile
|
||||||
|
# - Adjust to cope with spack naming (eg, openfoam-com-1612-abcxzy).
|
||||||
|
# Lets us avoid a needless directory layer.
|
||||||
|
#
|
||||||
|
# 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)
|
||||||
|
#
|
||||||
|
# All issues patched here are addressed in OpenFOAM-1706 and later.
|
||||||
|
#
|
||||||
|
# <Mark.Olesen@esi-group.com> ESI-OpenCFD www.openfoam.com
|
||||||
|
#
|
||||||
|
#############################################################################
|
||||||
|
--- OpenFOAM-v1612+.orig/bin/foamEtcFile 2016-12-23 15:22:59.000000000 +0100
|
||||||
|
+++ OpenFOAM-plus/bin/foamEtcFile 2017-12-18 17:48:35.043291205 +0100
|
||||||
|
@@ -4,164 +4,235 @@
|
||||||
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
# \\ / O peration |
|
||||||
|
# \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||||
|
-# \\/ M anipulation |
|
||||||
|
+# \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd.
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# License
|
||||||
|
-# This file is part of OpenFOAM.
|
||||||
|
-#
|
||||||
|
-# OpenFOAM 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 3 of the License, or
|
||||||
|
-# (at your option) any later version.
|
||||||
|
-#
|
||||||
|
-# OpenFOAM 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 OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
+# This file is part of OpenFOAM, licensed under GNU General Public License
|
||||||
|
+# <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# Script
|
||||||
|
# foamEtcFile
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
-# Locate user/group/shipped file with semantics similar to the
|
||||||
|
-# ~OpenFOAM/fileName expansion.
|
||||||
|
+# Locate user/group/other file as per '#includeEtc'.
|
||||||
|
+#
|
||||||
|
+# The -mode option can be used to allow chaining from personal settings
|
||||||
|
+# to site-wide settings.
|
||||||
|
#
|
||||||
|
-# The -mode option can be used to allow chaining from
|
||||||
|
-# personal settings to site-wide settings.
|
||||||
|
+# For example, within the user ~/.OpenFOAM/<VER>/config.sh/compiler:
|
||||||
|
+# \code
|
||||||
|
+# eval $(foamEtcFile -sh -mode=go config.sh/compiler)
|
||||||
|
+# \endcode
|
||||||
|
#
|
||||||
|
-# For example, within the user ~/.OpenFOAM/<VER>/prefs.sh:
|
||||||
|
+# The -mode option is similarly used within etc/{bashrc,cshrc} to ensure
|
||||||
|
+# that system prefs are respected:
|
||||||
|
# \code
|
||||||
|
-# foamPrefs=`$WM_PROJECT_DIR/bin/foamEtcFile -m go prefs.sh` \
|
||||||
|
-# && _foamSource $foamPrefs
|
||||||
|
+# eval $(foamEtcFile -sh -mode=o prefs.sh)
|
||||||
|
+# eval $(foamEtcFile -sh -mode=ug prefs.sh)
|
||||||
|
# \endcode
|
||||||
|
#
|
||||||
|
+# Environment
|
||||||
|
+# - WM_PROJECT: (unset defaults to OpenFOAM)
|
||||||
|
+# - WM_PROJECT_SITE: (unset defaults to PREFIX/site)
|
||||||
|
+# - WM_PROJECT_VERSION: (unset defaults to detect from path)
|
||||||
|
+#
|
||||||
|
# Note
|
||||||
|
-# This script must exist in $FOAM_INST_DIR/OpenFOAM-<VERSION>/bin/
|
||||||
|
-# or $FOAM_INST_DIR/openfoam<VERSION>/bin/ (for the debian version)
|
||||||
|
+# This script must exist in one of these locations:
|
||||||
|
+# - $WM_PROJECT_INST_DIR/OpenFOAM-<VERSION>/bin
|
||||||
|
+# - $WM_PROJECT_INST_DIR/openfoam-<VERSION>/bin
|
||||||
|
+# - $WM_PROJECT_INST_DIR/openfoam<VERSION>/bin (debian version)
|
||||||
|
#
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
-usage() {
|
||||||
|
- [ "${optQuiet:-$optSilent}" = true ] && exit 1
|
||||||
|
-
|
||||||
|
- exec 1>&2
|
||||||
|
- while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||||
|
+printHelp() {
|
||||||
|
cat<<USAGE
|
||||||
|
|
||||||
|
-Usage: ${0##*/} [OPTION] fileName
|
||||||
|
- ${0##*/} [OPTION] -list
|
||||||
|
+Usage: foamEtcFile [OPTION] fileName
|
||||||
|
+ foamEtcFile [OPTION] [-list|-list-test] [fileName]
|
||||||
|
+
|
||||||
|
options:
|
||||||
|
- -all return all files (otherwise stop after the first match)
|
||||||
|
- -list list the directories to be searched
|
||||||
|
- -mode <mode> any combination of u(user), g(group), o(other)
|
||||||
|
- -prefix <dir> specify an alternative installation prefix
|
||||||
|
- -quiet suppress all normal output
|
||||||
|
- -silent suppress all stderr output
|
||||||
|
- -version <ver> specify an alternative OpenFOAM version
|
||||||
|
- in the form Maj.Min.Rev (eg, 1.7.0)
|
||||||
|
- -help print the usage
|
||||||
|
-
|
||||||
|
- Locate user/group/shipped file with semantics similar to the
|
||||||
|
- ~OpenFOAM/fileName expansion.
|
||||||
|
-
|
||||||
|
- The options can also be specified as a single character
|
||||||
|
- (eg, '-q' instead of '-quiet'), but must not be grouped.
|
||||||
|
-
|
||||||
|
- Exit status
|
||||||
|
- 0 when the file is found. Print resolved path to stdout.
|
||||||
|
- 1 for miscellaneous errors.
|
||||||
|
- 2 when the file is not found.
|
||||||
|
+ -all (-a) Return all files (otherwise stop after the first match)
|
||||||
|
+ -list (-l) List directories or files to be checked
|
||||||
|
+ -list-test List (existing) directories or files to be checked
|
||||||
|
+ -mode=MODE Any combination of u(user), g(group), o(other)
|
||||||
|
+ -prefix=DIR Specify an alternative installation prefix
|
||||||
|
+ -version=VER Specify alternative OpenFOAM version (eg, 3.0, 1612, ...)
|
||||||
|
+ -csh Produce output suitable for a csh or sh 'eval'
|
||||||
|
+ -csh-verbose As per -csh with additional verbosity
|
||||||
|
+ -sh Produce output suitable for a csh or sh 'eval'
|
||||||
|
+ -sh-verbose As per -sh with additional verbosity
|
||||||
|
+ -quiet (-q) Suppress all normal output
|
||||||
|
+ -silent (-s) Suppress stderr, except -csh-verbose, -sh-verbose output
|
||||||
|
+ -help Print the usage
|
||||||
|
+
|
||||||
|
+Locate user/group/other file as per '#includeEtc'
|
||||||
|
+
|
||||||
|
+Do not group single character options.
|
||||||
|
+Equivalent options:
|
||||||
|
+ | -mode=MODE | -mode MODE | -m MODE
|
||||||
|
+ | -prefix=DIR | -prefix DIR | -p DIR
|
||||||
|
+ | -version=VER | -version VER | -v VER
|
||||||
|
+
|
||||||
|
+Exit status
|
||||||
|
+ 0 when the file is found. Print resolved path to stdout.
|
||||||
|
+ 1 for miscellaneous errors.
|
||||||
|
+ 2 when the file is not found.
|
||||||
|
|
||||||
|
USAGE
|
||||||
|
- exit 1
|
||||||
|
+ exit 0 # A clean exit
|
||||||
|
}
|
||||||
|
|
||||||
|
-#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
-# the bin dir:
|
||||||
|
-binDir="${0%/*}"
|
||||||
|
+unset optQuiet optSilent
|
||||||
|
+# Report error and exit
|
||||||
|
+die()
|
||||||
|
+{
|
||||||
|
+ [ "${optQuiet:-$optSilent}" = true ] && exit 1
|
||||||
|
+ exec 1>&2
|
||||||
|
+ echo
|
||||||
|
+ echo "Error encountered:"
|
||||||
|
+ while [ "$#" -ge 1 ]; do echo " $1"; shift; done
|
||||||
|
+ echo
|
||||||
|
+ echo "See 'foamEtcFile -help' for usage"
|
||||||
|
+ echo
|
||||||
|
+ exit 1
|
||||||
|
+}
|
||||||
|
|
||||||
|
-# the project dir:
|
||||||
|
-projectDir="${binDir%/bin}"
|
||||||
|
+#-------------------------------------------------------------------------------
|
||||||
|
+binDir="${0%/*}" # The bin dir
|
||||||
|
+projectDir="${binDir%/bin}" # The project dir
|
||||||
|
+prefixDir="${projectDir%/*}" # The prefix dir (same as $WM_PROJECT_INST_DIR)
|
||||||
|
|
||||||
|
-# the prefix dir (same as $FOAM_INST_DIR):
|
||||||
|
-prefixDir="${projectDir%/*}"
|
||||||
|
+# Could not resolve projectDir, prefixDir? (eg, called as ./bin/foamEtcFile)
|
||||||
|
+if [ "$prefixDir" = "$projectDir" ]
|
||||||
|
+then
|
||||||
|
+ binDir="$(cd $binDir && pwd -L)"
|
||||||
|
+ projectDir="${binDir%/bin}"
|
||||||
|
+ prefixDir="${projectDir%/*}"
|
||||||
|
+fi
|
||||||
|
+projectDirName="${projectDir##*/}" # The project directory name
|
||||||
|
|
||||||
|
-# the name used for the project directory
|
||||||
|
-projectDirName="${projectDir##*/}"
|
||||||
|
+projectVersion="$WM_PROJECT_VERSION" # Empty? - will be treated later
|
||||||
|
+userDir="$HOME/.OpenFOAM" # Hard-coded as per foamVersion.H
|
||||||
|
|
||||||
|
-# version number used for debian packaging
|
||||||
|
-unset versionNum
|
||||||
|
+#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
+# Guess project version or simply get the stem part of the projectDirName.
|
||||||
|
+# Handle standard and debian naming conventions.
|
||||||
|
#
|
||||||
|
-# handle standard and debian naming convention
|
||||||
|
+# - projectVersion: update unless already set
|
||||||
|
#
|
||||||
|
-case "$projectDirName" in
|
||||||
|
-OpenFOAM-*) # standard naming convention OpenFOAM-<VERSION>
|
||||||
|
- version="${projectDirName##OpenFOAM-}"
|
||||||
|
- ;;
|
||||||
|
+# Helper variables:
|
||||||
|
+# - dirBase (for reassembling name) == projectDirName without the version
|
||||||
|
+# - versionNum (debian packaging)
|
||||||
|
+unset dirBase versionNum
|
||||||
|
+guessVersion()
|
||||||
|
+{
|
||||||
|
+ local version
|
||||||
|
+
|
||||||
|
+ case "$projectDirName" in
|
||||||
|
+ (OpenFOAM-* | openfoam-*)
|
||||||
|
+ # Standard naming: OpenFOAM-<VERSION> or openfoam-<VERSION>
|
||||||
|
+ dirBase="${projectDirName%%-*}-"
|
||||||
|
+ version="${projectDirName#*-}"
|
||||||
|
+ version="${version%%*-}" # Extra safety, eg openfoam-version-packager
|
||||||
|
+ ;;
|
||||||
|
+
|
||||||
|
+ (openfoam[0-9]*)
|
||||||
|
+ # Debian naming: openfoam<VERSION>
|
||||||
|
+ dirBase="openfoam"
|
||||||
|
+ version="${projectDirName#openfoam}"
|
||||||
|
+ versionNum="$version"
|
||||||
|
+
|
||||||
|
+ # Convert digits version number to decimal delineated
|
||||||
|
+ case "${#versionNum}" in (2|3|4)
|
||||||
|
+ version=$(echo "$versionNum" | sed -e 's@\([0-9]\)@\1.@g')
|
||||||
|
+ version="${version%.}"
|
||||||
|
+ ;;
|
||||||
|
+ esac
|
||||||
|
|
||||||
|
-openfoam[0-9]* | openfoam-dev) # debian naming convention 'openfoam<VERSION>'
|
||||||
|
- versionNum="${projectDirName##openfoam}"
|
||||||
|
- case "$versionNum" in
|
||||||
|
- ??) # convert 2 digit version number to decimal delineated
|
||||||
|
- version=$(echo "$versionNum" | sed -e 's@\(.\)\(.\)@\1.\2@')
|
||||||
|
- ;;
|
||||||
|
- ???) # convert 3 digit version number to decimal delineated
|
||||||
|
- version=$(echo "$versionNum" | sed -e 's@\(.\)\(.\)\(.\)@\1.\2.\3@')
|
||||||
|
+ # Ignore special treatment if no decimals were inserted.
|
||||||
|
+ [ "${#version}" -gt "${#versionNum}" ] || unset versionNum
|
||||||
|
;;
|
||||||
|
- ????) # convert 4 digit version number to decimal delineated
|
||||||
|
- version=$(echo "$versionNum" | sed -e 's@\(.\)\(.\)\(.\)\(.\)@\1.\2.\3.\4@')
|
||||||
|
- ;;
|
||||||
|
- *) # failback - use current environment setting
|
||||||
|
- version="$WM_PROJECT_VERSION"
|
||||||
|
+
|
||||||
|
+ (*)
|
||||||
|
+ die "unknown/unsupported naming convention for '$projectDirName'"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
- ;;
|
||||||
|
|
||||||
|
-*)
|
||||||
|
- echo "Error : unknown/unsupported naming convention"
|
||||||
|
- exit 1
|
||||||
|
- ;;
|
||||||
|
-esac
|
||||||
|
+ # Set projectVersion if required
|
||||||
|
+ : ${projectVersion:=$version}
|
||||||
|
+}
|
||||||
|
|
||||||
|
|
||||||
|
-# default mode is 'ugo'
|
||||||
|
-mode=ugo
|
||||||
|
-unset optAll optList optQuiet optSilent
|
||||||
|
+# Set projectVersion and update versionNum, projectDirName accordingly
|
||||||
|
+setVersion()
|
||||||
|
+{
|
||||||
|
+ projectVersion="$1"
|
||||||
|
|
||||||
|
-# parse options
|
||||||
|
+ # Need dirBase when reassembling projectDirName
|
||||||
|
+ [ -n "$dirBase" ] || guessVersion
|
||||||
|
+
|
||||||
|
+ # Debian: update x.y.z -> xyz version
|
||||||
|
+ if [ -n "$versionNum" ]
|
||||||
|
+ then
|
||||||
|
+ versionNum=$(echo "$projectVersion" | sed -e 's@\.@@g')
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
+ projectDirName="$dirBase${versionNum:-$projectVersion}"
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+optMode=ugo # Default mode is always 'ugo'
|
||||||
|
+unset optAll optList optShell optVersion
|
||||||
|
+
|
||||||
|
+# Parse options
|
||||||
|
while [ "$#" -gt 0 ]
|
||||||
|
do
|
||||||
|
case "$1" in
|
||||||
|
- -h | -help)
|
||||||
|
- usage
|
||||||
|
+ -h | -help*)
|
||||||
|
+ printHelp
|
||||||
|
;;
|
||||||
|
-a | -all)
|
||||||
|
optAll=true
|
||||||
|
+ unset optShell
|
||||||
|
;;
|
||||||
|
-l | -list)
|
||||||
|
optList=true
|
||||||
|
+ unset optShell
|
||||||
|
+ ;;
|
||||||
|
+ -list-test)
|
||||||
|
+ optList='test'
|
||||||
|
+ unset optShell
|
||||||
|
+ ;;
|
||||||
|
+ -csh | -sh | -csh-verbose | -sh-verbose)
|
||||||
|
+ optShell="${1#-}"
|
||||||
|
+ unset optAll
|
||||||
|
+ ;;
|
||||||
|
+ -mode=[ugo]*)
|
||||||
|
+ optMode="${1#*=}"
|
||||||
|
+ ;;
|
||||||
|
+ -prefix=/*)
|
||||||
|
+ prefixDir="${1#*=}"
|
||||||
|
+ prefixDir="${prefixDir%/}"
|
||||||
|
+ ;;
|
||||||
|
+ -version=*)
|
||||||
|
+ optVersion="${1#*=}"
|
||||||
|
;;
|
||||||
|
-m | -mode)
|
||||||
|
- [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
||||||
|
- mode="$2"
|
||||||
|
-
|
||||||
|
- # sanity check:
|
||||||
|
- case "$mode" in
|
||||||
|
- *u* | *g* | *o* )
|
||||||
|
- ;;
|
||||||
|
- *)
|
||||||
|
- usage "'$1' option with invalid mode '$mode'"
|
||||||
|
- ;;
|
||||||
|
- esac
|
||||||
|
+ optMode="$2"
|
||||||
|
shift
|
||||||
|
+ # Sanity check. Handles missing argument too.
|
||||||
|
+ case "$optMode" in
|
||||||
|
+ ([ugo]*)
|
||||||
|
+ ;;
|
||||||
|
+ (*)
|
||||||
|
+ die "invalid mode '$optMode'"
|
||||||
|
+ ;;
|
||||||
|
+ esac
|
||||||
|
;;
|
||||||
|
-p | -prefix)
|
||||||
|
- [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
||||||
|
- prefixDir="$2"
|
||||||
|
+ [ "$#" -ge 2 ] || die "'$1' option requires an argument"
|
||||||
|
+ prefixDir="${2%/}"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-q | -quiet)
|
||||||
|
@@ -171,13 +242,8 @@
|
||||||
|
optSilent=true
|
||||||
|
;;
|
||||||
|
-v | -version)
|
||||||
|
- [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
||||||
|
- version="$2"
|
||||||
|
- # convert x.y.z -> xyz version (if installation looked like debian)
|
||||||
|
- if [ -n "$versionNum" ]
|
||||||
|
- then
|
||||||
|
- versionNum=$(echo "$version" | sed -e 's@\.@@g')
|
||||||
|
- fi
|
||||||
|
+ [ "$#" -ge 2 ] || die "'$1' option requires an argument"
|
||||||
|
+ optVersion="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
@@ -185,7 +251,7 @@
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
- usage "unknown option: '$*'"
|
||||||
|
+ die "unknown option: '$1'"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
break
|
||||||
|
@@ -195,11 +261,28 @@
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
-# debugging:
|
||||||
|
-# echo "Installed locations:"
|
||||||
|
-# for i in projectDir prefixDir projectDirName version versionNum
|
||||||
|
+#-------------------------------------------------------------------------------
|
||||||
|
+
|
||||||
|
+if [ -n "$optVersion" ]
|
||||||
|
+then
|
||||||
|
+ setVersion $optVersion
|
||||||
|
+elif [ -z "$projectVersion" ]
|
||||||
|
+then
|
||||||
|
+ guessVersion
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+# Updates:
|
||||||
|
+# - projectDir for changes via -prefix or -version
|
||||||
|
+# - groupDir for changes via -prefix
|
||||||
|
+projectDir="$prefixDir/$projectDirName"
|
||||||
|
+groupDir="${WM_PROJECT_SITE:-$prefixDir/site}"
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# Debugging:
|
||||||
|
+# echo "Installed locations:" 1>&2
|
||||||
|
+# for i in projectDir prefixDir projectDirName projectVersion
|
||||||
|
# do
|
||||||
|
-# eval echo "$i=\$$i"
|
||||||
|
+# eval echo "$i=\$$i" 1>&2
|
||||||
|
# done
|
||||||
|
|
||||||
|
|
||||||
|
@@ -210,30 +293,18 @@
|
||||||
|
|
||||||
|
# Define the various places to be searched:
|
||||||
|
unset dirList
|
||||||
|
-case "$mode" in
|
||||||
|
-*u*) # user
|
||||||
|
- userDir="$HOME/.${WM_PROJECT:-OpenFOAM}"
|
||||||
|
- dirList="$dirList $userDir/$version $userDir"
|
||||||
|
+case "$optMode" in (*u*) # (U)ser
|
||||||
|
+ dirList="$dirList $userDir/$projectVersion $userDir"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
-case "$mode" in
|
||||||
|
-*g*) # group (site)
|
||||||
|
- siteDir="${WM_PROJECT_SITE:-$prefixDir/site}"
|
||||||
|
- dirList="$dirList $siteDir/$version $siteDir"
|
||||||
|
+case "$optMode" in (*g*) # (G)roup == site
|
||||||
|
+ dirList="$dirList $groupDir/$projectVersion $groupDir"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
-case "$mode" in
|
||||||
|
-*o*) # other (shipped)
|
||||||
|
- if [ -n "$versionNum" ]
|
||||||
|
- then
|
||||||
|
- # debian packaging
|
||||||
|
- dirList="$dirList $prefixDir/openfoam$versionNum/etc"
|
||||||
|
- else
|
||||||
|
- # standard packaging
|
||||||
|
- dirList="$dirList $prefixDir/${WM_PROJECT:-OpenFOAM}-$version/etc"
|
||||||
|
- fi
|
||||||
|
+case "$optMode" in (*o*) # (O)ther == shipped
|
||||||
|
+ dirList="$dirList $projectDir/etc"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
set -- $dirList
|
||||||
|
@@ -244,50 +315,87 @@
|
||||||
|
#
|
||||||
|
|
||||||
|
exitCode=0
|
||||||
|
-if [ "$optList" = true ]
|
||||||
|
+if [ -n "$optList" ]
|
||||||
|
then
|
||||||
|
|
||||||
|
- # list directories, or potential file locations
|
||||||
|
- [ "$nArgs" -le 1 ] || usage
|
||||||
|
+ # List directories, or potential file locations
|
||||||
|
+ [ "$nArgs" -le 1 ] || \
|
||||||
|
+ die "-list expects 0 or 1 filename, but $nArgs provided"
|
||||||
|
|
||||||
|
- # a silly combination, but -quiet does have precedence
|
||||||
|
- [ "$optQuiet" = true ] && exit 0
|
||||||
|
+ # A silly combination, but -quiet does have precedence
|
||||||
|
+ [ -n "$optQuiet" ] && exit 0
|
||||||
|
+
|
||||||
|
+ # Test for directory or file too?
|
||||||
|
+ if [ "$optList" = "test" ]
|
||||||
|
+ then
|
||||||
|
+ exitCode=2 # Fallback to a general error (file not found)
|
||||||
|
|
||||||
|
- for dir
|
||||||
|
- do
|
||||||
|
if [ "$nArgs" -eq 1 ]
|
||||||
|
then
|
||||||
|
- echo "$dir/$fileName"
|
||||||
|
+ for dir
|
||||||
|
+ do
|
||||||
|
+ resolved="$dir/$fileName"
|
||||||
|
+ if [ -f "$resolved" ]
|
||||||
|
+ then
|
||||||
|
+ echo "$resolved"
|
||||||
|
+ exitCode=0 # OK
|
||||||
|
+ fi
|
||||||
|
+ done
|
||||||
|
else
|
||||||
|
- echo "$dir"
|
||||||
|
+ for dir
|
||||||
|
+ do
|
||||||
|
+ if [ -d "$dir" ]
|
||||||
|
+ then
|
||||||
|
+ echo "$dir"
|
||||||
|
+ exitCode=0 # OK
|
||||||
|
+ fi
|
||||||
|
+ done
|
||||||
|
fi
|
||||||
|
- done
|
||||||
|
+ else
|
||||||
|
+ for dir
|
||||||
|
+ do
|
||||||
|
+ echo "$dir${fileName:+/}$fileName"
|
||||||
|
+ done
|
||||||
|
+ fi
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
- [ "$nArgs" -eq 1 ] || usage
|
||||||
|
+ [ "$nArgs" -eq 1 ] || die "One filename expected - $nArgs provided"
|
||||||
|
|
||||||
|
- # general error, eg file not found
|
||||||
|
- exitCode=2
|
||||||
|
+ exitCode=2 # Fallback to a general error (file not found)
|
||||||
|
|
||||||
|
for dir
|
||||||
|
do
|
||||||
|
if [ -f "$dir/$fileName" ]
|
||||||
|
then
|
||||||
|
exitCode=0
|
||||||
|
- if [ "$optQuiet" = true ]
|
||||||
|
- then
|
||||||
|
+ [ -n "$optQuiet" ] && break
|
||||||
|
+
|
||||||
|
+ case "$optShell" in
|
||||||
|
+ (*verbose)
|
||||||
|
+ echo "Using: $dir/$fileName" 1>&2
|
||||||
|
+ ;;
|
||||||
|
+ esac
|
||||||
|
+
|
||||||
|
+ case "$optShell" in
|
||||||
|
+ csh*)
|
||||||
|
+ echo "source $dir/$fileName"
|
||||||
|
break
|
||||||
|
- else
|
||||||
|
+ ;;
|
||||||
|
+ sh*)
|
||||||
|
+ echo ". $dir/$fileName"
|
||||||
|
+ break
|
||||||
|
+ ;;
|
||||||
|
+ *)
|
||||||
|
echo "$dir/$fileName"
|
||||||
|
- [ "$optAll" = true ] || break
|
||||||
|
- fi
|
||||||
|
+ [ -n "$optAll" ] || break
|
||||||
|
+ ;;
|
||||||
|
+ esac
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
-
|
||||||
|
exit $exitCode
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
--- OpenFOAM-v1612+.orig/etc/bashrc 2016-12-23 15:22:59.000000000 +0100
|
||||||
|
+++ OpenFOAM-v1612+/etc/bashrc 2017-03-22 16:05:05.751237072 +0100
|
||||||
|
@@ -42,7 +42,8 @@
|
||||||
|
#
|
||||||
|
# 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 @@
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
. $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 -uw OpenFOAM-v1612+.orig/etc/cshrc OpenFOAM-v1612+/etc/cshrc
|
||||||
|
--- OpenFOAM-v1612+.orig/etc/cshrc 2016-12-23 15:22:59.000000000 +0100
|
||||||
|
+++ OpenFOAM-v1612+/etc/cshrc 2017-03-22 16:04:51.839291067 +0100
|
||||||
|
@@ -148,8 +148,10 @@
|
||||||
|
# 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
|
||||||
|
--- OpenFOAM-v1612+.orig/etc/config.sh/settings 2016-12-23 15:22:59.000000000 +0100
|
||||||
|
+++ OpenFOAM-v1612+/etc/config.sh/settings 2017-12-21 20:40:50.109036445 +0100
|
||||||
|
@@ -141,7 +141,7 @@
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# 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 @@
|
||||||
|
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
|
||||||
|
# ~~~~~~~~~~~~~~~~~
|
||||||
|
--- OpenFOAM-v1612+.orig/etc/config.csh/settings 2016-12-23 15:22:59.000000000 +0100
|
||||||
|
+++ OpenFOAM-v1612+/etc/config.csh/settings 2017-12-21 20:37:24.301773802 +0100
|
||||||
|
@@ -137,7 +137,7 @@
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# 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 @@
|
||||||
|
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
|
||||||
|
# ~~~~~~~~~~~~~~~~~
|
||||||
|
--- OpenFOAM-v1612+.orig/etc/config.sh/mpi 2016-12-23 15:22:59.000000000 +0100
|
||||||
|
+++ OpenFOAM-v1612+/etc/config.sh/mpi 2017-03-29 13:55:57.507980699 +0200
|
||||||
|
@@ -75,8 +75,15 @@
|
||||||
|
_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
|
||||||
|
--- OpenFOAM-v1612+.orig/etc/config.csh/mpi 2016-12-23 15:22:59.000000000 +0100
|
||||||
|
+++ OpenFOAM-v1612+/etc/config.csh/mpi 2017-03-29 13:56:36.347835938 +0200
|
||||||
|
@@ -71,8 +71,15 @@
|
||||||
|
_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
|
||||||
|
--- OpenFOAM-v1612+.orig/src/fvAgglomerationMethods/Allwmake 2017-01-02 09:56:17.578558265 +0100
|
||||||
|
+++ OpenFOAM-v1612+/src/fvAgglomerationMethods/Allwmake 2017-04-18 18:58:38.236795902 +0200
|
||||||
|
@@ -4,9 +4,13 @@
|
||||||
|
# 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
|
||||||
|
--- OpenFOAM-v1612+.orig/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options 2017-01-02 09:56:17.578558265 +0100
|
||||||
|
+++ OpenFOAM-v1612+/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options 2017-04-18 18:59:16.860662811 +0200
|
||||||
|
@@ -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
|
||||||
|
--- OpenFOAM-v1612+.orig/src/parallel/decompose/Allwmake 2017-03-21 16:34:44.599021283 +0100
|
||||||
|
+++ OpenFOAM-v1612+/src/parallel/decompose/Allwmake 2017-03-21 16:28:57.243969660 +0100
|
||||||
|
@@ -36,6 +36,7 @@
|
||||||
|
|
||||||
|
# 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 @@
|
||||||
|
|
||||||
|
# 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)"
|
||||||
|
--- OpenFOAM-v1612+.orig/src/parallel/decompose/metisDecomp/Make/options 2017-03-21 16:34:25.383075328 +0100
|
||||||
|
+++ OpenFOAM-v1612+/src/parallel/decompose/metisDecomp/Make/options 2017-03-21 16:30:15.727758338 +0100
|
||||||
|
@@ -8,6 +8,7 @@
|
||||||
|
* 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
|
||||||
|
--- OpenFOAM-v1612+.orig/src/parallel/decompose/ptscotchDecomp/Make/options 2017-03-21 16:34:34.607049385 +0100
|
||||||
|
+++ OpenFOAM-v1612+/src/parallel/decompose/ptscotchDecomp/Make/options 2017-03-21 16:30:00.479799399 +0100
|
||||||
|
@@ -16,6 +16,7 @@
|
||||||
|
* 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) \
|
||||||
|
--- OpenFOAM-v1612+.orig/src/parallel/decompose/scotchDecomp/Make/options 2017-03-21 16:34:39.159036582 +0100
|
||||||
|
+++ OpenFOAM-v1612+/src/parallel/decompose/scotchDecomp/Make/options 2017-03-21 16:29:46.719836452 +0100
|
||||||
|
@@ -16,6 +16,7 @@
|
||||||
|
* 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 \
|
||||||
|
--- OpenFOAM-v1612+.orig/applications/utilities/mesh/manipulation/renumberMesh/Allwmake 2016-12-23 15:22:59.000000000 +0100
|
||||||
|
+++ OpenFOAM-v1612+/applications/utilities/mesh/manipulation/renumberMesh/Allwmake 2017-03-28 11:13:35.222727218 +0200
|
||||||
|
@@ -4,20 +4,35 @@
|
||||||
|
# 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
|
||||||
|
--- OpenFOAM-v1612+.orig/src/renumber/Allwmake 2016-12-23 15:22:59.000000000 +0100
|
||||||
|
+++ OpenFOAM-v1612+/src/renumber/Allwmake 2017-03-28 11:10:22.195543610 +0200
|
||||||
|
@@ -5,14 +5,11 @@
|
||||||
|
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
|
||||||
|
|
||||||
|
--- OpenFOAM-v1612+.orig/src/renumber/zoltanRenumber/Make/options 2016-12-23 15:22:59.000000000 +0100
|
||||||
|
+++ OpenFOAM-v1612+/src/renumber/zoltanRenumber/Make/options 2017-03-28 11:50:46.484343848 +0200
|
||||||
|
@@ -4,10 +4,13 @@
|
||||||
|
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
|
@ -1,84 +0,0 @@
|
|||||||
--- OpenFOAM-v1612+.orig/applications/utilities/mesh/manipulation/renumberMesh/Allwmake 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-v1612+/applications/utilities/mesh/manipulation/renumberMesh/Allwmake 2017-03-28 11:13:35.222727218 +0200
|
|
||||||
@@ -4,20 +4,35 @@
|
|
||||||
# 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
|
|
||||||
--- OpenFOAM-v1612+.orig/src/renumber/Allwmake 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-v1612+/src/renumber/Allwmake 2017-03-28 11:10:22.195543610 +0200
|
|
||||||
@@ -5,14 +5,11 @@
|
|
||||||
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
|
|
||||||
|
|
||||||
--- OpenFOAM-v1612+.orig/src/renumber/zoltanRenumber/Make/options 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-v1612+/src/renumber/zoltanRenumber/Make/options 2017-03-28 11:50:46.484343848 +0200
|
|
||||||
@@ -4,10 +4,13 @@
|
|
||||||
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
|
|
@ -1,22 +0,0 @@
|
|||||||
--- OpenFOAM-plus.orig/etc/config.sh/settings 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-plus/etc/config.sh/settings 2017-04-04 12:21:31.295498985 +0200
|
|
||||||
@@ -157,7 +157,7 @@
|
|
||||||
export FOAM_EXT_LIBBIN=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/lib
|
|
||||||
|
|
||||||
# Site-specific directory
|
|
||||||
-siteDir="${WM_PROJECT_SITE:-$WM_PROJECT_INST_DIR/site}"
|
|
||||||
+siteDir="${WM_PROJECT_SITE:-$WM_PROJECT_DIR/site}" #SPACK: not in parent directory
|
|
||||||
|
|
||||||
# Shared site executables/libraries
|
|
||||||
# Similar naming convention as ~OpenFOAM expansion
|
|
||||||
--- OpenFOAM-plus.orig/etc/config.csh/settings 2016-12-23 15:22:59.000000000 +0100
|
|
||||||
+++ OpenFOAM-plus/etc/config.csh/settings 2017-03-23 12:23:52.737891912 +0100
|
|
||||||
@@ -156,7 +156,7 @@
|
|
||||||
if ( $?WM_PROJECT_SITE ) then
|
|
||||||
set siteDir=$WM_PROJECT_SITE
|
|
||||||
else
|
|
||||||
- set siteDir=$WM_PROJECT_INST_DIR/site
|
|
||||||
+ set siteDir=$WM_PROJECT_DIR/site #SPACK: not in parent directory
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Shared site executables/libraries
|
|
@ -1,5 +1,5 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 2017 Mark Olesen, OpenCFD Ltd.
|
# Copyright (c) 2017-2018 Mark Olesen, OpenCFD Ltd.
|
||||||
#
|
#
|
||||||
# This file was authored by Mark Olesen <mark.olesen@esi-group.com>
|
# This file was authored by Mark Olesen <mark.olesen@esi-group.com>
|
||||||
# and is released as part of spack under the LGPL license.
|
# and is released as part of spack under the LGPL license.
|
||||||
@ -276,25 +276,28 @@ class OpenfoamCom(Package):
|
|||||||
|
|
||||||
maintainers = ['olesenm']
|
maintainers = ['olesenm']
|
||||||
homepage = "http://www.openfoam.com/"
|
homepage = "http://www.openfoam.com/"
|
||||||
baseurl = "https://sourceforge.net/projects/openfoamplus/files/"
|
|
||||||
gitrepo = "https://develop.openfoam.com/Development/OpenFOAM-plus.git"
|
gitrepo = "https://develop.openfoam.com/Development/OpenFOAM-plus.git"
|
||||||
|
url = "https://sourceforge.net/projects/openfoamplus/files/v1706/OpenFOAM-v1706.tgz"
|
||||||
|
list_url = "https://sourceforge.net/projects/openfoamplus/files/"
|
||||||
|
list_depth = 2
|
||||||
|
|
||||||
version('1706', '630d30770f7b54d6809efbf94b7d7c8f',
|
version('1712', '6ad92df051f4d52c7d0ec34f4b8eb3bc')
|
||||||
url=baseurl + 'v1706/OpenFOAM-v1706.tgz')
|
version('1706', '630d30770f7b54d6809efbf94b7d7c8f')
|
||||||
version('1612', 'ca02c491369150ab127cbb88ec60fbdf',
|
version('1612', 'ca02c491369150ab127cbb88ec60fbdf')
|
||||||
url=baseurl + 'v1612+/OpenFOAM-v1612+.tgz')
|
|
||||||
version('develop', branch='develop', git=gitrepo) # Needs credentials
|
version('develop', branch='develop', git=gitrepo) # Needs credentials
|
||||||
|
|
||||||
variant('int64', default=False,
|
|
||||||
description='Compile with 64-bit label')
|
|
||||||
variant('float32', default=False,
|
variant('float32', default=False,
|
||||||
description='Compile with 32-bit scalar (single-precision)')
|
description='Use single-precision')
|
||||||
|
variant('int64', default=False,
|
||||||
|
description='With 64-bit labels')
|
||||||
variant('knl', default=False,
|
variant('knl', default=False,
|
||||||
description='Use KNL compiler settings')
|
description='Use KNL compiler settings')
|
||||||
variant('scotch', default=True,
|
variant('kahip', default=True,
|
||||||
description='With scotch/ptscotch for decomposition')
|
description='With kahip decomposition')
|
||||||
variant('metis', default=False,
|
variant('metis', default=False,
|
||||||
description='With metis for decomposition')
|
description='With metis decomposition')
|
||||||
|
variant('scotch', default=True,
|
||||||
|
description='With scotch/ptscotch decomposition')
|
||||||
variant('zoltan', default=False,
|
variant('zoltan', default=False,
|
||||||
description='With zoltan renumbering')
|
description='With zoltan renumbering')
|
||||||
# TODO?# variant('scalasca', default=False,
|
# TODO?# variant('scalasca', default=False,
|
||||||
@ -322,6 +325,7 @@ class OpenfoamCom(Package):
|
|||||||
# Require scotch with ptscotch - corresponds to standard OpenFOAM setup
|
# Require scotch with ptscotch - corresponds to standard OpenFOAM setup
|
||||||
depends_on('scotch~metis+mpi~int64', when='+scotch~int64')
|
depends_on('scotch~metis+mpi~int64', when='+scotch~int64')
|
||||||
depends_on('scotch~metis+mpi+int64', when='+scotch+int64')
|
depends_on('scotch~metis+mpi+int64', when='+scotch+int64')
|
||||||
|
depends_on('kahip', when='+kahip')
|
||||||
depends_on('metis@5:', when='+metis')
|
depends_on('metis@5:', when='+metis')
|
||||||
depends_on('metis+int64', when='+metis+int64')
|
depends_on('metis+int64', when='+metis+int64')
|
||||||
# mgridgen is statically linked
|
# mgridgen is statically linked
|
||||||
@ -344,15 +348,7 @@ class OpenfoamCom(Package):
|
|||||||
assets = []
|
assets = []
|
||||||
|
|
||||||
# Version-specific patches
|
# Version-specific patches
|
||||||
patch('1612-bin.patch', when='@1612')
|
patch('1612-spack-patches.patch', when='@1612')
|
||||||
patch('1612-build.patch', when='@1612')
|
|
||||||
patch('1612-etc.patch', when='@1612')
|
|
||||||
patch('1612-site.patch', when='@1612')
|
|
||||||
patch('1612-mpi.patch', when='@1612')
|
|
||||||
patch('1612-mgridgen-lib.patch', when='@1612')
|
|
||||||
patch('1612-scotch-metis-lib.patch', when='@1612')
|
|
||||||
patch('1612-zoltan-lib.patch', when='@1612')
|
|
||||||
patch('1706-site.patch', when='@1706')
|
|
||||||
|
|
||||||
# Some user config settings
|
# Some user config settings
|
||||||
# default: 'compile-option': 'RpathOpt',
|
# default: 'compile-option': 'RpathOpt',
|
||||||
@ -378,6 +374,15 @@ class OpenfoamCom(Package):
|
|||||||
# - End of definitions / setup -
|
# - End of definitions / setup -
|
||||||
#
|
#
|
||||||
|
|
||||||
|
def url_for_version(self, version):
|
||||||
|
# Prior to 'v1706' and additional '+' in the naming
|
||||||
|
fmt = self.list_url
|
||||||
|
if version <= Version('1612'):
|
||||||
|
fmt += 'v{0}+/OpenFOAM-v{0}+.tgz'
|
||||||
|
else:
|
||||||
|
fmt += 'v{0}/OpenFOAM-v{0}.tgz'
|
||||||
|
return fmt.format(version, version)
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_environment(self, spack_env, run_env):
|
||||||
"""Add environment variables to the generated module file.
|
"""Add environment variables to the generated module file.
|
||||||
These environment variables come from running:
|
These environment variables come from running:
|
||||||
@ -478,7 +483,6 @@ def patch(self):
|
|||||||
add_extra_files(self, self.common, self.assets)
|
add_extra_files(self, self.common, self.assets)
|
||||||
|
|
||||||
# Avoid WM_PROJECT_INST_DIR for ThirdParty, site or jobControl.
|
# Avoid WM_PROJECT_INST_DIR for ThirdParty, site or jobControl.
|
||||||
# Use openfoam-site.patch to handle jobControl, site.
|
|
||||||
#
|
#
|
||||||
# Filtering: bashrc,cshrc (using a patch is less flexible)
|
# Filtering: bashrc,cshrc (using a patch is less flexible)
|
||||||
edits = {
|
edits = {
|
||||||
@ -499,6 +503,18 @@ def patch(self):
|
|||||||
posix=join_path('etc', 'config.sh', 'settings'),
|
posix=join_path('etc', 'config.sh', 'settings'),
|
||||||
cshell=join_path('etc', 'config.csh', 'settings'))
|
cshell=join_path('etc', 'config.csh', 'settings'))
|
||||||
|
|
||||||
|
# The following filtering is non-vital. It simply prevents 'site' dirs
|
||||||
|
# from the the wrong level (likely non-existent anyhow) from being
|
||||||
|
# added to PATH, LD_LIBRARY_PATH.
|
||||||
|
for rcdir in ['config.sh', 'config.csh']:
|
||||||
|
rcfile = join_path('etc', rcdir, 'settings')
|
||||||
|
if os.path.isfile(rcfile):
|
||||||
|
filter_file(
|
||||||
|
'WM_PROJECT_INST_DIR/',
|
||||||
|
'WM_PROJECT_DIR/',
|
||||||
|
rcfile,
|
||||||
|
backup=False)
|
||||||
|
|
||||||
def configure(self, spec, prefix):
|
def configure(self, spec, prefix):
|
||||||
"""Make adjustments to the OpenFOAM configuration files in their various
|
"""Make adjustments to the OpenFOAM configuration files in their various
|
||||||
locations: etc/bashrc, etc/config.sh/FEATURE and customizations that
|
locations: etc/bashrc, etc/config.sh/FEATURE and customizations that
|
||||||
@ -547,6 +563,7 @@ def configure(self, spec, prefix):
|
|||||||
('PATH', foamAddPath(user_mpi['bindir'])),
|
('PATH', foamAddPath(user_mpi['bindir'])),
|
||||||
],
|
],
|
||||||
'scotch': {},
|
'scotch': {},
|
||||||
|
'kahip': {},
|
||||||
'metis': {},
|
'metis': {},
|
||||||
'ensight': {}, # Disable settings
|
'ensight': {}, # Disable settings
|
||||||
'paraview': [],
|
'paraview': [],
|
||||||
@ -560,6 +577,11 @@ def configure(self, spec, prefix):
|
|||||||
'SCOTCH_VERSION': 'scotch-{0}'.format(spec['scotch'].version),
|
'SCOTCH_VERSION': 'scotch-{0}'.format(spec['scotch'].version),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if '+kahip' in spec:
|
||||||
|
self.etc_config['kahip'] = {
|
||||||
|
'KAHIP_ARCH_PATH': spec['kahip'].prefix,
|
||||||
|
}
|
||||||
|
|
||||||
if '+metis' in spec:
|
if '+metis' in spec:
|
||||||
self.etc_config['metis'] = {
|
self.etc_config['metis'] = {
|
||||||
'METIS_ARCH_PATH': spec['metis'].prefix,
|
'METIS_ARCH_PATH': spec['metis'].prefix,
|
||||||
@ -748,6 +770,8 @@ def __init__(self, spec, **kwargs):
|
|||||||
platform += 'ia64'
|
platform += 'ia64'
|
||||||
elif target == 'armv7l':
|
elif target == 'armv7l':
|
||||||
platform += 'ARM7'
|
platform += 'ARM7'
|
||||||
|
elif target == 'aarch64':
|
||||||
|
platform += 'ARM64'
|
||||||
elif target == 'ppc64':
|
elif target == 'ppc64':
|
||||||
platform += 'PPC64'
|
platform += 'PPC64'
|
||||||
elif target == 'ppc64le':
|
elif target == 'ppc64le':
|
||||||
|
@ -7,34 +7,28 @@
|
|||||||
# \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd.
|
# \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd.
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
# License
|
# License
|
||||||
# This file is part of OpenFOAM.
|
# This file is part of OpenFOAM, licensed under GNU General Public License
|
||||||
#
|
# <http://www.gnu.org/licenses/>.
|
||||||
# OpenFOAM 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 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# OpenFOAM 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 OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
#
|
||||||
# Script
|
# Script
|
||||||
# foamEtcFile
|
# foamEtcFile
|
||||||
#
|
#
|
||||||
# Description
|
# Description
|
||||||
# Locate user/group/other files with semantics similar to the
|
# Locate user/group/other file as per '#includeEtc'.
|
||||||
# ~OpenFOAM/fileName expansion.
|
|
||||||
#
|
#
|
||||||
# The -mode option can be used to allow chaining from
|
# The -mode option can be used to allow chaining from personal settings
|
||||||
# personal settings to site-wide settings.
|
# to site-wide settings.
|
||||||
#
|
#
|
||||||
# For example, within the user ~/.OpenFOAM/<VER>/prefs.sh:
|
# For example, within the user ~/.OpenFOAM/<VER>/config.sh/compiler:
|
||||||
# \code
|
# \code
|
||||||
# eval $(foamEtcFile -sh -mode=go prefs.sh)
|
# eval $(foamEtcFile -sh -mode=go config.sh/compiler)
|
||||||
|
# \endcode
|
||||||
|
#
|
||||||
|
# The -mode option is similarly used within etc/{bashrc,cshrc} to ensure
|
||||||
|
# that system prefs are respected:
|
||||||
|
# \code
|
||||||
|
# eval $(foamEtcFile -sh -mode=o prefs.sh)
|
||||||
|
# eval $(foamEtcFile -sh -mode=ug prefs.sh)
|
||||||
# \endcode
|
# \endcode
|
||||||
#
|
#
|
||||||
# Environment
|
# Environment
|
||||||
@ -46,42 +40,37 @@
|
|||||||
# This script must exist in one of these locations:
|
# This script must exist in one of these locations:
|
||||||
# - $WM_PROJECT_INST_DIR/OpenFOAM-<VERSION>/bin
|
# - $WM_PROJECT_INST_DIR/OpenFOAM-<VERSION>/bin
|
||||||
# - $WM_PROJECT_INST_DIR/openfoam-<VERSION>/bin
|
# - $WM_PROJECT_INST_DIR/openfoam-<VERSION>/bin
|
||||||
# - $WM_PROJECT_INST_DIR/OpenFOAM+<VERSION>/bin
|
|
||||||
# - $WM_PROJECT_INST_DIR/openfoam+<VERSION>/bin
|
|
||||||
# - $WM_PROJECT_INST_DIR/openfoam<VERSION>/bin (debian version)
|
# - $WM_PROJECT_INST_DIR/openfoam<VERSION>/bin (debian version)
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
unset optQuiet optSilent
|
printHelp() {
|
||||||
usage() {
|
|
||||||
[ "${optQuiet:-$optSilent}" = true ] && exit 1
|
|
||||||
exec 1>&2
|
|
||||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
|
||||||
cat<<USAGE
|
cat<<USAGE
|
||||||
|
|
||||||
Usage: foamEtcFile [OPTION] fileName
|
Usage: foamEtcFile [OPTION] fileName
|
||||||
foamEtcFile [OPTION] [-list|-list-test] [fileName]
|
foamEtcFile [OPTION] [-list|-list-test] [fileName]
|
||||||
|
|
||||||
options:
|
options:
|
||||||
-a, -all Return all files (otherwise stop after the first match)
|
-all (-a) Return all files (otherwise stop after the first match)
|
||||||
-l, -list List directories or files to be checked
|
-list (-l) List directories or files to be checked
|
||||||
-list-test List (existing) directories or files to be checked
|
-list-test List (existing) directories or files to be checked
|
||||||
-mode=MODE Any combination of u(user), g(group), o(other)
|
-mode=MODE Any combination of u(user), g(group), o(other)
|
||||||
-prefix=DIR Specify an alternative installation prefix
|
-prefix=DIR Specify an alternative installation prefix
|
||||||
-version=VER Specify alternative OpenFOAM version (eg, 3.0, 1612, ...)
|
-version=VER Specify alternative OpenFOAM version (eg, 3.0, 1612, ...)
|
||||||
-csh | -sh Produce output suitable for a csh or sh 'eval'
|
-csh Produce output suitable for a csh or sh 'eval'
|
||||||
-csh-verbose | -sh-verbose
|
-csh-verbose As per -csh with additional verbosity
|
||||||
As per -csh | -sh, with additional verbosity
|
-sh Produce output suitable for a csh or sh 'eval'
|
||||||
-q, -quiet Suppress all normal output
|
-sh-verbose As per -sh with additional verbosity
|
||||||
-s, -silent Suppress stderr, except -csh-verbose, -sh-verbose output
|
-quiet (-q) Suppress all normal output
|
||||||
|
-silent (-s) Suppress stderr, except -csh-verbose, -sh-verbose output
|
||||||
-help Print the usage
|
-help Print the usage
|
||||||
|
|
||||||
Locate user/group/other file with semantics similar to the
|
Locate user/group/other file as per '#includeEtc'
|
||||||
~OpenFOAM/fileName expansion.
|
|
||||||
|
|
||||||
Single character options must not be grouped. Equivalent options:
|
Do not group single character options.
|
||||||
-mode=MODE, -mode MODE, -m MODE
|
Equivalent options:
|
||||||
-prefix=DIR, -prefix DIR, -p DIR
|
| -mode=MODE | -mode MODE | -m MODE
|
||||||
-version=VER, -version VER, -v VER
|
| -prefix=DIR | -prefix DIR | -p DIR
|
||||||
|
| -version=VER | -version VER | -v VER
|
||||||
|
|
||||||
Exit status
|
Exit status
|
||||||
0 when the file is found. Print resolved path to stdout.
|
0 when the file is found. Print resolved path to stdout.
|
||||||
@ -89,9 +78,11 @@ Exit status
|
|||||||
2 when the file is not found.
|
2 when the file is not found.
|
||||||
|
|
||||||
USAGE
|
USAGE
|
||||||
exit 1
|
exit 0 # A clean exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
unset optQuiet optSilent
|
||||||
# Report error and exit
|
# Report error and exit
|
||||||
die()
|
die()
|
||||||
{
|
{
|
||||||
@ -146,13 +137,6 @@ guessVersion()
|
|||||||
version="${version%%*-}" # Extra safety, eg openfoam-version-packager
|
version="${version%%*-}" # Extra safety, eg openfoam-version-packager
|
||||||
;;
|
;;
|
||||||
|
|
||||||
(OpenFOAM+* | openfoam+*)
|
|
||||||
# Alternative naming: OpenFOAM+<VERSION> or openfoam+<VERSION>
|
|
||||||
dirBase="${projectDirName%%+*}+"
|
|
||||||
version="${projectDirName#*+}"
|
|
||||||
version="${version%%*-}" # Extra safety, eg openfoam-version-packager
|
|
||||||
;;
|
|
||||||
|
|
||||||
(openfoam[0-9]*)
|
(openfoam[0-9]*)
|
||||||
# Debian naming: openfoam<VERSION>
|
# Debian naming: openfoam<VERSION>
|
||||||
dirBase="openfoam"
|
dirBase="openfoam"
|
||||||
@ -205,8 +189,8 @@ unset optAll optList optShell optVersion
|
|||||||
while [ "$#" -gt 0 ]
|
while [ "$#" -gt 0 ]
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
-h | -help)
|
-h | -help*)
|
||||||
usage
|
printHelp
|
||||||
;;
|
;;
|
||||||
-a | -all)
|
-a | -all)
|
||||||
optAll=true
|
optAll=true
|
||||||
|
Loading…
Reference in New Issue
Block a user