mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-08-02 14:57:31 +03:00
build: add libintl for macOS builds
This commit is contained in:
@ -63,6 +63,7 @@
|
||||
.gtk4_layer_shell = .{ .path = "./pkg/gtk4-layer-shell" },
|
||||
.harfbuzz = .{ .path = "./pkg/harfbuzz" },
|
||||
.highway = .{ .path = "./pkg/highway" },
|
||||
.libintl = .{ .path = "./pkg/libintl" },
|
||||
.libpng = .{ .path = "./pkg/libpng" },
|
||||
.macos = .{ .path = "./pkg/macos" },
|
||||
.oniguruma = .{ .path = "./pkg/oniguruma" },
|
||||
|
@ -359,6 +359,12 @@ pub fn build(b: *std.Build) !void {
|
||||
lib.addIncludePath(b.path(""));
|
||||
lib.addIncludePath(upstream.path("gettext-runtime/intl"));
|
||||
lib.addIncludePath(upstream.path("gettext-runtime/intl/gnulib-lib"));
|
||||
|
||||
if (target.result.isDarwin()) {
|
||||
const apple_sdk = @import("apple_sdk");
|
||||
try apple_sdk.addPaths(b, &lib.root_module);
|
||||
}
|
||||
|
||||
lib.addConfigHeader(config);
|
||||
lib.addCSourceFiles(.{
|
||||
.root = upstream.path("gettext-runtime/intl"),
|
||||
@ -389,12 +395,16 @@ const srcs: []const []const u8 = &.{
|
||||
"localealias.c",
|
||||
"log.c",
|
||||
"ngettext.c",
|
||||
"osdep.c",
|
||||
"plural-exp.c",
|
||||
"plural.c",
|
||||
"printf.c",
|
||||
"setlocale.c",
|
||||
"textdomain.c",
|
||||
"version.c",
|
||||
"compat.c",
|
||||
|
||||
// Not needed for macOS, but we might need them for other platforms.
|
||||
// If we expand this to support other platforms, we should uncomment
|
||||
// these.
|
||||
// "osdep.c",
|
||||
// "printf.c",
|
||||
};
|
||||
|
@ -7,5 +7,7 @@
|
||||
.url = "https://deps.files.ghostty.org/gettext-0.24.tar.gz",
|
||||
.hash = "1220f870c853529233ea64a108acaaa81f8d06d7ff4b66c76930be7d78d508aff7a2",
|
||||
},
|
||||
|
||||
.apple_sdk = .{ .path = "../apple-sdk" },
|
||||
},
|
||||
}
|
||||
|
@ -381,6 +381,17 @@ pub fn add(
|
||||
if (self.config.renderer == .opengl) {
|
||||
step.linkFramework("OpenGL");
|
||||
}
|
||||
|
||||
// Apple platforms do not include libc libintl so we bundle it.
|
||||
// This is LGPL but since our source code is open source we are
|
||||
// in compliance with the LGPL since end users can modify this
|
||||
// build script to replace the bundled libintl with their own.
|
||||
const libintl_dep = b.dependency("libintl", .{
|
||||
.target = target,
|
||||
.optimize = optimize,
|
||||
});
|
||||
step.linkLibrary(libintl_dep.artifact("intl"));
|
||||
try static_libs.append(libintl_dep.artifact("intl").getEmittedBin());
|
||||
}
|
||||
|
||||
// cimgui
|
||||
|
Reference in New Issue
Block a user