Merge pull request #991 from cpunion/update-doc
doc: update install instructions
This commit is contained in:
88
.github/workflows/doc.yml
vendored
88
.github/workflows/doc.yml
vendored
@@ -29,7 +29,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
args: README.md
|
args: README.md
|
||||||
|
|
||||||
doc_test:
|
remote_install:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os:
|
os:
|
||||||
@@ -58,7 +58,42 @@ jobs:
|
|||||||
set -x
|
set -x
|
||||||
source doc/_readme/scripts/install_ubuntu.sh
|
source doc/_readme/scripts/install_ubuntu.sh
|
||||||
|
|
||||||
- name: Install llgo
|
- name: Test doc code blocks
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
source doc/_readme/scripts/run.sh
|
||||||
|
|
||||||
|
local_install:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- macos-latest
|
||||||
|
- ubuntu-24.04
|
||||||
|
runs-on: ${{matrix.os}}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '1.23'
|
||||||
|
|
||||||
|
- name: Install dependencies on macOS
|
||||||
|
if: startsWith(matrix.os, 'macos')
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
source doc/_readme/scripts/install_macos.sh
|
||||||
|
|
||||||
|
- name: Install dependencies on Ubuntu
|
||||||
|
if: startsWith(matrix.os, 'ubuntu')
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
source doc/_readme/scripts/install_ubuntu.sh
|
||||||
|
|
||||||
|
- name: Install llgo with tools
|
||||||
run: |
|
run: |
|
||||||
set -e
|
set -e
|
||||||
set -x
|
set -x
|
||||||
@@ -79,3 +114,52 @@ jobs:
|
|||||||
set -x
|
set -x
|
||||||
source doc/_readme/scripts/run.sh
|
source doc/_readme/scripts/run.sh
|
||||||
|
|
||||||
|
local_install_full:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- macos-latest
|
||||||
|
- ubuntu-24.04
|
||||||
|
runs-on: ${{matrix.os}}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '1.23'
|
||||||
|
|
||||||
|
- name: Install dependencies on macOS
|
||||||
|
if: startsWith(matrix.os, 'macos')
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
source doc/_readme/scripts/install_macos.sh
|
||||||
|
|
||||||
|
- name: Install dependencies on Ubuntu
|
||||||
|
if: startsWith(matrix.os, 'ubuntu')
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
source doc/_readme/scripts/install_ubuntu.sh
|
||||||
|
|
||||||
|
- name: Install llgo with tools
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
git() {
|
||||||
|
if [ "$1" = "clone" ]; then
|
||||||
|
# do nothing because we already have the branch
|
||||||
|
cd ..
|
||||||
|
else
|
||||||
|
command git "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
source doc/_readme/scripts/install_full.sh
|
||||||
|
echo "LLGO_ROOT=$GITHUB_WORKSPACE" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Test doc code blocks
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
source doc/_readme/scripts/run.sh
|
||||||
|
|||||||
17
README.md
17
README.md
@@ -362,7 +362,7 @@ brew update
|
|||||||
brew install llvm@18 bdw-gc openssl cjson libffi libuv pkg-config
|
brew install llvm@18 bdw-gc openssl cjson libffi libuv pkg-config
|
||||||
brew install python@3.12 # optional
|
brew install python@3.12 # optional
|
||||||
brew link --force libffi
|
brew link --force libffi
|
||||||
go install -v github.com/goplus/llgo/cmd/llgo@latest
|
curl https://raw.githubusercontent.com/goplus/llgo/refs/heads/main/install.sh | bash
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -378,7 +378,7 @@ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y llvm-18-dev clang-18 libclang-18-dev lld-18 pkg-config libgc-dev libssl-dev zlib1g-dev libcjson-dev libsqlite3-dev libunwind-dev libuv1-dev
|
sudo apt-get install -y llvm-18-dev clang-18 libclang-18-dev lld-18 pkg-config libgc-dev libssl-dev zlib1g-dev libcjson-dev libsqlite3-dev libunwind-dev libuv1-dev
|
||||||
sudo apt-get install -y python3.12-dev # optional
|
sudo apt-get install -y python3.12-dev # optional
|
||||||
go install -v github.com/goplus/llgo/cmd/llgo@latest
|
curl https://raw.githubusercontent.com/goplus/llgo/refs/heads/main/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Alpine Linux
|
#### Alpine Linux
|
||||||
@@ -391,13 +391,22 @@ export LLVM_CONFIG=/usr/lib/llvm18/bin/llvm-config
|
|||||||
export CGO_CPPFLAGS="$($LLVM_CONFIG --cppflags)"
|
export CGO_CPPFLAGS="$($LLVM_CONFIG --cppflags)"
|
||||||
export CGO_CXXFLAGS=-std=c++17
|
export CGO_CXXFLAGS=-std=c++17
|
||||||
export CGO_LDFLAGS="$($LLVM_CONFIG --ldflags) $($LLVM_CONFIG --libs all)"
|
export CGO_LDFLAGS="$($LLVM_CONFIG --ldflags) $($LLVM_CONFIG --libs all)"
|
||||||
go install -v -tags=byollvm -ldflags="-X github.com/goplus/llgo/xtool/env/llvm.ldLLVMConfigBin=$LLVM_CONFIG" github.com/goplus/llgo/cmd/llgo@latest
|
curl https://raw.githubusercontent.com/goplus/llgo/refs/heads/main/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
### on Windows
|
### on Windows
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
|
|
||||||
|
### Install from source
|
||||||
|
|
||||||
|
<!-- embedme doc/_readme/scripts/install_llgo.sh#L2-L1000 -->
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/goplus/llgo.git
|
||||||
|
cd llgo
|
||||||
|
./install.sh
|
||||||
|
```
|
||||||
|
|
||||||
## Development tools
|
## Development tools
|
||||||
|
|
||||||
@@ -409,7 +418,7 @@ TODO
|
|||||||
|
|
||||||
How do I generate these tools?
|
How do I generate these tools?
|
||||||
|
|
||||||
<!-- embedme doc/_readme/scripts/install_llgo.sh#L2-L1000 -->
|
<!-- embedme doc/_readme/scripts/install_full.sh#L2-L1000 -->
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone https://github.com/goplus/llgo.git
|
git clone https://github.com/goplus/llgo.git
|
||||||
|
|||||||
9
doc/_readme/scripts/install_full.sh
Normal file
9
doc/_readme/scripts/install_full.sh
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shellcheck disable=all
|
||||||
|
git clone https://github.com/goplus/llgo.git
|
||||||
|
cd llgo/compiler
|
||||||
|
go install -v ./cmd/...
|
||||||
|
go install -v ./chore/... # compile all tools except pydump
|
||||||
|
export LLGO_ROOT=$PWD/..
|
||||||
|
cd ../_xtool
|
||||||
|
llgo install ./... # compile pydump
|
||||||
|
go install github.com/goplus/hdq/chore/pysigfetch@v0.8.1 # compile pysigfetch
|
||||||
@@ -1,9 +1,4 @@
|
|||||||
# shellcheck disable=all
|
# shellcheck disable=all
|
||||||
git clone https://github.com/goplus/llgo.git
|
git clone https://github.com/goplus/llgo.git
|
||||||
cd llgo/compiler
|
cd llgo
|
||||||
go install -v ./cmd/...
|
./install.sh
|
||||||
go install -v ./chore/... # compile all tools except pydump
|
|
||||||
export LLGO_ROOT=$PWD/..
|
|
||||||
cd ../_xtool
|
|
||||||
llgo install ./... # compile pydump
|
|
||||||
go install github.com/goplus/hdq/chore/pysigfetch@v0.8.1 # compile pysigfetch
|
|
||||||
|
|||||||
@@ -3,4 +3,4 @@ brew update
|
|||||||
brew install llvm@18 bdw-gc openssl cjson libffi libuv pkg-config
|
brew install llvm@18 bdw-gc openssl cjson libffi libuv pkg-config
|
||||||
brew install python@3.12 # optional
|
brew install python@3.12 # optional
|
||||||
brew link --force libffi
|
brew link --force libffi
|
||||||
go install -v github.com/goplus/llgo/cmd/llgo@latest
|
curl https://raw.githubusercontent.com/goplus/llgo/refs/heads/main/install.sh | bash
|
||||||
|
|||||||
@@ -4,4 +4,4 @@ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y llvm-18-dev clang-18 libclang-18-dev lld-18 pkg-config libgc-dev libssl-dev zlib1g-dev libcjson-dev libsqlite3-dev libunwind-dev libuv1-dev
|
sudo apt-get install -y llvm-18-dev clang-18 libclang-18-dev lld-18 pkg-config libgc-dev libssl-dev zlib1g-dev libcjson-dev libsqlite3-dev libunwind-dev libuv1-dev
|
||||||
sudo apt-get install -y python3.12-dev # optional
|
sudo apt-get install -y python3.12-dev # optional
|
||||||
go install -v github.com/goplus/llgo/cmd/llgo@latest
|
curl https://raw.githubusercontent.com/goplus/llgo/refs/heads/main/install.sh | bash
|
||||||
|
|||||||
Reference in New Issue
Block a user