-
Notifications
You must be signed in to change notification settings - Fork 1
Mono Support
Todd Schiller edited this page Apr 20, 2015
·
1 revision
Celeriac appears to work on programs under Mono. However, features that involve debugging information are not supported, because Microsoft's CCI library does not support reading/writing MDB files:
- Debug Information Rewriting: you may not be able to debug assemblies rewritten with Celeriac
- Comparability Analysis: you cannot use the
--comparability
flag to have Daikon filter out invariants over unrelated variables
Building Celeriac on Mono is similar to building Celeriac on Windows, however you must also build the CCI assemblies instead of using the assemblies in the Celeriac repository.
- Download the CCI AST library source from https://cciast.codeplex.com/
- Download the CCI Metadata library source from https://ccimetadata.codeplex.com/
- Place the CCI Metadata files in a folder called
Metadata
in the root CCI AST directory - From the root CCI AST directory, build the library by running
xbuild Ast.sln
- Download the Celeriac source
- Set the CELERIAC_HOME environment variable to an existing directory where you want to keep the Celeriac assemblies. For example, add the following to your
~/.bashrc
:
export CELERIAC_HOME=/Users/tschiller/projects/celeriac
- Check that the environment variable is set:
echo $CELERIAC_HOME
- From the Celeriac directory, build Celeriac by running
xbuild Celeriac.sln
- Copy the CCI AST assemblies to the Celeriac directory. The CCI assemblies that Celeriac requires all happen to be in the
CodeModelRoundtripTests
project; from the root CCI library folder run:
cp ./Tests/CodeModelRoundtripTests/bin/Debug/*.dll $CELERIAC_HOME
- Run Celeriac using the
mono
command, for example:
mono CeleriacLauncher.exe HelloWorld.exe
- Refer to the GettingStarted guide for more information