build: embed udev rules in the binary

It is nice if the program can emit its own udev file.
This commit is contained in:
torque 2024-07-07 15:34:03 -07:00
parent 2937de6fcd
commit c8511d8c92
Signed by: torque
SSH Key Fingerprint: SHA256:nCrXefBNo6EbjNSQhv0nXmEg/VuNq3sMF5b8zETw3Tk
3 changed files with 10 additions and 0 deletions

View File

@ -22,6 +22,12 @@ pub fn build(b: *std.Build) void {
.{ .target = target, .optimize = optimize, .use_udev = use_udev }, .{ .target = target, .optimize = optimize, .use_udev = use_udev },
); );
exe.linkLibrary(ljacklm_dep.artifact("ljacklm")); exe.linkLibrary(ljacklm_dep.artifact("ljacklm"));
exe.root_module.addImport(
"udev_rules",
b.addModule("udev_rules", .{
.root_source_file = b.path("deps/labjack/exodriver/udev_rules.zig"),
}),
);
b.installArtifact(exe); b.installArtifact(exe);
} }

2
deps/labjack/exodriver/udev_rules.zig vendored Normal file
View File

@ -0,0 +1,2 @@
pub const rules_filename = "90-labjack.rules";
pub const rules = @embedFile(rules_filename);

View File

@ -4,6 +4,8 @@ const Config = @import("./Config.zig");
const lj = @import("./labjack.zig"); const lj = @import("./labjack.zig");
const RotCtl = @import("./RotCtl.zig"); const RotCtl = @import("./RotCtl.zig");
const udev = @import("udev_rules");
const log = std.log.scoped(.main); const log = std.log.scoped(.main);
pub fn main() !u8 { pub fn main() !u8 {