Andrew Kelley 21bd13626d Cache: introduce prefixes to manifests
Before, cache manifest files would have absolute file paths. This is
problematic for two reasons:

 * Absolute file paths are not portable. Some operating systems such as
   WASI have trouble with them. The files themselves are less portable;
   they cannot be migrated from one user's home directory to another's.
   And finally they can break due to file paths exceeding maximum path
   component size.
 * They would prevent some advanced use cases of Zig, where the lib dir
   has a different path in a different invocation but is ultimately the
   same Zig version and lib directory as before.

This commit adds a new column that specifies the prefix directory for
each file. 0 is an escape hatch and has the previous behavior. The other
two prefixes introduced are zig lib directory, and the cache directory.
This means files in zig-cache manifests can reference files local to
these directories.

In practice, this means it is possible to use a different file path for
the zig lib directory in a subsequent run of zig and have it still take
advantage of the global cache, provided that the files inside remain
unchanged.

closes #13050
2022-11-22 20:57:56 -07:00
..
2022-09-14 20:08:34 -04:00
2022-11-18 19:22:42 +00:00
2022-11-04 00:09:27 +03:30
2022-11-04 00:09:27 +03:30
2022-08-19 03:41:13 -07:00
2022-11-14 16:35:25 +01:00
2022-11-20 20:25:11 +02:00
2022-11-04 00:09:27 +03:30
2022-07-28 11:53:25 -07:00
2022-07-28 11:53:25 -07:00
2022-07-28 11:53:25 -07:00
2022-07-28 11:53:25 -07:00