Commit Graph

265 Commits

Author SHA1 Message Date
Andrew Kelley
f8b38a174f adjust building from source without LLVM process
The idea here is that the zig2 executable is perhaps the more useful
deliverable until we implement our own optimization passes. This will
allow system packages to provide Zig, and use it to compile Zig
projects, all without LLVM!
2023-11-14 02:17:51 -05:00
Andrew Kelley
910143e54c README: make note of what features are missing without LLVM 2023-11-12 17:30:24 -07:00
Andrew Kelley
621e89a863 add bootstrap.c for building from source without LLVM
When a zig compiler without LLVM extensions is satisfactory, this
greatly simplified build-from-source process can be used.

This could be useful for users who only want to contribute to the
standard library, for example.
2023-11-12 17:30:24 -07:00
Tomasz Lisowski
a9f25c7d64 Update LLVM version in README from 16.x to 17.x 2023-09-24 14:49:29 -07:00
dundargoc
5389af2c1c Fix minimum cmake version in README 2023-09-16 22:17:11 -07:00
snoire
5b51259141 Fix incorrect lib search paths in README
The README contains a typo stating 'zig/lib/' and '../zig/lib/' as the lib search paths. This should be 'lib/zig' and '../lib/zig'.
2023-08-12 10:29:42 -07:00
Andrew Kelley
9ada2f887c README makeover
This readme is now appropriate to include in release tarballs.
2023-07-23 15:49:18 -07:00
Andrew Kelley
b09280b484 move some files to the .github directory 2022-03-24 12:22:23 -07:00
Andrew Kelley
4e38b3ed9b readme: dynamic logo light/dark 2022-01-03 17:45:09 -07:00
Andrew Kelley
74878565e5 readme: update introduction link 2021-02-19 16:38:04 -07:00
Andrew Kelley
1afea36a16 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.
2020-12-07 17:50:14 -07:00
Yanis Zafirópulos
c6747e1063 Copy editing :) 2020-10-26 18:39:34 +01:00
Andrew Kelley
b61733a4b8 readme: rewrite the license section 2020-10-21 19:55:35 -07:00
Andrew Kelley
c19dcafa17 Merge remote-tracking branch 'origin/master' into llvm11 2020-10-12 17:57:35 -07:00
Andrew Kelley
1951ecb228 add a code of conduct
this has always been the rules, they are just written down now.

also link to ziglearn.org in the readme
2020-10-08 22:48:16 -07:00
Andrew Kelley
b5a36f676b Merge remote-tracking branch 'origin/master' into llvm11
Conflicts:
  cmake/Findllvm.cmake

The llvm11 branch changed 10's to 11's and master branch added the
"using LLVM_CONFIG_EXE" help message, so the resolution was to merge
these changes together.

I also added a check to make sure LLVM is built with AVR enabled, which
is no longer an experimental target.
2020-10-07 00:46:05 -07:00
Alexandros Naskos
9952a072cc Remove MSVC 2015 from supported compilers in README 2020-10-05 03:55:41 -04:00
Andrew Kelley
7067764ed3 Merge remote-tracking branch 'origin/master' into llvm11
The changes to install_files.h needed to put into src/libcxx.zig
2020-09-30 02:55:41 -07:00
Andrew Kelley
750b00c642 Merge remote-tracking branch 'origin/master' into stage2-zig-cc 2020-09-29 00:27:48 -07:00
Frank Denis
274c55b780 ZIG_WORKAROUND_4799 is not required with LLVM 10.0.1
That paragraph used to contradict the following one.
2020-09-23 22:05:43 -04:00
Calle Englund
94024a9fae
Update macOS build instructions with workaround 2020-09-23 16:26:35 +02:00
Andrew Kelley
e2d1f9874d Merge remote-tracking branch 'origin/master' into llvm11 2020-09-22 11:41:21 -07:00
Andrew Kelley
dc478687d9 delete all stage1 c++ code not directly related to compiling stage2
Deleted 16,000+ lines of c++ code, including:
 * an implementation of blake hashing
 * the cache hash system
 * compiler.cpp
 * all the linking code, and everything having to do with building
   glibc, musl, and mingw-w64
 * much of the stage1 compiler internals got slimmed down since it
   now assumes it is always outputting an object file.

