The LLVM Compiler has the ability to optimize code and is preferable for intensive computational tasks. We have used LLVM in order to compile OpenSim.
Compiling mono
's version of llvm
:
git clone -b mono git://github.com/mono/llvm.git cd llvm git branch mono-2-11 git checkout mono-2-11 ./configure --prefix=/opt/mono-2.11 --enable-optimized --enable-targets="x86 x86_64" make make install
Getting mono
:
git clone git://github.com/mono/mono cd mono git branch mono-2-11 git checkout mono cd mono PATH="/opt/mono-2.11/bin:$PATH" ./configure --prefix=/opt/mono-2.11 --enable-llvm=yes make make install
Which installs a separate mono
build in /opt/mono2.11
.
It is important to note that the compilers mcs
, gmcs
, dmcs
etc… Support the /sdk:VERSION
flag which cannot be found in earlier mono
versions. One has to make sure that the compilers are used from /opt/mono-2.11
instead of the mono
version that may be installed on the system.
In order to do that, one should change the path such that:
PATH="/opt/mono-2.11/bin:$PATH"
it includes the path to the llvm-compiled mono before the system binaries.