fed5c12d9a
The previous [instructions](https://github.com/ziglang/zig/wiki/Updating-libc) for updating musl libc headers had this (repeated for each architecture): make DESTDIR=build-all/arm install-headers ARCH=arm However musl's build system does not properly rebuild alltypes.h and syscall.h from source, instead using whatever is cached from the previous build. In the case of the previous time that I updated to musl 1.1.23, this happened to be the aarch64 architecture. As a workaround, one can remove the obj/ directory to force rebuilding this file. Now the instructions say this (repeated for each architecture): rm -rf obj/ && make DESTDIR=build-all/arm install-headers ARCH=arm This commit updates the resulting headers after this workaround is applied and the process headers tool is run again. |
||
---|---|---|
.builds | ||
.github | ||
ci | ||
cmake | ||
deps | ||
doc | ||
lib | ||
src | ||
src-self-hosted | ||
std | ||
test | ||
tools | ||
.gitattributes | ||
.gitignore | ||
build.zig | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md |
A general-purpose programming language designed for robustness, optimality, and maintainability.
Resources
- Introduction
- Download & Documentation
- Community
- Contributing
- Frequently Asked Questions
- Community Projects
Building from Source
Note that you can download a binary of master branch.
Stage 1: Build Zig from C++ Source Code
Dependencies
POSIX
- cmake >= 2.8.5
- gcc >= 5.0.0 or clang >= 3.6.0
- LLVM, Clang, LLD development libraries == 8.x, compiled with the same gcc or clang version above
- Use the system package manager, or build from source.
Windows
- cmake >= 2.8.5
- Microsoft Visual Studio 2017 (version 15.8)
- LLVM, Clang, LLD development libraries == 8.x, compiled with the same MSVC version above
- Use the pre-built binaries or build from source.
Instructions
POSIX
mkdir build
cd build
cmake ..
make install
MacOS
brew install cmake llvm@8
brew outdated llvm@8 || brew upgrade llvm@8
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
Note: Stage 2 compiler is not complete. Beta users of Zig should use the Stage 1 compiler for now.
Dependencies are the same as Stage 1, except now you can use stage 1 to compile Zig code.
bin/zig build --prefix $(pwd)/stage2
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 --prefix $(pwd)/stage3
Release / Install Build
./stage2/bin/zig build install -Drelease