Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stirlinglabs/llvmsharp
LLVM bindings for .NET Standard written in C# using ClangSharp
https://github.com/stirlinglabs/llvmsharp
Last synced: about 12 hours ago
JSON representation
LLVM bindings for .NET Standard written in C# using ClangSharp
- Host: GitHub
- URL: https://github.com/stirlinglabs/llvmsharp
- Owner: StirlingLabs
- License: mit
- Created: 2022-08-03T18:18:29.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-08-17T15:50:26.000Z (over 2 years ago)
- Last Synced: 2024-11-16T06:52:34.829Z (4 days ago)
- Language: C#
- Homepage:
- Size: 1020 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
![LLVMSharp](https://raw.githubusercontent.com/StirlingLabs/LLVMSharp/main/LLVMSharp.jpg)
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.
[![ci](https://github.com/StirlingLabs/LLVMSharp/actions/workflows/ci.yml/badge.svg)](https://github.com/StirlingLabs/LLVMSharp/actions/workflows/ci.yml)
A nuget package for the project is provided here: https://www.nuget.org/packages/StirlingLabs.LLVMSharp.
A convenience package which provides the native libLLVM library for several platforms is provided here: https://www.nuget.org/packages/StirlingLabs.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
```