Update `from-source.zh-cn.md` & `from-source.en-us.md` - Cross Compile Using Zig (#25194)
## Compile & Cross Compile Gitea With CGO Dependencies Using Zig --------- Co-authored-by: Jason Song <i@wolfogre.com>
This commit is contained in:
parent
6da19d76bf
commit
139704f499
|
@ -206,3 +206,61 @@ Similarly, a script for zsh-completion can be found at [`contrib/autocompletion/
|
||||||
`.zshrc`.
|
`.zshrc`.
|
||||||
|
|
||||||
YMMV and these scripts may need further improvement.
|
YMMV and these scripts may need further improvement.
|
||||||
|
|
||||||
|
## Compile or cross-compile using Linux with Zig
|
||||||
|
|
||||||
|
Follow [Getting Started of Zig](https://ziglang.org/learn/getting-started/#installing-zig) to install zig.
|
||||||
|
|
||||||
|
- Compile (Linux ➝ Linux)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
CC="zig cc -target x86_64-linux-gnu" \
|
||||||
|
CGO_ENABLED=1 \
|
||||||
|
CGO_CFLAGS="-O2 -g -pthread" \
|
||||||
|
CGO_LDFLAGS="-linkmode=external -v"
|
||||||
|
GOOS=linux \
|
||||||
|
GOARCH=amd64 \
|
||||||
|
TAGS="bindata sqlite sqlite_unlock_notify" \
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
||||||
|
- Cross-compile (Linux ➝ Windows)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
CC="zig cc -target x86_64-windows-gnu" \
|
||||||
|
CGO_ENABLED=1 \
|
||||||
|
CGO_CFLAGS="-O2 -g -pthread" \
|
||||||
|
GOOS=windows \
|
||||||
|
GOARCH=amd64 \
|
||||||
|
TAGS="bindata sqlite sqlite_unlock_notify" \
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
||||||
|
## Compile or cross-compile with Zig using Windows
|
||||||
|
|
||||||
|
Compile with `GIT BASH`.
|
||||||
|
|
||||||
|
- Compile (Windows ➝ Windows)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
CC="zig cc -target x86_64-windows-gnu" \
|
||||||
|
CGO_ENABLED=1 \
|
||||||
|
CGO_CFLAGS="-O2 -g -pthread" \
|
||||||
|
GOOS=windows \
|
||||||
|
GOARCH=amd64 \
|
||||||
|
TAGS="bindata sqlite sqlite_unlock_notify" \
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
||||||
|
- Cross-compile (Windows ➝ Linux)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
CC="zig cc -target x86_64-linux-gnu" \
|
||||||
|
CGO_ENABLED=1 \
|
||||||
|
CGO_CFLAGS="-O2 -g -pthread" \
|
||||||
|
CGO_LDFLAGS="-linkmode=external -v"
|
||||||
|
GOOS=linux \
|
||||||
|
GOARCH=amd64 \
|
||||||
|
TAGS="bindata sqlite sqlite_unlock_notify" \
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
|
@ -103,3 +103,61 @@ GOOS=linux GOARCH=arm64 make build
|
||||||
```bash
|
```bash
|
||||||
CC=aarch64-unknown-linux-gnu-gcc GOOS=linux GOARCH=arm64 TAGS="bindata sqlite sqlite_unlock_notify" make build
|
CC=aarch64-unknown-linux-gnu-gcc GOOS=linux GOARCH=arm64 TAGS="bindata sqlite sqlite_unlock_notify" make build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 使用Linux与Zig编译或交叉编译
|
||||||
|
|
||||||
|
按照[Getting Started of Zig](https://ziglang.org/learn/getting-started/#installing-zig)来安装zig。
|
||||||
|
|
||||||
|
- 编译(Linux ➝ Linux)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
CC="zig cc -target x86_64-linux-gnu" \
|
||||||
|
CGO_ENABLED=1 \
|
||||||
|
CGO_CFLAGS="-O2 -g -pthread" \
|
||||||
|
CGO_LDFLAGS="-linkmode=external -v"
|
||||||
|
GOOS=linux \
|
||||||
|
GOARCH=amd64 \
|
||||||
|
TAGS="bindata sqlite sqlite_unlock_notify" \
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
||||||
|
- 交叉编译(Linux ➝ Windows)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
CC="zig cc -target x86_64-windows-gnu" \
|
||||||
|
CGO_ENABLED=1 \
|
||||||
|
CGO_CFLAGS="-O2 -g -pthread" \
|
||||||
|
GOOS=windows \
|
||||||
|
GOARCH=amd64 \
|
||||||
|
TAGS="bindata sqlite sqlite_unlock_notify" \
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
||||||
|
## 使用Windows与Zig编译或交叉编译
|
||||||
|
|
||||||
|
使用`GIT BASH`编译。
|
||||||
|
|
||||||
|
- 编译(Windows ➝ Windows)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
CC="zig cc -target x86_64-windows-gnu" \
|
||||||
|
CGO_ENABLED=1 \
|
||||||
|
CGO_CFLAGS="-O2 -g -pthread" \
|
||||||
|
GOOS=windows \
|
||||||
|
GOARCH=amd64 \
|
||||||
|
TAGS="bindata sqlite sqlite_unlock_notify" \
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
||||||
|
- 交叉编译(Windows ➝ Linux)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
CC="zig cc -target x86_64-linux-gnu" \
|
||||||
|
CGO_ENABLED=1 \
|
||||||
|
CGO_CFLAGS="-O2 -g -pthread" \
|
||||||
|
CGO_LDFLAGS="-linkmode=external -v"
|
||||||
|
GOOS=linux \
|
||||||
|
GOARCH=amd64 \
|
||||||
|
TAGS="bindata sqlite sqlite_unlock_notify" \
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in New Issue