diff --git a/build.zig b/build.zig index 7dae793..141854f 100644 --- a/build.zig +++ b/build.zig @@ -4,12 +4,24 @@ pub fn build(b: *std.Build) void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); - const use_udev = b.option( + const libusb_use_udev = b.option( bool, "use_udev", "link and use udev (Linux only. Default: false)", ) orelse false; + const libusb_enable_logging = b.option( + bool, + "libusb_enable_logging", + "enable libusb's built-in logging (Default: false)", + ) orelse false; + + const libusb_enable_debug_logging = b.option( + bool, + "libusb_enable_debug_logging", + "enable libusb's debug logging (Default: false)", + ) orelse false; + const exe = b.addExecutable(.{ .name = "yaes", .root_source_file = b.path("src/main.zig"), @@ -38,7 +50,13 @@ pub fn build(b: *std.Build) void { } else { const ljacklm_dep = b.dependency( "ljacklm", - .{ .target = target, .optimize = optimize, .use_udev = use_udev }, + .{ + .target = target, + .optimize = optimize, + .libusb_use_udev = libusb_use_udev, + .libusb_enable_logging = libusb_enable_logging, + .libusb_enable_debug_logging = libusb_enable_debug_logging, + }, ); exe.linkLibrary(ljacklm_dep.artifact("ljacklm")); } diff --git a/deps/labjack/exodriver/build.zig b/deps/labjack/exodriver/build.zig index b468bf2..d92c145 100644 --- a/deps/labjack/exodriver/build.zig +++ b/deps/labjack/exodriver/build.zig @@ -4,10 +4,22 @@ pub fn build(b: *std.Build) !void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); - const use_udev = b.option( + const libusb_use_udev = b.option( bool, - "use_udev", - "link and use udev (Linux only. Default: false)", + "libusb_use_udev", + "libusb: link and use udev (Linux only. Default: false)", + ) orelse false; + + const libusb_enable_logging = b.option( + bool, + "libusb_enable_logging", + "enable libusb's built-in logging (Default: false)", + ) orelse false; + + const libusb_enable_debug_logging = b.option( + bool, + "libusb_enable_debug_logging", + "enable libusb's debug logging (Default: false)", ) orelse false; const liblabjackusb = b.addStaticLibrary(.{ @@ -31,7 +43,13 @@ pub fn build(b: *std.Build) !void { const usb_dep = b.dependency( "usb", - .{ .target = target, .optimize = optimize, .use_udev = use_udev }, + .{ + .target = target, + .optimize = optimize, + .use_udev = libusb_use_udev, + .enable_logging = libusb_enable_logging, + .enable_debug_logging = libusb_enable_debug_logging, + }, ); liblabjackusb.linkLibrary(usb_dep.artifact("usb")); diff --git a/deps/labjack/ljacklm/build.zig b/deps/labjack/ljacklm/build.zig index 5eba962..654b9c5 100644 --- a/deps/labjack/ljacklm/build.zig +++ b/deps/labjack/ljacklm/build.zig @@ -4,10 +4,22 @@ pub fn build(b: *std.Build) !void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); - const use_udev = b.option( + const libusb_use_udev = b.option( bool, - "use_udev", - "link and use udev (Linux only. Default: false)", + "libusb_use_udev", + "libusb: link and use udev (Linux only. Default: false)", + ) orelse false; + + const libusb_enable_logging = b.option( + bool, + "libusb_enable_logging", + "enable libusb's built-in logging (Default: false)", + ) orelse false; + + const libusb_enable_debug_logging = b.option( + bool, + "libusb_enable_debug_logging", + "enable libusb's debug logging (Default: false)", ) orelse false; const libljacklm = b.addStaticLibrary(.{ @@ -30,7 +42,13 @@ pub fn build(b: *std.Build) !void { const usb_dep = b.dependency( "labjackusb", - .{ .target = target, .optimize = optimize, .use_udev = use_udev }, + .{ + .target = target, + .optimize = optimize, + .libusb_use_udev = libusb_use_udev, + .libusb_enable_logging = libusb_enable_logging, + .libusb_enable_debug_logging = libusb_enable_debug_logging, + }, ); libljacklm.linkLibrary(usb_dep.artifact("labjackusb")); diff --git a/deps/libusb/build.zig b/deps/libusb/build.zig index f21d5dd..378629a 100644 --- a/deps/libusb/build.zig +++ b/deps/libusb/build.zig @@ -10,6 +10,18 @@ pub fn build(b: *std.Build) !void { "link and use udev (Linux only. Default: false)", ) orelse false; + const enable_logging = b.option( + bool, + "enable_logging", + "enable libusb's built-in logging (Default: false)", + ) orelse false; + + const enable_debug_logging = b.option( + bool, + "enable_debug_logging", + "enable libusb's debug logging (Default: false)", + ) orelse false; + const libusb = b.addStaticLibrary(.{ .name = "usb", .target = target, @@ -59,8 +71,8 @@ pub fn build(b: *std.Build) !void { .{ .style = .{ .autoconf = b.path("config.h.in") } }, .{ .DEFAULT_VISIBILITY = .@"__attribute__ ((visibility (\"default\")))", - .ENABLE_DEBUG_LOGGING = oneOrNull(optimize == .Debug), - .ENABLE_LOGGING = oneOrNull(optimize == .Debug), + .ENABLE_DEBUG_LOGGING = oneOrNull(enable_debug_logging), + .ENABLE_LOGGING = oneOrNull(enable_logging), .HAVE_ASM_TYPES_H = null, .HAVE_CLOCK_GETTIME = oneOrNull(linux_target), .HAVE_DECL_EFD_CLOEXEC = oneOrNull(linux_target),