[cfe-dev] LLVMSharp and ClangSharp - C# .NET/Mono Bindings for LLVM and Clang

Mukul Sabharwal mjsabby at gmail.com
Mon Feb 23 10:54:01 PST 2015


LLVMSharp (http://www.llvmsharp.org) and ClangSharp (
http://www.clangsharp.org) are type-safe .NET/Mono bindings for LLVM and
Clang generated using their respective C header files.

The libraries require LLVM and Clang built as shared libraries, and the C#
side Platform Invokes into them.

LLVMSharp is used to demonstrate the Kaleidoscope tutorial in C# (currently
Ch3, 4, 5) :

https://github.com/mjsabby/LLVMSharp/tree/master/KaleidoscopeTutorial

ClangSharpPInvokeGenerator is the mechanism used to generate these bindings
and is a demo of LibClang being driven in C#:

https://github.com/mjsabby/ClangSharp/tree/master/ClangSharpPInvokeGenerator

I'd also like to take this opportunity to ask if the community would be
interested in putting these bindings alongside the C and Python bindings so
that build bots and other integration systems can update these bindings
automatically as people add C APIs to LLVM or Clang. This would require the
build to take a dependency on Mono, as it stands today, but I could easily
move the PInvoke generation to use the C API directly.

Also, gladly taking PRs. Some areas needing love: Kaleidoscope chapters
(new or improve existing) and generally on improving the robustness of the
PInvokeGenerator.

Mukul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150223/70108217/attachment.html>


More information about the cfe-dev mailing list