• Stars
    star
    226
  • Rank 176,514 (Top 4 %)
  • Language
    Go
  • License
    Other
  • Created about 6 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Go bindings to LLVM. Used as part of TinyGo.

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.

More Repositories

1

tinygo

Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Go
15,302
star
2

bluetooth

Cross-platform Bluetooth API for Go and TinyGo. Supports Linux, macOS, Windows, and bare metal using Nordic SoftDevice or HCI
C
723
star
3

drivers

TinyGo drivers for sensors, displays, wireless adaptors, and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.
Go
616
star
4

awesome-tinygo

A curated list of awesome TinyGo projects and libraries. Inspired by awesome-go.
87
star
5

tinygo-site

Web site for TinyGo project.
HTML
54
star
6

tinyfont

Text library for TinyGo displays
Go
50
star
7

stm32-svd

Makefile
45
star
8

tinydraw

TinyDraw is a package of drawing primitives on TinyGo displays.
Go
42
star
9

gobadge

TinyGo powered badge using Adafruit Pybadge Hardware
Go
37
star
10

playground

TinyGo playground and VS Code extension
JavaScript
30
star
11

vscode-tinygo

TinyGo support for Visual Studio Code
TypeScript
27
star
12

tinygo-zoo

Various apps using TinyGo
Go
25
star
13

tinyfs

Embedded filesystems for TinyGo. Currently supports FATfs and LittleFS on microcontrollers with either SDCard or Flash RAM.
C
25
star
14

pio

Programmable I/O API for RP2040.
Go
19
star
15

tinygba

Tools and helpers for developing GBA programs using TinyGo.
Go
17
star
16

net

Port of Go's "net" package to work with TinyGo on embedded processors.
Go
17
star
17

tinyhci

TinyGo Hardware Continuous Integration (HCI) system.
Go
14
star
18

macos-minimal-sdk

Minimal but open SDK for developing small command line tools.
C
12
star
19

docker

Contains the Dockerfile used to build tinygo release containers
Dockerfile
11
star
20

tinyterm

A minimal terminal for TinyGo devices supporting 256-color ANSI escape codes
Go
9
star
21

homebrew-tools

Homebrew tap with macOS build of TinyGo.
Ruby
7
star
22

tinygl-font

Fonts for TinyGL embedded graphics library for TinyGo
Go
7
star
23

device

Autogenerated Go wrappers for memory-mapped I/O on microcontrollers.
Go
4
star
24

bootloader

C
4
star
25

renesas-svd

SVD fiies for Renesas MCU mirrored from Keil drivers release
2
star