const std = @import("std"); pub fn build(b: *std.Build) void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); const lib = b.addStaticLibrary(.{ .name = "drm", .target = target, .optimize = optimize, }); lib.root_module.c_std = .C11; lib.addCSourceFiles(.{ .files = &.{ "xf86drm.c", "xf86drmHash.c", "xf86drmRandom.c", "xf86drmSL.c", "xf86drmMode.c", }, }); lib.addIncludePath(.{ .path = "include/drm" }); lib.linkLibC(); lib.defineCMacro("HAVE_OPEN_MEMSTREAM", "1"); // TODO: Figure out if where this varies lib.defineCMacro("MAJOR_IN_SYSMACROS", "1"); // lib.defineCMacro("MAJOR_IN_MKDEV", "1"); lib.installHeader("libsync.h", "libsync.h"); lib.installHeader("xf86drm.h", "xf86drm.h"); lib.installHeader("xf86drmMode.h", "xf86drmMode.h"); lib.installHeadersDirectoryOptions(.{ .source_dir = .{ .path = "include/drm" }, .install_dir = .header, .install_subdir = "libdrm", }); b.installArtifact(lib); // const lib_unit_tests = b.addTest(.{ // .root_source_file = .{ .path = "src/root.zig" }, // .target = target, // .optimize = optimize, // }); // const run_lib_unit_tests = b.addRunArtifact(lib_unit_tests); // const exe_unit_tests = b.addTest(.{ // .root_source_file = .{ .path = "src/main.zig" }, // .target = target, // .optimize = optimize, // }); // const run_exe_unit_tests = b.addRunArtifact(exe_unit_tests); // const test_step = b.step("test", "Run unit tests"); // test_step.dependOn(&run_lib_unit_tests.step); // test_step.dependOn(&run_exe_unit_tests.step); }