Better LILV/LV2 integration #15
3 changed files with 31 additions and 4 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
|||
zig-cache/
|
||||
*.mp3
|
||||
*.wav
|
||||
build_runner.zig
|
||||
|
|
32
build.zig
32
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,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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue