https://github.com/tinygo-org/go-llvm
Go bindings to LLVM. Used as part of TinyGo.
https://github.com/tinygo-org/go-llvm
golang llvm tinygo
Last synced: 7 months ago
JSON representation
Go bindings to LLVM. Used as part of TinyGo.
- Host: GitHub
- URL: https://github.com/tinygo-org/go-llvm
- Owner: tinygo-org
- License: other
- Created: 2018-09-29T19:29:23.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-25T14:38:42.000Z (10 months ago)
- Last Synced: 2024-08-26T12:54:43.499Z (10 months ago)
- Topics: golang, llvm, tinygo
- Language: Go
- Homepage: https://tinygo.org
- Size: 153 KB
- Stars: 225
- Watchers: 9
- Forks: 45
- Open Issues: 5
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE.txt
- Support: SupportBindings.cpp
Awesome Lists containing this project
README
# Go bindings to system LLVM
This library provides bindings to a system-installed LLVM.
Currently supported:
* LLVM 17, 16, 15 and 14 from [apt.llvm.org](http://apt.llvm.org/) on Debian/Ubuntu.
* LLVM 17, 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](https://discourse.llvm.org/t/rfc-remove-the-go-bindings/65725). Still, they remain under the same license as they were originally, which is the [Apache License 2.0 (with LLVM exceptions)](http://releases.llvm.org/9.0.0/LICENSE.TXT). 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.