Better LILV/LV2 integration #15

Merged
luna merged 3 commits from better-lilv into master 2020-06-09 22:38:09 +00:00
3 changed files with 31 additions and 4 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
zig-cache/
*.mp3
*.wav
build_runner.zig

View file

@ -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,33 @@ fn setupLinks(step: *builds.LibExeObjStep) void {
step.linkSystemLibrary("GraphicsMagickWand");
step.linkSystemLibrary("GraphicsMagick");
step.addIncludeDir("/usr/include/lilv-0");
step.addIncludeDir("/usr/include/GraphicsMagick");
step.addIncludeDir("/usr/include");
const possible_lilv_include_dirs = [_][]const u8{
"/usr/include/lilv-0/lilv",
"/usr/include/lilv-0",
};
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| {
std.debug.warn("possible lilv {} fail: {}\n", .{ possible_lilv_dir, err });
continue;
};
possible_dir.close();
found_any_lilv = true;
std.debug.warn("found lilv at '{}'\n", .{possible_lilv_dir});
step.addIncludeDir(possible_lilv_dir);
}
if (!found_any_lilv) {
std.debug.warn("No LILV library was found :(\n", .{});
@panic("no lilv found");
}
}
pub fn build(b: *Builder) void {

View file

@ -4,7 +4,7 @@ const plugin = @import("plugin.zig");
pub const c = @cImport({
@cInclude("sndfile.h");
@cInclude("lilv/lilv.h");
@cInclude("lv2/core/lv2.h");
@cInclude("lv2.h");
});
pub fn Lv2Core(comptime ns: []const u8) []const u8 {