Skip to content
Snippets Groups Projects
Commit ce4c19c7 authored by mark's avatar mark
Browse files

COMP: adjust to use non-gcc compilers for scotch and ptscotch

parent c291d574
No related branches found
No related tags found
1 merge request!4Merge develop into master for v1706 release
...@@ -38,7 +38,7 @@ cd ${0%/*} && wmakeCheckPwd "$WM_THIRD_PARTY_DIR" 2>/dev/null || { ...@@ -38,7 +38,7 @@ cd ${0%/*} && wmakeCheckPwd "$WM_THIRD_PARTY_DIR" 2>/dev/null || {
exit 1 exit 1
} }
[ -n "$FOAM_EXT_LIBBIN" ] || { [ -n "$FOAM_EXT_LIBBIN" ] || {
echo "Error (${0##*/}) : \$FOAM_EXT_LIBBIN not set" echo "Error (${0##*/}) : \$FOAM_EXT_LIBBIN not set for ThirdParty"
echo " Check your OpenFOAM environment and installation" echo " Check your OpenFOAM environment and installation"
exit 1 exit 1
} }
...@@ -51,6 +51,7 @@ cd ${0%/*} && wmakeCheckPwd "$WM_THIRD_PARTY_DIR" 2>/dev/null || { ...@@ -51,6 +51,7 @@ cd ${0%/*} && wmakeCheckPwd "$WM_THIRD_PARTY_DIR" 2>/dev/null || {
[ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS" [ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS"
[ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS" [ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS"
useGccFlag $@ # Scan arguments for a '-gcc' option
warnBuildIssues() warnBuildIssues()
{ {
...@@ -131,9 +132,6 @@ then ...@@ -131,9 +132,6 @@ then
mkdir -p $incDIR 2>/dev/null mkdir -p $incDIR 2>/dev/null
mkdir -p $libDIR 2>/dev/null mkdir -p $libDIR 2>/dev/null
# 'CC' already set (eg, from WM_CC) - set scotch-specific 'CCS' too
[ -n "$CC" ] && export CCS="$CC"
if [ -f $scotchMakefile ] if [ -f $scotchMakefile ]
then then
rm -f Makefile.inc rm -f Makefile.inc
...@@ -144,8 +142,10 @@ then ...@@ -144,8 +142,10 @@ then
exit 1 exit 1
} }
make realclean 2>/dev/null # Extra safety export CCS="${CC:-$WM_CC}" # CCS (serial compiler) default=$(CC)
export CCP=$(whichMpicc) # CCP (parallel compiler) default=mpicc
make realclean 2>/dev/null # Extra safety
make -j $WM_NCOMPPROCS scotch \ make -j $WM_NCOMPPROCS scotch \
&& make \ && make \
prefix=$prefixDIR \ prefix=$prefixDIR \
...@@ -153,7 +153,7 @@ then ...@@ -153,7 +153,7 @@ then
libdir=$libDIR \ libdir=$libDIR \
install install
make realclean 2>/dev/null || true # Failed cleanup is uncritical make realclean 2>/dev/null || true # Failed cleanup is uncritical
) || warnBuildIssues SCOTCH ) || warnBuildIssues SCOTCH
else else
warnNotFound SCOTCH warnNotFound SCOTCH
...@@ -196,9 +196,6 @@ then ...@@ -196,9 +196,6 @@ then
mkdir -p $incDIR 2>/dev/null mkdir -p $incDIR 2>/dev/null
mkdir -p $libDIR 2>/dev/null mkdir -p $libDIR 2>/dev/null
# 'CC' already set (eg, from WM_CC) - set scotch-specific 'CCS' too
[ -n "$CC" ] && export CCS="$CC"
if [ -f $scotchMakefile ] if [ -f $scotchMakefile ]
then then
rm -f Makefile.inc rm -f Makefile.inc
...@@ -209,8 +206,10 @@ then ...@@ -209,8 +206,10 @@ then
exit 1 exit 1
} }
make realclean 2>/dev/null # Extra safety export CCS="${CC:-$WM_CC}" # CCS (serial compiler) default=$(CC)
export CCP=$(whichMpicc) # CCP (parallel compiler) default=mpicc
make realclean 2>/dev/null # Extra safety
make -j $WM_NCOMPPROCS ptscotch \ make -j $WM_NCOMPPROCS ptscotch \
&& make \ && make \
prefix=$prefixDIR \ prefix=$prefixDIR \
...@@ -218,7 +217,7 @@ then ...@@ -218,7 +217,7 @@ then
libdir=$libDIR \ libdir=$libDIR \
install install
make realclean 2>/dev/null || true # Failed cleanup is uncritical make realclean 2>/dev/null || true # Failed cleanup is uncritical
) || warnBuildIssues PTSCOTCH ) || warnBuildIssues PTSCOTCH
fi fi
......
...@@ -45,6 +45,31 @@ useGcc() ...@@ -45,6 +45,31 @@ useGcc()
export CXX=g++ export CXX=g++
} }
# Scan arguments for a '-gcc' option, forcing gcc/g++ when found
useGccFlag()
{
for i
do
if [ "$i" = "-gcc" ]
then
useGcc
break
fi
done
}
# Return mpiicc (for INTELMPI) or mpicc etc.
whichMpicc()
{
local mpicc
case "$WM_MPLIB" in
(INTELMPI)
mpicc=$(command -v mpiicc) # Try using intel 'mpiicc'
;;
esac
echo "${mpicc:-mpicc}" # mpiicc | mpicc
}
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# Some functions as per OpenFOAM etc/config.sh/functions # Some functions as per OpenFOAM etc/config.sh/functions
......
# openfoam notes: #-------------------------------*- makefile -*---------------------------------
# OpenFOAM notes:
#
# WM_CFLAGS, WM_LDFLAGS contain "-m32 -fPIC" etc # WM_CFLAGS, WM_LDFLAGS contain "-m32 -fPIC" etc
# WM_LABEL_SIZE == 64 for 'long' instead of 'int' for OpenFOAM labels # WM_LABEL_SIZE == 64 for 'long' instead of 'int' for OpenFOAM labels
#
# compiled without pthread # - compiled without pthread
#
# Normally set CCS, CCP by caller
EXE = EXE =
LIB = .so LIB = .so
OBJ = .o OBJ = .o
MAKE = make AR = $(CC)
AR = gcc
ARFLAGS = $(WM_CFLAGS) -shared -o ARFLAGS = $(WM_CFLAGS) -shared -o
CAT = cat CCS ?= $(CC)
CCS = gcc CCP ?= mpicc
CCP = mpicc CCD = $(CCP)
CCD = mpicc CFLAGS = $(WM_CFLAGS) -O3 \
CFLAGS = $(WM_CFLAGS) -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -Drestrict=__restrict -DCOMMON_FILE_COMPRESS_GZ \
-DCOMMON_RANDOM_FIXED_SEED \
-DSCOTCH_RENAME \
-Drestrict=__restrict
# 32-bit vs. 64-bit labels # 32-bit vs. 64-bit labels
ifeq ($(WM_LABEL_SIZE),64) ifeq ($(WM_LABEL_SIZE),64)
...@@ -24,10 +30,15 @@ endif ...@@ -24,10 +30,15 @@ endif
CLIBFLAGS = -shared CLIBFLAGS = -shared
LDFLAGS = -Xlinker --no-as-needed $(WM_LDFLAGS) -lz -lm -lrt LDFLAGS = -Xlinker --no-as-needed $(WM_LDFLAGS) -lz -lm -lrt
MAKE = make
CP = cp CP = cp
LEX = flex -Pscotchyy -olex.yy.c CAT = cat
LN = ln LN = ln
MKDIR = mkdir MKDIR = mkdir
MV = mv MV = mv
RANLIB = echo RANLIB = echo
LEX = flex -Pscotchyy -olex.yy.c
YACC = bison -pscotchyy -y -b y YACC = bison -pscotchyy -y -b y
#------------------------------------------------------------------------------
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment