36 lines
1.0 KiB
Zig
36 lines
1.0 KiB
Zig
|
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);
|
||
|
}
|