README
This commit is contained in:
35
README.md
35
README.md
@@ -9,3 +9,38 @@ llgo - A Go compiler based on LLVM
|
||||
[](https://github.com/goplus/gop)
|
||||
|
||||
This is a Go compiler based on LLVM in order to better integrate Go with the C ecosystem. It's a subproject of [the Go+ project](https://github.com/goplus/gop).
|
||||
|
||||
## How to install
|
||||
|
||||
Follow these steps to generate the `llgo` command (its usage is the same as the `go` command):
|
||||
|
||||
### on macOS
|
||||
|
||||
```sh
|
||||
brew update # execute if needed
|
||||
brew install llvm@17
|
||||
go install -v ./...
|
||||
```
|
||||
|
||||
### on Linux
|
||||
|
||||
```sh
|
||||
echo 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-17 main' | sudo tee /etc/apt/sources.list.d/llvm.list
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
sudo apt-get update # execute if needed
|
||||
sudo apt-get install --no-install-recommends llvm-17-dev
|
||||
go install -v ./...
|
||||
```
|
||||
|
||||
## Demo
|
||||
|
||||
The examples of `llgo` are all in the `_demo` directory (it start with `_` to prevent the `go` command from compiling it):
|
||||
|
||||
* _demo/genints: closure usage in llgo
|
||||
|
||||
### How to run demos
|
||||
|
||||
```sh
|
||||
cd <demo-directory> # eg. cd _demo/genints
|
||||
llgo run .
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user