Andrew Kelley 4b02a39aa9
self-hosted libc detection
* libc_installation.cpp is deleted.
   src-self-hosted/libc_installation.zig is now used for both stage1 and
   stage2 compilers.
 * (breaking) move `std.fs.File.access` to `std.fs.Dir.access`. The API
   now encourages use with an open directory handle.
 * Add `std.os.faccessat` and related functions.
 * Deprecate the "C" suffix naming convention for null-terminated
   parameters. "C" should be used when it is related to libc. However
   null-terminated parameters often have to do with the native system
   ABI rather than libc. "Z" suffix is the new convention. For example,
   `std.os.openC` is deprecated in favor of `std.os.openZ`.
 * Add `std.mem.dupeZ` for using an allocator to copy memory and add a
   null terminator.
 * Remove dead struct field `std.ChildProcess.llnode`.
 * Introduce `std.event.Batch`. This API allows expressing concurrency
   without forcing code to be async. It requires no Allocator and does
   not introduce any failure conditions. However it is not thread-safe.
 * There is now an ongoing experiment to transition away from
   `std.event.Group` in favor of `std.event.Batch`.
 * `std.os.execvpeC` calls `getenvZ` rather than `getenv`. This is
   slightly more efficient on most systems, and works around a
   limitation of `getenv` lack of integration with libc.
 * (breaking) `std.os.AccessError` gains `FileBusy`, `SymLinkLoop`, and
   `ReadOnlyFileSystem`. Previously these error codes were all reported
   as `PermissionDenied`.
 * Add `std.Target.isDragonFlyBSD`.
 * stage2: access to the windows_sdk functions is done with a manually
   maintained .zig binding file instead of `@cImport`.
 * Update src-self-hosted/libc_installation.zig with all the
   improvements that stage1 has seen to src/libc_installation.cpp until
   now. In addition, it now takes advantage of Batch so that evented I/O
   mode takes advantage of concurrency, but it still works in blocking
   I/O mode, which is how it is used in stage1.
2020-02-16 13:25:30 -05:00
..
2020-02-14 18:57:57 -05:00
2020-02-06 00:21:26 +11:00
2020-01-29 17:38:42 -06:00
2020-02-16 13:25:30 -05:00
2020-02-16 13:25:30 -05:00
2020-02-01 11:32:53 +01:00
2020-01-30 00:27:44 -06:00
2020-02-14 19:15:09 +11:00
2020-02-14 19:15:09 +11:00
2020-02-14 09:35:38 -05:00
2020-02-14 19:15:09 +11:00
2020-02-16 13:25:30 -05:00
2019-11-08 15:57:24 -05:00
2019-09-25 23:35:41 -04:00
2020-02-16 01:44:52 -05:00
2019-09-25 23:35:41 -04:00
2019-09-25 23:35:41 -04:00
2020-01-29 22:22:01 -06:00
2020-02-07 12:08:41 -05:00
2020-02-06 18:05:50 -05:00
2020-02-16 13:25:30 -05:00
2020-02-16 13:25:30 -05:00
2019-11-29 21:55:27 -05:00
2019-09-25 23:35:41 -04:00
2020-02-16 13:25:30 -05:00
2020-02-13 16:13:53 -05:00
2020-02-16 13:25:30 -05:00
2019-10-11 18:13:24 -04:00
2019-09-25 23:35:41 -04:00
2020-02-14 19:15:09 +11:00
2019-11-12 17:55:54 +02:00
2019-09-25 23:35:41 -04:00
2020-01-14 13:06:46 -05:00
2020-02-16 13:25:30 -05:00
2020-02-14 09:35:38 -05:00
2020-01-31 22:33:17 +11:00
2020-02-08 01:38:01 -05:00
2020-02-16 13:25:30 -05:00
2020-02-06 00:16:00 +11:00
2020-01-19 20:54:04 -05:00
2020-02-16 13:25:30 -05:00
2020-02-16 13:25:30 -05:00
2019-09-25 23:35:41 -04:00