Go to file
Andrew Kelley 576581bd7b stage1: fix enums having wrong debug info
It wasn't wrong info, but e.g. GDB couldn't handle non-power-of-two
enum tags. Now we tell debug info that enum tags are always power of two
size.

closes #4526
closes #5432
2020-08-13 20:32:32 -07:00
.builds ci: don't rely on sourcehut's pkg system 2020-01-30 10:23:00 -05:00
.github Sponsors Button => ZSF 2020-07-11 18:33:56 -04:00
ci ci: update msys2 installer 2020-07-25 22:21:52 -07:00
cmake update cmake, update readme, in response to the dynamic linking fiasco 2020-04-17 18:41:21 -04:00
deps deps/SoftFloat-3e/: commit with LF line endings 2020-05-31 12:18:31 -04:00
doc langref: explain why comptime_float cannot be divided by comptime_int 2020-08-13 22:08:37 +03:00
lib Support tuples in mem.len and trait.isIndexable (#5897) 2020-08-14 01:14:32 +03:00
src stage1: fix enums having wrong debug info 2020-08-13 20:32:32 -07:00
src-self-hosted stage2: zir_sema for loops 2020-08-13 20:32:32 -07:00
test Merge pull request #6045 from Vexu/block 2020-08-14 01:04:05 +03:00
tools Update tools/process_headers.zig to latest zig 2020-08-10 21:09:23 -04:00
.gitattributes .gitattributes: deps/SoftFloat-3e/*.txt lines are crlf terminated 2020-04-05 11:03:31 -04:00
.gitignore fix .gitignore file and add commit missing std lib file 2019-02-26 18:33:27 -05:00
CMakeLists.txt cmake: add -DZIG_WORKAROUND_POLLY_SO 2020-07-03 04:48:48 +00:00
CONTRIBUTING.md add behavior tests fro macro translations 2020-07-16 17:10:52 +03:00
LICENSE add license 2015-08-05 16:22:18 -07:00
README.md clean up readme 2020-07-03 04:43:05 +00:00
build.zig zig build: fix addBuildOption for `[]const u8` and `?[]const u8` 2020-08-04 22:55:45 -07:00

README.md

ZIG

A general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

Resources

Building from Source

Build Status

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 == 10.x, compiled with the same gcc or clang version above
Windows
  • cmake >= 3.15.3
  • Microsoft Visual Studio. Supported versions:
    • 2015 (version 14)
    • 2017 (version 15.8)
    • 2019 (version 16)
  • LLVM, Clang, LLD development libraries == 10.x

Instructions

POSIX
mkdir build
cd build
cmake ..
make install

Need help? 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

You will now run into this issue: homebrew and llvm 10 packages in apt.llvm.org are broken with undefined reference to getPollyPluginInfo or error: unable to create target: 'Unable to find target for this triple (no targets are registered)', in which case try -DZIG_WORKAROUND_4799=ON

Hopefully this will be fixed upstream with LLVM 10.0.1.

Windows

See https://github.com/ziglang/zig/wiki/Building-Zig-on-Windows