build: derive default config path from install prefix
- Add `default_config_path` build option for the river executable
This commit is contained in:
parent
d2e2dad09c
commit
75588a553c
2 changed files with 13 additions and 7 deletions
16
build.zig
16
build.zig
|
@ -27,13 +27,16 @@ pub fn build(b: *zbs.Builder) !void {
|
|||
|
||||
const examples = b.option(bool, "examples", "Set to true to build examples") orelse false;
|
||||
|
||||
// Sigh, why are the conventions inconsistent like this.
|
||||
const resolved_prefix = try std.fs.path.resolve(b.allocator, &[_][]const u8{b.install_prefix.?});
|
||||
if (std.mem.eql(u8, resolved_prefix, "/usr")) {
|
||||
b.installFile("example/init", "../etc/river/init");
|
||||
} else {
|
||||
b.installFile("example/init", "etc/river/init");
|
||||
}
|
||||
const rel_config_path = if (std.mem.eql(u8, resolved_prefix, "/usr"))
|
||||
"../etc/river/init"
|
||||
else
|
||||
"etc/river/init";
|
||||
b.installFile("example/init", rel_config_path);
|
||||
const default_config_path = try std.fs.path.resolve(
|
||||
b.allocator,
|
||||
&[_][]const u8{ resolved_prefix, rel_config_path },
|
||||
);
|
||||
|
||||
const scanner = ScanProtocolsStep.create(b);
|
||||
scanner.addSystemProtocol("stable/xdg-shell/xdg-shell.xml");
|
||||
|
@ -47,6 +50,7 @@ pub fn build(b: *zbs.Builder) !void {
|
|||
river.setTarget(target);
|
||||
river.setBuildMode(mode);
|
||||
river.addBuildOption(bool, "xwayland", xwayland);
|
||||
river.addBuildOption([]const u8, "default_config_path", default_config_path);
|
||||
|
||||
addServerDeps(river, scanner);
|
||||
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
const std = @import("std");
|
||||
const wlr = @import("wlroots");
|
||||
|
||||
const build_options = @import("build_options");
|
||||
|
||||
const c = @import("c.zig");
|
||||
const log = @import("log.zig");
|
||||
const util = @import("util.zig");
|
||||
|
@ -52,7 +54,7 @@ fn getStartupCommand() std.fmt.AllocPrintError!?[:0]const u8 {
|
|||
return path;
|
||||
}
|
||||
}
|
||||
if (try testConfigPath("/etc/river/init", .{})) |path| {
|
||||
if (try testConfigPath(build_options.default_config_path, .{})) |path| {
|
||||
return path;
|
||||
}
|
||||
return null;
|
||||
|
|
Loading…
Reference in a new issue