#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2016-2017 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # 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 . # # Script # makeMesa # # Description # Build script for Mesa # # Note # Building with mesa-12.x.x fails to create an include/GL directory and # an "osmesa.h" file. Both make it fairly useless for off-screen VTK. # # Building with mesa-11.x is fine and mesa-13.x also seems to be okay. # #------------------------------------------------------------------------------ # Special purpose script, no default version. unset mesaPACKAGE #------------------------------------------------------------------------------ # Run from third-party directory only cd ${0%/*} || exit 1 wmakeCheckPwd "$WM_THIRD_PARTY_DIR" || { echo "Error: Current directory is not \$WM_THIRD_PARTY_DIR" echo " The environment variables are inconsistent with the installation." echo " Check the OpenFOAM entries in your dot-files and source them." exit 1 } . etc/tools/ThirdPartyFunctions #------------------------------------------------------------------------------ usage() { exec 1>&2 while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat< may mask the header adjustMESA() { \rm -rf $MESA_ARCH_PATH/include/GLES $MESA_ARCH_PATH/include/GLES1 echo "removed all gles1 includes" } ( # configuration options: unset configOpt if [ -d "$thirdPartyClang" ] then configOpt="$configOpt --with-llvm-prefix=$thirdPartyClang" fi # end of configuration options # ---------------------------- buildDIR=$buildBASE/$mesaPACKAGE cd $MESA_SOURCE_DIR || exit 1 # remove any existing build rm -rf $MESA_ARCH_PATH rm -rf $buildDIR mkdir -p $buildDIR cd $buildDIR echo "----" echo "Building $mesaPACKAGE" echo " Source : $MESA_SOURCE_DIR" echo " Target : $MESA_ARCH_PATH" if [ -d "$thirdPartyClang" ] then echo " Clang : $thirdPartyClang" fi echo "----" # possibly for older mesa versions (see paraview wiki) # CXXFLAGS="-O2 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \ # CFLAGS="-O2 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \ ## autoreconf -fi set -x $MESA_SOURCE_DIR/configure \ --prefix=$MESA_ARCH_PATH \ --disable-xvmc \ --disable-glx \ --disable-dri \ --disable-egl \ --disable-gles1 \ --enable-texture-float \ --enable-gallium-osmesa --with-gallium-drivers=swrast \ $configOpt \ && make -j $WM_NCOMPPROCS \ && make install \ && adjustMESA \ && echo "Built $mesaPACKAGE" ) || { echo "Error building: MESA" exit 1 } # ----------------------------------------------------------------- end-of-file