From 0ba2c5ffcc5ca89a6565572de34bc1c0cf2492b9 Mon Sep 17 00:00:00 2001 From: Luna Date: Tue, 2 Jun 2020 21:42:26 -0300 Subject: [PATCH] add basics of searching for lilv --- build.zig | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) 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 {