mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-05-31 17:11:22 +00:00
pkg: replace @cImport with addTranslateC in pkg/
@cImport is going to disappear in Zig 0.17. Its deprecated in Zig 0.16. Let's remove it now. Replace @cImport with addTranslateC across pkg/ packages. Each package now has a c_import.h header that is translated at build time via addTranslateC and exposed as a "cimport" module import. Converted packages: - dcimgui - fontconfig - freetype - glslang - harfbuzz - macos - oniguruma - opengl - sentry - spirv-cross - wuffs Omitted: - gtk4-layer-shell - This has a bit more complexity with how it interacts with GTK headers, so I need to consider this a bit more. - src/ - It'll be cleaner to do this separately.
This commit is contained in:
@@ -46,6 +46,23 @@ pub fn build(b: *std.Build) !void {
|
||||
|
||||
if (b.lazyDependency("sentry", .{})) |upstream| {
|
||||
module.addIncludePath(upstream.path("include"));
|
||||
|
||||
const tc = b.addTranslateC(.{
|
||||
.root_source_file = b.path("c_import.h"),
|
||||
.target = target,
|
||||
.optimize = optimize,
|
||||
});
|
||||
if (target.result.os.tag.isDarwin()) {
|
||||
const libc = try std.zig.LibCInstallation.findNative(.{
|
||||
.allocator = b.allocator,
|
||||
.target = &target.result,
|
||||
.verbose = false,
|
||||
});
|
||||
tc.addSystemIncludePath(.{ .cwd_relative = libc.sys_include_dir.? });
|
||||
}
|
||||
tc.addIncludePath(upstream.path("include"));
|
||||
module.addImport("c", tc.createModule());
|
||||
|
||||
lib.addIncludePath(upstream.path("include"));
|
||||
lib.addIncludePath(upstream.path("src"));
|
||||
lib.addCSourceFiles(.{
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
pub const c = @cImport({
|
||||
@cInclude("sentry.h");
|
||||
});
|
||||
1
pkg/sentry/c_import.h
Normal file
1
pkg/sentry/c_import.h
Normal file
@@ -0,0 +1 @@
|
||||
#include "sentry.h"
|
||||
@@ -1,6 +1,6 @@
|
||||
const std = @import("std");
|
||||
const assert = std.debug.assert;
|
||||
const c = @import("c.zig").c;
|
||||
const c = @import("c");
|
||||
const Value = @import("value.zig").Value;
|
||||
|
||||
/// sentry_envelope_t
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
pub const c = @import("c.zig").c;
|
||||
pub const c = @import("c");
|
||||
|
||||
const transport = @import("transport.zig");
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const std = @import("std");
|
||||
const assert = std.debug.assert;
|
||||
const c = @import("c.zig").c;
|
||||
const c = @import("c");
|
||||
const Envelope = @import("envelope.zig").Envelope;
|
||||
|
||||
/// sentry_transport_t
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const std = @import("std");
|
||||
const assert = std.debug.assert;
|
||||
const c = @import("c.zig").c;
|
||||
const c = @import("c");
|
||||
|
||||
/// sentry_uuid_t
|
||||
pub const UUID = struct {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const std = @import("std");
|
||||
const assert = std.debug.assert;
|
||||
const c = @import("c.zig").c;
|
||||
const c = @import("c");
|
||||
const Level = @import("level.zig").Level;
|
||||
|
||||
/// sentry_value_t
|
||||
|
||||
Reference in New Issue
Block a user