mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-08-27 09:31:39 +00:00
Update to Zig 0.16.0
This commit represents the majority of the work necessary to upgrade Ghostty to use Zig 0.16.0. Key parts: * In addition to its previous responsibilities, the global state now houses state for global I/O implementations and the process environment. It is now also utilized in the main application along with the C library. Where necessary, global state is isolated from key parts of the implementation (e.g., in libghostty subsystems), and it's expected that this list will grow. * We currently manage our own C translation layer where necessary. In these cases, cImport has been removed in favor of the new external translate-c package. Due to fixes that have needed be made to properly translate the dependencies that were swapped out, as mentioned, we have had to backport fixes from the current translate-c package (and the upstream Arocc dependency). We will host this ourselves until Zig 0.17.0 is released with these fixes. * Where necessary (only a small number of cases), some stdlib code from 0.15.2 (and even from 0.17.0) has been taken, adopted, and vendored in lib/compat. Co-authored-by: Leah Amelia Chen <hi@pluie.me>
This commit is contained in:
@@ -48,21 +48,21 @@ pub fn init(
|
||||
},
|
||||
};
|
||||
|
||||
const env = try std.process.getEnvMap(b.allocator);
|
||||
const env = b.graph.environ_map;
|
||||
const app_path = b.fmt("macos/build/{s}/Ghostty.app", .{xc_config});
|
||||
|
||||
// Our step to build the Ghostty macOS app.
|
||||
const build = build: {
|
||||
// External environment variables can mess up xcodebuild, so
|
||||
// we create a new empty environment.
|
||||
const env_map = try b.allocator.create(std.process.EnvMap);
|
||||
const env_map = try b.allocator.create(std.process.Environ.Map);
|
||||
env_map.* = .init(b.allocator);
|
||||
if (env.get("PATH")) |v| try env_map.put("PATH", v);
|
||||
|
||||
const step = RunStep.create(b, "xcodebuild");
|
||||
step.has_side_effects = true;
|
||||
step.cwd = b.path("macos");
|
||||
step.env_map = env_map;
|
||||
step.environ_map = env_map;
|
||||
step.addArgs(&.{
|
||||
"xcodebuild",
|
||||
"-target",
|
||||
@@ -91,14 +91,14 @@ pub fn init(
|
||||
};
|
||||
|
||||
const xctest = xctest: {
|
||||
const env_map = try b.allocator.create(std.process.EnvMap);
|
||||
const env_map = try b.allocator.create(std.process.Environ.Map);
|
||||
env_map.* = .init(b.allocator);
|
||||
if (env.get("PATH")) |v| try env_map.put("PATH", v);
|
||||
|
||||
const step = RunStep.create(b, "xcodebuild test");
|
||||
step.has_side_effects = true;
|
||||
step.cwd = b.path("macos");
|
||||
step.env_map = env_map;
|
||||
step.environ_map = env_map;
|
||||
step.addArgs(&.{
|
||||
"xcodebuild",
|
||||
"test",
|
||||
|
||||
Reference in New Issue
Block a user