The Wayback Machine - https://web.archive.org/web/20230506225422/https://github.com/tinygo-org/go-llvm
Skip to content

tinygo-org/go-llvm

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
September 29, 2018 21:27
November 13, 2019 13:55
November 13, 2019 13:55
February 11, 2022 08:51
November 13, 2019 13:55
December 19, 2021 12:29
May 5, 2023 14:37
April 27, 2023 00:25
November 13, 2019 13:55
June 26, 2022 13:33
December 29, 2021 13:53
November 13, 2019 13:55
November 13, 2019 13:55
November 13, 2019 13:55
April 27, 2023 00:25
November 13, 2019 13:55

Go bindings to system LLVM

This library provides bindings to a system-installed LLVM.

Currently supported:

  • LLVM 16, 15 and 14 from apt.llvm.org on Debian/Ubuntu.
  • LLVM 16, 15 and 14 from Homebrew on macOS.
  • LLVM 15 with a manually built LLVM through the byollvm build tag. You need to set up CFLAGS/LDFLAGS etc yourself in this case.

You can select the LLVM version using a build tag, for example -tags=llvm14 to use LLVM 14.

Usage

If you have a supported LLVM installation, you should be able to do a simple go get:

go get tinygo.org/x/go-llvm

You can use build tags to select a LLVM version. For example, use -tags=llvm15 to select LLVM 15. Setting a build tag for a LLVM version that is not supported will be ignored.

License

These LLVM bindings for Go originally come from LLVM, but they have since been removed. Still, they remain under the same license as they were originally, which is the Apache License 2.0 (with LLVM exceptions). Check upstream LLVM for detailed copyright information.

This README, the backports* files, and the Makefile are separate from LLVM but are licensed under the same license.

About

Go bindings to a system-installed LLVM. Used as part of TinyGo.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published