diff --git a/makeMesa b/makeMesa
new file mode 100755
index 0000000..f48ecb9
--- /dev/null
+++ b/makeMesa
@@ -0,0 +1,200 @@
+#!/bin/sh
+#------------------------------------------------------------------------------
+# ========= |
+# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+# \\ / O peration |
+# \\ / A nd | Copyright (C) 2016 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.0.1 failed to install an "osmesa.h" file,
+# which renders it useless for off-screen VTK.
+#
+#------------------------------------------------------------------------------
+mesaPACKAGE=mesa-11.2.2
+
+#------------------------------------------------------------------------------
+# 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
+#------------------------------------------------------------------------------
+Script=${0##*/}
+
+usage() {
+ exec 1>&2
+ while [ "$#" -ge 1 ]; do echo "$1"; shift; done
+ cat<.
+#
+# Script
+# makeVTK
+#
+# Description
+# Make and install VTK
+# - place the VTK source under $WM_THIRD_PARTY_DIR/VTK-VERSION
+#
+# To use the VTK source from the ParaView source tree, simply make an
+# appropriate link first. For example,
+#
+# ln -s ParaView-5.1.0/VTK VTK-7.1.0
+#
+#------------------------------------------------------------------------------
+# 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
+. etc/tools/ParaViewFunctions
+. etc/tools/vtkFunctions
+#------------------------------------------------------------------------------
+#
+# USER OPTIONS:
+# ~~~~~~~~~~~~~
+
+# MESA graphics support:
+withMESA=false
+MESA_INCLUDE="/usr/include/GL"
+MESA_LIBRARY="/usr/lib$WM_COMPILER_LIB_ARCH/libOSMesa.so"
+
+# Set the path to cmake
+CMAKE_PATH=""
+
+# New rendering backend (starting with vtk 7?).
+# Default to auto-config based on VTK version
+withGL2=auto
+
+
+#
+# NO FURTHER EDITING BELOW THIS LINE
+#
+#-----------------------------------------------------------------------------
+Script=${0##*/}
+
+usage() {
+ exec 1>&2
+ while [ "$#" -ge 1 ]; do echo "$1"; shift; done
+ cat< \$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/VTK-$VTK_VERSION
+
+USAGE
+ exit 1
+}
+
+#------------------------------------------------------------------------------
+
+# ensure CMake gets the correct C/C++ compiler
+[ -n "$WM_CC" ] && export CC="$WM_CC"
+[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
+
+#
+# various building stages
+#
+unset runPATCH runCONFIG runMAKE runINSTALL
+runDEFAULT=true
+buildType=Release
+withOSMESA=false
+
+# parse options
+while [ "$#" -gt 0 ]
+do
+ case "$1" in
+ -h | -help)
+ usage
+ ;;
+ [0-9]* | vtk-[0-9]* | VTK-[0-9]*) # VTK version
+ setVtkVersion "${1%%/}"
+ ;;
+ [A-Z]*=*) # cmake variables
+ addCMakeVariable "$1"
+ ;;
+ -gcc)
+ export CC=gcc # use gcc/g++
+ export CXX=g++
+ ;;
+ -config) # stage 1: config only
+ runCONFIG=true
+ unset runDEFAULT
+ ;;
+ -no-config)
+ runCONFIG=false
+ ;;
+ -make) # stage 2: make only
+ runMAKE=true
+ unset runDEFAULT
+ ;;
+ -no-make)
+ runMAKE=false
+ ;;
+ -install) # stage 3: install only
+ runINSTALL=true
+ unset runDEFAULT
+ ;;
+ -no-install)
+ runINSTALL=false
+ ;;
+ -rebuild) # shortcut for rebuilding
+ runMAKE=true
+ runINSTALL=true
+ unset runDEFAULT
+ ;;
+ -gl2)
+ withGL2=true
+ ;;
+ -no-gl2)
+ withGL2=false
+ ;;
+ -mesa)
+ withMESA=true
+ ;;
+ -osmesa)
+ withMESA=true
+ withOSMESA=true
+ ;;
+ -no-mesa)
+ withMESA=false
+ withOSMESA=false
+ ;;
+ -mesa-prefix)
+ [ "$#" -ge 2 ] || die "'$1' option requires an argument"
+ withMESA=true
+ MESA_INCLUDE="${2%%/}/include"
+ MESA_LIBRARY="${2%%/}/lib$WM_COMPILER_LIB_ARCH/libOSMesa.so"
+ shift
+ ;;
+ -mesa-include)
+ [ "$#" -ge 2 ] || die "'$1' option requires an argument"
+ MESA_INCLUDE="${2%%/}"
+ shift
+ ;;
+ -mesa-lib)
+ [ "$#" -ge 2 ] || die "'$1' option requires an argument"
+ MESA_LIBRARY="${2%%/}"
+ shift
+ ;;
+ -cmake)
+ [ "$#" -ge 2 ] || die "'$1' option requires an argument"
+ CMAKE_PATH="${2%%/}"
+ shift
+ ;;
+ -verbose)
+ withVERBOSE=true
+ ;;
+ -version)
+ [ "$#" -ge 2 ] || die "'$1' option requires an argument"
+ setVtkVersion "${2%%/}"
+ VTK_VERSION="${2%%/}"
+ shift
+ ;;
+ -buildType)
+ [ "$#" -ge 2 ] || die "'$1' option requires an argument"
+ buildType="$2"
+ shift
+ ;;
+ *)
+ die "unknown option/argument: '$1'"
+ ;;
+ esac
+ shift
+done
+
+[ -n "$VTK_VERSION" ] || die "The vtk-VERSION was not specified"
+
+# Version-specific adjustments
+if [ "$withGL2" = auto ]
+then
+ if [ "${VTK_VERSION%%.*}" -lt 7 ]
+ then
+ withGL2=false
+ else
+ withGL2=true
+ fi
+fi
+
+
+if [ "$runDEFAULT" = true ]
+then
+ : ${runPATCH:=true}
+ : ${runCONFIG:=true}
+ : ${runMAKE:=true}
+ : ${runINSTALL:=true}
+fi
+
+
+# Set configure options
+#~~~~~~~~~~~~~~~~~~~~~~
+addVerbosity # verbose makefiles
+addMesaSupport # set MESA-specific options
+addGL2Support # new rendering backend
+
+# set off-screen only options
+if [ "$withOSMESA" = true ]
+then
+ addCMakeVariable "VTK_USE_X:BOOL=OFF"
+ addCMakeVariable "OPENGL_INCLUDE_DIR=$MESA_INCLUDE"
+ addCMakeVariable "OPENGL_xmesa_INCLUDE_DIR=$MESA_INCLUDE"
+ addCMakeVariable "OPENGL_gl_LIBRARY=$MESA_LIBRARY"
+ addCMakeVariable "OPENGL_glu_LIBRARY=$MESA_LIBRARY"
+fi
+
+setVtkDirs # where things are or should be put
+
+
+# Build and install
+# ~~~~~~~~~~~~~~~~~
+cat<