ENH: provide config setup for mesa with llvm (issue #1164)

- If using a non-clang compiler suite (gcc, intel, etc) the additional
  lbraries required for mesa with llvm pipelines may not be found.

  Provide a mesa_llvm configuration with in the 'vtk' config file.
  Can use the usual types of settings

     * mesa_llvm=llvm-4.0.1
     * mesa_llvm=none
     * mesa_llvm=system
This commit is contained in:
Mark Olesen
2019-01-10 11:50:09 +01:00
parent a8f08b31c1
commit bae92919e5
2 changed files with 32 additions and 20 deletions

View File

@ -2,7 +2,7 @@
# ========= | # ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration | # \\ / O peration |
# \\ / A nd | Copyright (C) 2016-2017 OpenCFD Ltd. # \\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd.
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
@ -32,31 +32,37 @@
set vtk_version=VTK-8.2.0 set vtk_version=VTK-8.2.0
set mesa_version=mesa-17.1.1 set mesa_version=mesa-17.1.1
set mesa_llvm=none
setenv VTK_DIR $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$vtk_version setenv VTK_DIR "$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$vtk_version"
setenv MESA_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$mesa_version setenv MESA_ARCH_PATH "$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$mesa_version"
setenv LLVM_ARCH_PATH "$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH/$mesa_llvm"
# END OF (NORMAL) USER EDITABLE PART # END OF (NORMAL) USER EDITABLE PART
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
if ($?FOAM_VERBOSE && $?prompt) then if ($?FOAM_VERBOSE && $?prompt) then
echo "Using vtk ($vtk_version) -> $VTK_DIR" echo "Using vtk"
echo "Using mesa ($mesa_version) -> $MESA_ARCH_PATH" echo " vtk ($vtk_version) $VTK_DIR"
echo " mesa ($mesa_version) $MESA_ARCH_PATH"
echo " llvm ($mesa_llvm) $LLVM_ARCH_PATH"
endif endif
# Set paths if binaries are present # Set paths if binaries are present
if ( -r $VTK_DIR ) then if ( -d "$VTK_DIR" ) then
# Uses lib/ and not lib64/ # Uses lib/ and not lib64/
_foamAddLib $VTK_DIR/lib _foamAddLib "$VTK_DIR/lib"
else else
unset VTK_DIR unset VTK_DIR
endif endif
if ( -r $MESA_ARCH_PATH ) then if ( -d "$MESA_ARCH_PATH" ) then
_foamAddLib $MESA_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH _foamAddLibAuto "$LLVM_ARCH_PATH"
_foamAddLibAuto "$MESA_ARCH_PATH"
else else
unset LLVM_ARCH_PATH
unset MESA_ARCH_PATH unset MESA_ARCH_PATH
endif endif
unset vtk_version mesa_version unset vtk_version mesa_version mesa_llvm
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -2,7 +2,7 @@
# ========= | # ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration | # \\ / O peration |
# \\ / A nd | Copyright (C) 2016-2017 OpenCFD Ltd. # \\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd.
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
@ -33,38 +33,44 @@
vtk_version=VTK-8.2.0 vtk_version=VTK-8.2.0
mesa_version=mesa-17.1.1 mesa_version=mesa-17.1.1
mesa_llvm=none
export VTK_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$vtk_version export VTK_DIR="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$vtk_version"
export MESA_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$mesa_version export MESA_ARCH_PATH="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$mesa_version"
export LLVM_ARCH_PATH="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH/$mesa_llvm"
# END OF (NORMAL) USER EDITABLE PART # END OF (NORMAL) USER EDITABLE PART
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ] if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ]
then then
echo "Using vtk ($vtk_version) -> $VTK_DIR" 1>&2 echo "Using vtk" 1>&2
echo "Using mesa ($mesa_version) -> $MESA_ARCH_PATH" 1>&2 echo " vtk ($vtk_version) $VTK_DIR" 1>&2
echo " mesa ($mesa_version) $MESA_ARCH_PATH" 1>&2
echo " llvm ($mesa_llvm) $LLVM_ARCH_PATH" 1>&2
fi fi
if command -v _foamAddLib > /dev/null 2>&1 # normal sourcing if command -v _foamAddLib > /dev/null 2>&1 # normal sourcing
then then
# Set paths if binaries are present # Set paths if binaries are present
if [ -r $VTK_DIR ] if [ -d "$VTK_DIR" ]
then then
# Uses lib/ and not lib64/ # Uses lib/ and not lib64/
_foamAddLib $VTK_DIR/lib _foamAddLib "$VTK_DIR/lib"
else else
unset VTK_DIR unset VTK_DIR
fi fi
if [ -r $MESA_ARCH_PATH ] if [ -d "$MESA_ARCH_PATH" ]
then then
_foamAddLib $MESA_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH _foamAddLibAuto "$LLVM_ARCH_PATH"
_foamAddLibAuto "$MESA_ARCH_PATH"
else else
unset LLVM_ARCH_PATH
unset MESA_ARCH_PATH unset MESA_ARCH_PATH
fi fi
unset vtk_version mesa_version unset vtk_version mesa_version mesa_llvm
fi fi
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------