diff --git a/build.zig b/build.zig index 622961e..da24ddb 100644 --- a/build.zig +++ b/build.zig @@ -1,5 +1,6 @@ -const builds = @import("std").build; -const Builder = @import("std").build.Builder; +const std = @import("std"); +const builds = std.build; +const Builder = std.build.Builder; fn setupLinks(step: *builds.LibExeObjStep) void { step.linkSystemLibrary("c"); @@ -11,8 +12,26 @@ fn setupLinks(step: *builds.LibExeObjStep) void { step.linkSystemLibrary("GraphicsMagickWand"); step.linkSystemLibrary("GraphicsMagick"); - step.addIncludeDir("/usr/include/lilv-0"); step.addIncludeDir("/usr/include/GraphicsMagick"); + + const possible_lilv_include_dirs = [_][]const u8{ + "/usr/include/lilv-0", + "/usr/include/lilv-0/lilv", + }; + var found_any_lilv = false; + + for (possible_lilv_include_dirs) |possible_lilv_dir| { + var possible_dir = std.fs.cwd().openDir(possible_lilv_dir) catch |err| { + continue; + }; + possible_dir.close(); + found_any_lilv = true; + } + + if (!found_any_lilv) { + std.debug.warn("No LILV library was found :(\n"); + @panic("no lilv found"); + } } pub fn build(b: *Builder) void {