mirror of
https://github.com/fairyglade/ly.git
synced 2025-12-20 19:24:53 +00:00
Allow building without X11 support
Signed-off-by: AnErrupTion <anerruption@disroot.org>
This commit is contained in:
13
build.zig
13
build.zig
@@ -13,9 +13,9 @@ comptime {
|
||||
}
|
||||
|
||||
const ly_version = std.SemanticVersion{ .major = 1, .minor = 1, .patch = 0 };
|
||||
|
||||
var dest_directory: []const u8 = undefined;
|
||||
var data_directory: []const u8 = undefined;
|
||||
var default_tty: u8 = undefined;
|
||||
var exe_name: []const u8 = undefined;
|
||||
|
||||
const ProgressNode = if (current_zig.minor == 12) *std.Progress.Node else std.Progress.Node;
|
||||
@@ -23,21 +23,20 @@ const ProgressNode = if (current_zig.minor == 12) *std.Progress.Node else std.Pr
|
||||
pub fn build(b: *std.Build) !void {
|
||||
dest_directory = b.option([]const u8, "dest_directory", "Specify a destination directory for installation") orelse "";
|
||||
data_directory = b.option([]const u8, "data_directory", "Specify a default data directory (default is /etc/ly). This path gets embedded into the binary") orelse "/etc/ly";
|
||||
default_tty = b.option(u8, "default_tty", "set default TTY") orelse 2;
|
||||
|
||||
exe_name = b.option([]const u8, "name", "Specify installed executable file name (default is ly)") orelse "ly";
|
||||
|
||||
const bin_directory = try b.allocator.dupe(u8, data_directory);
|
||||
data_directory = try std.fs.path.join(b.allocator, &[_][]const u8{ dest_directory, data_directory });
|
||||
|
||||
const build_options = b.addOptions();
|
||||
build_options.addOption([]const u8, "data_directory", bin_directory);
|
||||
|
||||
const version_str = try getVersionStr(b, "ly", ly_version);
|
||||
const default_tty = b.option(u8, "default_tty", "Set the TTY (default is 2)") orelse 2;
|
||||
const enable_x11_support = b.option(bool, "enable_x11_support", "Enable X11 support (default is on)") orelse true;
|
||||
|
||||
build_options.addOption([]const u8, "data_directory", bin_directory);
|
||||
build_options.addOption([]const u8, "version", version_str);
|
||||
|
||||
build_options.addOption(u8, "tty", default_tty);
|
||||
build_options.addOption(bool, "enable_x11_support", enable_x11_support);
|
||||
|
||||
const target = b.standardTargetOptions(.{});
|
||||
const optimize = b.standardOptimizeOption(.{});
|
||||
@@ -59,7 +58,7 @@ pub fn build(b: *std.Build) !void {
|
||||
|
||||
exe.addIncludePath(b.path("include"));
|
||||
exe.linkSystemLibrary("pam");
|
||||
exe.linkSystemLibrary("xcb");
|
||||
if (enable_x11_support) exe.linkSystemLibrary("xcb");
|
||||
exe.linkLibC();
|
||||
|
||||
// HACK: Only fails with ReleaseSafe, so we'll override it.
|
||||
|
||||
Reference in New Issue
Block a user