mirror of
https://github.com/ziglang/zig.git
synced 2024-11-15 00:26:57 +00:00
readme: Add instructions for making changes to the standard library
Closes #2324
This commit is contained in:
parent
0f8fc3b924
commit
e64c0dee35
40
README.md
40
README.md
@ -223,3 +223,43 @@ use stage 1.
|
||||
```
|
||||
./stage2/bin/zig build --build-file ../build.zig install -Drelease-fast
|
||||
```
|
||||
|
||||
## Developing Zig
|
||||
|
||||
### Standard Library
|
||||
|
||||
First, build the Stage 1 compiler as described in [the Building section](#building).
|
||||
|
||||
Then, make your changes to the standard library files in `std`. After every change,
|
||||
(from the build directory you used to build the compiler) run either `make install`
|
||||
(on POSIX) or `msbuild -p:Configuration=Release INSTALL.vcxproj` (on Windows) as
|
||||
well as the relevant tests using `bin/zig test <file>`.
|
||||
|
||||
Once your changes are finished, run all the zig tests (while skipping the longer
|
||||
test process for all possible platforms) by running the following (also from the
|
||||
build directory you used to build the compiler):
|
||||
|
||||
```
|
||||
bin/zig build --build-file ../build.zig test -Dskip-release
|
||||
```
|
||||
|
||||
For example, when making changes to `std/heap.zig` on POSIX:
|
||||
|
||||
```sh
|
||||
# build and install compiler in 'build' directory
|
||||
mkdir build
|
||||
cd build
|
||||
...
|
||||
# make changes to std/heap.zig
|
||||
nano ../std/heap.zig
|
||||
# install and test changes
|
||||
make install
|
||||
bin/zig test std/heap.zig
|
||||
# more changes to std/heap.zig
|
||||
nano ../std/heap.zig
|
||||
# install and test changes
|
||||
make install
|
||||
bin/zig test std/heap.zig
|
||||
# run all the tests
|
||||
bin/zig build --build-file ../build.zig test -Dskip-release
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user