A C# wrapper API of LLVM-C for Windows 10 (x64), Ubuntu 16.04 (x64).

This is a prerelease version of swigged.llvm.
There is a newer version of this package available.
See the version list below for details.
Install-Package swigged.llvm -Version
dotnet add package swigged.llvm --version
<PackageReference Include="swigged.llvm" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add swigged.llvm --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: swigged.llvm,"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install swigged.llvm as a Cake Addin
#addin nuget:?package=swigged.llvm&version=

// Install swigged.llvm as a Cake Tool
#tool nuget:?package=swigged.llvm&version=
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

* Version
Adopting version numbering from LLVM, 6.0.0. This version is a preliminary version, as LLVM.org has not released version 6 yet.

* Version 5.0.4
Removing support for 32-bit targets, upgrading to Net Standard 2.0. This means versions equal to and before Net Framework 4.6 and Net Core 1.1 are not supported.

* Version 5.0.3
Updating .targets file so that "copy" step of proper native library works regardless whether you "nuget"
for a Net Framework, Standard, or Core project. Rest of package is essentially unchanged.

* Version 5.0.2
Adding in ToString() functions for ValueRef and TypeRef for easier debugging.

* Version 5.0.1
Updating to LLVM 5.0. Check out LLVM Release Notes for changes in the API. http://releases.llvm.org/5.0.0/docs/ReleaseNotes.html

* Version 4.0.14
Fix of 4.0.13 (wrong path).

* Version 4.0.13
Updated .targets file for builds on Windows, fixing override of PreBuildEvent.

* Version 4.0.12
Updated .targets file for builds on Windows.

* Version 4.0.11
Fixing problem with NuGet spec--apparently, a dll is referenced only with either the dlls in netstandard1.1 or netstandard1.5. A
very bad rule because swigged.llvm.dll is strictly a netstandard1.1 file, but it will not add the reference any other way.
Otherwise, the functionality is identical to 4.0.10.

* Version 4.0.10
General availability. Worked out version and dependencies for Net Framework from 4.5 less than or equal to 'your app NF version' less than or equal to 4.7. Added ORC api's.
Added in all targets for LLVM. Example tests include PTX code generation and running using ManagedCUDA on a GPU.

* Version 4.0.9-alpha
Working out dependencies and versions. Instead of hardwiring everything to fixed version, allow user to update to suit build.
* Version 4.0.8-alpha
Use "Swigged.LLVM.Helper.Adjust.Path();" before 1st LLVM call to alter PATH variable within process so that it can find swigged-llvm-native.dll without having to copy the dll around. There is no equivalent fix for Ubuntu unfortunately. You must still "dotnet publish -r ubuntu.16.04-x64" and copy swigged-llvm-native.so to the build output directory.
* Version 4.0.7-alpha
Added in Android builds for x86 and armeabi targets; cleaned up package directory structure.

* Version 4.0.6-alpha
Added in fixes for VerifyModule, CreateMCJITCompilerForModule, MCJITCompilerOptions, InitializeMCJITCompilerOptions, MyString.
Object files provided in this package are a Release build in Net Standard 1.1 (swigged-llvm library) and 1.6 (Helper library).

When building with Swigged.llvm, select Platform = "AnyCPU", config = "Debug" or "Release".

On Windows, in the properties for the executable, un-check "Prefer 32-bit" in Build properties, and check "Enable native code debugging". If you are using Net Core or Standard, this option is unavailable--I'm not sure why it is.
If you are building an app with Net Framework 4.5 through 4.6.1, you must manually copy the file swigged-llvm-native.dll to your executable directory. With 4.6.2 and beyond, it will find the library in your packages/ directory.
If you are delivering your app, you will need to copy the dll to the directory containing your app.

On Ubuntu, use Net Core to build your C# program. You may need to copy the swigged-llvm-native.so file to the directory containing your app executable.

For further information, see https://github.com/kaby76/swigged-llvm.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on swigged.llvm:

Package Downloads
A compiler, runtime, and API for GP-GPU computing using C# or any other NET language, for Windows and Ubuntu x64.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
70.0.1 1,059 9/23/2018
70.0.0 510 8/29/2018
6.0.6 969 5/2/2018
6.0.5 604 4/18/2018
6.0.4 893 4/4/2018
6.0.3 986 3/9/2018 590 2/5/2018 612 1/10/2018
5.0.4 712 1/5/2018
5.0.3 698 10/23/2017
5.0.2 693 9/22/2017
5.0.1 733 9/16/2017
4.0.14 740 9/6/2017
4.0.13 741 9/6/2017
4.0.12 902 9/5/2017
4.0.11 699 6/18/2017
4.0.10 828 6/16/2017
4.0.9-alpha 503 5/26/2017
4.0.8-alpha 477 5/25/2017
4.0.7-alpha 547 5/24/2017
4.0.6-alpha 537 5/18/2017
4.0.5-alpha 496 5/11/2017
4.0.4-alpha 607 5/9/2017
4.0.3-alpha 529 5/8/2017 620 4/17/2017 600 4/6/2017
Show less