This library provides bindings to a system-installed LLVM.
Currently supported:
- LLVM 11, 12 and 13 from apt.llvm.org on Debian/Ubuntu.
- LLVM 11, 12 and 13 from Homebrew on macOS.
If you have a supported LLVM installation, you should be able to do a simple go get
:
go get github.com/tinygo-org/go-llvm
After downloading, you may have to update the configuration for your system:
make config
If you built your own LLVM, you can also use that:
# update LLVM files
make update SRCDIR=<dir>
# configure this LLVM build
make config BUILDDIR=<builddir>
Note that you may have to comment out parts of backports.go
if you use a
newer version of LLVM.
Most of the files are extracted from the LLVM source tree, specifically all *.go, *.cpp, and *.h files come directly from bindings/go/llvm in the LLVM source tree. They are all released under 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.