https://github.com/dotnet/llvmsharp
LLVM bindings for .NET Standard written in C# using ClangSharp
https://github.com/dotnet/llvmsharp
llvm llvm-bindings
Last synced: 14 days ago
JSON representation
LLVM bindings for .NET Standard written in C# using ClangSharp
- Host: GitHub
- URL: https://github.com/dotnet/llvmsharp
- Owner: dotnet
- License: mit
- Created: 2015-02-13T23:54:46.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2025-02-24T23:37:10.000Z (3 months ago)
- Last Synced: 2025-04-21T10:53:52.501Z (22 days ago)
- Topics: llvm, llvm-bindings
- Language: C#
- Homepage:
- Size: 1.09 MB
- Stars: 881
- Watchers: 44
- Forks: 99
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# LLVMSharp
LLVMSharp is a multi-platform .NET Standard library for accessing the LLVM infrastructure. The bindings are auto-generated using [ClangSharp](https://github.com/dotnet/clangsharp) parsing LLVM-C header files.

A nuget package for the project is provided here: https://www.nuget.org/packages/llvmsharp.
A convenience package which provides the native libLLVM library for several platforms is provided here: https://www.nuget.org/packages/libLLVM
Nightly packages are available via the NuGet Feed URL: https://pkgs.clangsharp.dev/index.json
Source browsing is available via: https://source.clangsharp.dev/
## Table of Contents
* [Code of Conduct](#code-of-conduct)
* [License](#license)
* [Features](#features)
* [Building LLVMSharp](#building-llvmsharp)### Code of Conduct
LLVMSharp and everyone contributing (this includes issues, pull requests, the
wiki, etc) must abide by the .NET Foundation Code of Conduct:
https://dotnetfoundation.org/about/code-of-conduct.Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [email protected].### License
Copyright (c) .NET Foundation and Contributors. All Rights Reserved.
Licensed under the MIT License (MIT).
See [LICENSE.md](LICENSE.md) in the repository root for more information.### Features
* Auto-generated using LLVM C headers files, and supports all functionality exposed by them (more than enough to build a full compiler)
* Type safe (LLVMValueRef and LLVMTypeRef are different types, despite being pointers internally)
* Nearly identical to LLVM C APIs, e.g. LLVMModuleCreateWithName in C, vs. LLVM.ModuleCreateWithName (notice the . in the C# API)### Building LLVMSharp
On Linux using .NET Core:
```bash
$ git clone http://github.com/dotnet/llvmsharp
$ cd LLVMSharp
$ dotnet build
```On Windows using .NET Core
**Note:** - you need to run these commands from the Visual Studio Developer Command Prompt.
```bash
:> git clone http://github.com/dotnet/LLVMSharp
:> cd LLVMSharp
:> dotnet build
```