More stuff:
 * stage1 is now built with a different strategy: we have a tiny
   zig0.cpp which is a slimmed down version of what stage1 main.cpp used
   to be. Its only purpose is to build stage2 zig code into an object
   file, which is then linked by the host build system (cmake) into
   stage1. zig0.cpp uses the same C API that stage2 now has access to,
   so that stage2 zig code can call into stage1 c++ code.
   - stage1.h is
   - stage2.h is
   - stage1.zig is the main entry point for the Zig/C++
     hybrid compiler. It has the functions exported from Zig, called
     in C++, and bindings for the functions exported from C++, called
     from Zig.
 * removed the memory profiling instrumentation from stage1.
   Abandon ship!
 * Re-added the sections to the README about how to build stage2 and
   stage3.
 * stage2 now knows as a comptime boolean whether it is being compiled
   as part of stage1 or as stage2.
   - TODO use this flag to call into stage1 for compiling zig code.
 * introduce -fdll-export-fns and -fno-dll-export-fns and clarify
   its relationship to link_mode (static/dynamic)
 * implement depending on LLVM to detect native target cpu features when
   LLVM extensions are enabled and zig lacks CPU feature detection for
   that target architecture.
 * C importing is broken, will need some stage2 support to function
   again.
2020-09-17 18:29:38 -07:00
Andrew Kelley
bee34f5d03 add a manifesto to the readme 2020-09-11 11:30:21 -07:00
Andrew Kelley
c354f074fa Merge remote-tracking branch 'origin/master' into llvm11 2020-08-31 15:49:44 -07:00
Andrew Kelley
4e97cf50d2 readme: link to wiki page for installing from a package manager 2020-08-31 14:41:01 -07:00
Andrew Kelley
cd91e17b73 update LLVM 10 version numbers to 11 2020-07-24 16:49:43 -07:00
Andrew Kelley
14e07e9a72 clean up readme 2020-07-03 04:43:05 +00:00
Timothee Cour
9a7f05378f fix https://github.com/ziglang/zig/issues/4799 2020-07-03 04:40:25 +00:00
Andrew Kelley
bb55889ce0 README: add link to troubleshooting build issues wiki page
See #5673
2020-06-26 15:10:30 -04:00
Andrew Kelley
ae080b5c21 readme: remove the part about stage2 until it's done 2020-05-05 15:26:36 -04:00
Andrew Kelley
986aa42d3e update cmake, update readme, in response to the dynamic linking fiasco 2020-04-17 18:41:21 -04:00
Andrew Kelley
4871345545 update readme instructions for homebrew 2020-04-10 01:29:04 -04:00
Ali Ahmed
45dc2587a3 Fix Readme to point to llvm for brew commands
* Homebrew has updated llvm to point to llvm@10
2020-03-30 23:21:40 -04:00
Andrew Kelley
fbe6af81fd
Merge remote-tracking branch 'origin/master' into llvm10 2020-01-16 13:01:36 -05:00
Andrew Kelley
a3d04b9228
update readme tagline 2019-12-30 18:17:13 -05:00
Andrew Kelley
c806de8ae7
README: update the short description of what zig is 2019-11-13 13:44:19 -05:00
Andrew Kelley
6f10e3fda6
llvm 9.0.0 => llvm 10.0.0 2019-10-02 02:11:46 -04:00
Andrew Kelley
695695c852
update README
Also I verified that muldi3 has not changed since the previous ported
reference commit.
2019-09-20 12:58:00 -04:00
Andrew Kelley
058050f22c
Merge remote-tracking branch 'origin/master' into llvm9 2019-09-02 20:56:31 -04:00
Shritesh
834a789bb9 Use LLVM path provided by homebrew 2019-08-29 10:19:35 -04:00
Andrew Kelley
6529658ad8
Merge remote-tracking branch 'origin/master' into llvm9 2019-08-16 16:43:56 -04:00
Andrew Kelley
3aed7de0c4
README: link to community projects 2019-08-11 16:09:23 -04:00
Andrew Kelley
7f23dac6dc
update readme 2019-08-05 13:49:17 -04:00
Andrew Kelley
8f92a49dfd
update to llvm9 trunk 2019-07-16 22:23:48 -04:00
Andrew Kelley
72800f176e
zig build: search upwards for build.zig file
closes #2587
2019-07-04 17:44:33 -04:00
Andrew Kelley
04b32d6a8a
docs: mention the standard library documentation
also mention the FAQ in the README.

also link to the other documentation versions.
2019-07-02 15:21:58 -04:00
Andrew Kelley
5017a1d895 fix build on macos 2019-06-10 00:35:27 -04:00
Andrew Kelley
508fdfea72
link to contributing in readme 2019-05-28 14:53:01 -04:00
Andrew Kelley
a37ea5acf3
extract CONTRIBUTING.md from README.md 2019-05-28 14:50:02 -04:00