const std = @import("std"); pub fn build(b: *std.Build) !void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); const use_udev = b.option( bool, "use_udev", "link and use udev (Linux only. Default: false)", ) orelse false; const liblabjackusb = b.addStaticLibrary(.{ .name = "labjackusb", .target = target, .optimize = optimize, .link_libc = true, }); liblabjackusb.addCSourceFile(.{ .file = b.path("liblabjackusb/labjackusb.c") }); liblabjackusb.installHeader(b.path("liblabjackusb/labjackusb.h"), "labjackusb.h"); // udev rules should be installed to /lib/udev/rules.d or /etc/udev/rules.d // udevadm control --reload-rules // /etc/init.d/udev-post reload // udevstart const usb_dep = b.dependency( "usb", .{ .target = target, .optimize = optimize, .use_udev = use_udev }, ); liblabjackusb.linkLibrary(usb_dep.artifact("usb")); b.installArtifact(liblabjackusb); }