Merge pull request #991 from cpunion/update-doc

doc: update install instructions
This commit is contained in:
xushiwei
2025-02-15 12:02:45 +08:00
committed by GitHub
6 changed files with 112 additions and 15 deletions

View File

@@ -29,7 +29,7 @@ jobs:
with:
args: README.md
doc_test:
remote_install:
strategy:
matrix:
os:
@@ -58,7 +58,42 @@ jobs:
set -x
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: |
set -e
set -x
@@ -79,3 +114,52 @@ jobs:
set -x
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

View File

@@ -362,7 +362,7 @@ brew update
brew install llvm@18 bdw-gc openssl cjson libffi libuv pkg-config
brew install python@3.12 # optional
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 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
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
@@ -391,13 +391,22 @@ export LLVM_CONFIG=/usr/lib/llvm18/bin/llvm-config
export CGO_CPPFLAGS="$($LLVM_CONFIG --cppflags)"
export CGO_CXXFLAGS=-std=c++17
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
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
@@ -409,7 +418,7 @@ TODO
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
git clone https://github.com/goplus/llgo.git

View 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

View File

@@ -1,9 +1,4 @@
# 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
cd llgo
./install.sh

View File

@@ -3,4 +3,4 @@ brew update
brew install llvm@18 bdw-gc openssl cjson libffi libuv pkg-config
brew install python@3.12 # optional
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

View File

@@ -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 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
go install -v github.com/goplus/llgo/cmd/llgo@latest
curl https://raw.githubusercontent.com/goplus/llgo/refs/heads/main/install.sh | bash