From 7e3202f4386c1f2cd8308f481ff89a8e1a92bff0 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Thu, 10 Jan 2019 11:50:09 +0100 Subject: [PATCH] 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 --- etc/config.csh/vtk | 26 ++++++++++++++++---------- etc/config.sh/vtk | 26 ++++++++++++++++---------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/etc/config.csh/vtk b/etc/config.csh/vtk index aaeccc38615..dbd5edf90c6 100644 --- a/etc/config.csh/vtk +++ b/etc/config.csh/vtk @@ -2,7 +2,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 2016-2017 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License @@ -32,31 +32,37 @@ set vtk_version=VTK-8.2.0 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 MESA_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$mesa_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 LLVM_ARCH_PATH "$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH/$mesa_llvm" # END OF (NORMAL) USER EDITABLE PART #------------------------------------------------------------------------------ if ($?FOAM_VERBOSE && $?prompt) then - echo "Using vtk ($vtk_version) -> $VTK_DIR" - echo "Using mesa ($mesa_version) -> $MESA_ARCH_PATH" + echo "Using vtk" + echo " vtk ($vtk_version) $VTK_DIR" + echo " mesa ($mesa_version) $MESA_ARCH_PATH" + echo " llvm ($mesa_llvm) $LLVM_ARCH_PATH" endif # Set paths if binaries are present -if ( -r $VTK_DIR ) then +if ( -d "$VTK_DIR" ) then # Uses lib/ and not lib64/ - _foamAddLib $VTK_DIR/lib + _foamAddLib "$VTK_DIR/lib" else unset VTK_DIR endif -if ( -r $MESA_ARCH_PATH ) then - _foamAddLib $MESA_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH +if ( -d "$MESA_ARCH_PATH" ) then + _foamAddLibAuto "$LLVM_ARCH_PATH" + _foamAddLibAuto "$MESA_ARCH_PATH" else + unset LLVM_ARCH_PATH unset MESA_ARCH_PATH endif -unset vtk_version mesa_version +unset vtk_version mesa_version mesa_llvm #------------------------------------------------------------------------------ diff --git a/etc/config.sh/vtk b/etc/config.sh/vtk index 782fcc43e40..4815da2435c 100644 --- a/etc/config.sh/vtk +++ b/etc/config.sh/vtk @@ -2,7 +2,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 2016-2017 OpenCFD Ltd. +# \\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # License @@ -33,38 +33,44 @@ vtk_version=VTK-8.2.0 mesa_version=mesa-17.1.1 +mesa_llvm=none -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 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 LLVM_ARCH_PATH="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH/$mesa_llvm" # END OF (NORMAL) USER EDITABLE PART #------------------------------------------------------------------------------ if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ] then - echo "Using vtk ($vtk_version) -> $VTK_DIR" 1>&2 - echo "Using mesa ($mesa_version) -> $MESA_ARCH_PATH" 1>&2 + echo "Using vtk" 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 if command -v _foamAddLib > /dev/null 2>&1 # normal sourcing then # Set paths if binaries are present - if [ -r $VTK_DIR ] + if [ -d "$VTK_DIR" ] then # Uses lib/ and not lib64/ - _foamAddLib $VTK_DIR/lib + _foamAddLib "$VTK_DIR/lib" else unset VTK_DIR fi - if [ -r $MESA_ARCH_PATH ] + if [ -d "$MESA_ARCH_PATH" ] then - _foamAddLib $MESA_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH + _foamAddLibAuto "$LLVM_ARCH_PATH" + _foamAddLibAuto "$MESA_ARCH_PATH" else + unset LLVM_ARCH_PATH unset MESA_ARCH_PATH fi - unset vtk_version mesa_version + unset vtk_version mesa_version mesa_llvm fi #------------------------------------------------------------------------------ -- GitLab