mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 05:44:20 +00:00
update readme installation instructions
The readme now links to the wiki for instructions on building from source. I plan to make many updates to the wiki soon as I start to provide tarballs for working on the compiler.
This commit is contained in:
parent
88dc688bbf
commit
1afea36a16
1 changed files with 5 additions and 91 deletions
96
README.md
96
README.md
|
|
@ -14,98 +14,12 @@ A general-purpose programming language and toolchain for maintaining
|
||||||
* [Frequently Asked Questions](https://github.com/ziglang/zig/wiki/FAQ)
|
* [Frequently Asked Questions](https://github.com/ziglang/zig/wiki/FAQ)
|
||||||
* [Community Projects](https://github.com/ziglang/zig/wiki/Community-Projects)
|
* [Community Projects](https://github.com/ziglang/zig/wiki/Community-Projects)
|
||||||
|
|
||||||
## Building from Source
|
## Installation
|
||||||
|
|
||||||
[](https://dev.azure.com/ziglang/zig/_build/latest?definitionId=1&branchName=master)
|
* [download a pre-built binary](https://ziglang.org/download/)
|
||||||
|
* [install from a package manager](https://github.com/ziglang/zig/wiki/Install-Zig-from-a-Package-Manager)
|
||||||
Note that you can
|
* [build from source](https://github.com/ziglang/zig/wiki/Building-Zig-From-Source)
|
||||||
[download a binary of the master branch](https://ziglang.org/download/#release-master) or
|
* [bootstrap zig for any target](https://github.com/ziglang/zig-bootstrap)
|
||||||
[install Zig from a package manager](https://github.com/ziglang/zig/wiki/Install-Zig-from-a-Package-Manager).
|
|
||||||
|
|
||||||
### Stage 1: Build Zig from C++ Source Code
|
|
||||||
|
|
||||||
This step must be repeated when you make changes to any of the C++ source code.
|
|
||||||
|
|
||||||
#### Dependencies
|
|
||||||
|
|
||||||
##### POSIX
|
|
||||||
|
|
||||||
* cmake >= 2.8.5
|
|
||||||
* gcc >= 5.0.0 or clang >= 3.6.0
|
|
||||||
* LLVM, Clang, LLD development libraries == 11.x, compiled with the same gcc or clang version above
|
|
||||||
- Use the system package manager, or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#posix).
|
|
||||||
|
|
||||||
##### Windows
|
|
||||||
|
|
||||||
* cmake >= 3.15.3
|
|
||||||
* Microsoft Visual Studio. Supported versions:
|
|
||||||
- 2017 (version 15.8)
|
|
||||||
- 2019 (version 16)
|
|
||||||
* LLVM, Clang, LLD development libraries == 11.x
|
|
||||||
- Use the [pre-built binaries](https://github.com/ziglang/zig/wiki/Building-Zig-on-Windows) or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#windows).
|
|
||||||
|
|
||||||
#### Instructions
|
|
||||||
|
|
||||||
##### POSIX
|
|
||||||
|
|
||||||
```
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
cmake ..
|
|
||||||
make install
|
|
||||||
```
|
|
||||||
|
|
||||||
Need help? [Troubleshooting Build Issues](https://github.com/ziglang/zig/wiki/Troubleshooting-Build-Issues)
|
|
||||||
|
|
||||||
##### MacOS
|
|
||||||
|
|
||||||
```
|
|
||||||
brew install cmake llvm
|
|
||||||
brew outdated llvm || brew upgrade llvm
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
cmake .. -DCMAKE_PREFIX_PATH=$(brew --prefix llvm)
|
|
||||||
make install
|
|
||||||
```
|
|
||||||
|
|
||||||
##### Windows
|
|
||||||
|
|
||||||
See https://github.com/ziglang/zig/wiki/Building-Zig-on-Windows
|
|
||||||
|
|
||||||
### Stage 2: Build Self-Hosted Zig from Zig Source Code
|
|
||||||
|
|
||||||
Now we use the stage1 binary:
|
|
||||||
|
|
||||||
```
|
|
||||||
zig build --prefix $(pwd)/stage2 -Denable-llvm
|
|
||||||
```
|
|
||||||
|
|
||||||
This produces `stage2/bin/zig` which can be used for testing and development.
|
|
||||||
Once it is feature complete, it will be used to build stage 3 - the final compiler
|
|
||||||
binary.
|
|
||||||
|
|
||||||
### Stage 3: Rebuild Self-Hosted Zig Using the Self-Hosted Compiler
|
|
||||||
|
|
||||||
*Note: Stage 2 compiler is not yet able to build Stage 3. Building Stage 3 is
|
|
||||||
not yet supported.*
|
|
||||||
|
|
||||||
Once the self-hosted compiler can build itself, this will be the actual
|
|
||||||
compiler binary that we will install to the system. Until then, users should
|
|
||||||
use stage 1.
|
|
||||||
|
|
||||||
#### Debug / Development Build
|
|
||||||
|
|
||||||
```
|
|
||||||
stage2/bin/zig build
|
|
||||||
```
|
|
||||||
|
|
||||||
This produces `zig-cache/bin/zig`.
|
|
||||||
|
|
||||||
#### Release / Install Build
|
|
||||||
|
|
||||||
```
|
|
||||||
stage2/bin/zig build install -Drelease
|
|
||||||
```
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue