mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-16 08:46:08 +03:00
21 lines
902 B
Zig
21 lines
902 B
Zig
const std = @import("std");
|
|
const builtin = @import("builtin");
|
|
const options = @import("build_options");
|
|
|
|
/// The wasm target platform. This is used to toggle certain features
|
|
/// on and off since the standard triple target is often not specific
|
|
/// enough (i.e. we can't tell wasm32-freestanding is for browser or not).
|
|
pub const Target = enum {
|
|
browser,
|
|
};
|
|
|
|
/// Our specific target platform.
|
|
pub const target: ?Target = if (!builtin.target.isWasm()) null else target: {
|
|
const result = @enumFromInt(Target, @intFromEnum(options.wasm_target));
|
|
// This maybe isn't necessary but I don't know if enums without a specific
|
|
// tag type and value are guaranteed to be the same between build.zig
|
|
// compilation and our own source compilation so I have this just in case.
|
|
std.debug.assert(std.mem.eql(u8, @tagName(result), @tagName(options.wasm_target)));
|
|
break :target result;
|
|
};
|