diff --git a/pkg/cimgui/build.zig b/pkg/cimgui/build.zig index b94f11943..890873ef9 100644 --- a/pkg/cimgui/build.zig +++ b/pkg/cimgui/build.zig @@ -72,6 +72,10 @@ pub fn build(b: *std.Build) !void { }); } + if (target.result.os.tag == .freebsd) { + try flags.append(b.allocator, "-fPIC"); + } + if (imgui_) |imgui| { lib.addCSourceFile(.{ .file = b.path("vendor/cimgui.cpp"), .flags = flags.items }); lib.addCSourceFile(.{ .file = imgui.path("imgui.cpp"), .flags = flags.items }); diff --git a/pkg/freetype/build.zig b/pkg/freetype/build.zig index a25dc18da..e0a041be7 100644 --- a/pkg/freetype/build.zig +++ b/pkg/freetype/build.zig @@ -90,6 +90,10 @@ fn buildLib(b: *std.Build, module: *std.Build.Module, options: anytype) !*std.Bu "-fno-sanitize=undefined", }); + if (target.result.os.tag == .freebsd) { + try flags.append(b.allocator, "-fPIC"); + } + const dynamic_link_opts = options.dynamic_link_opts; // Zlib diff --git a/pkg/glslang/build.zig b/pkg/glslang/build.zig index 746a41497..da9a82e31 100644 --- a/pkg/glslang/build.zig +++ b/pkg/glslang/build.zig @@ -66,6 +66,10 @@ fn buildGlslang( "-fno-sanitize-trap=undefined", }); + if (target.result.os.tag == .freebsd) { + try flags.append(b.allocator, "-fPIC"); + } + if (upstream_) |upstream| { lib.addCSourceFiles(.{ .root = upstream.path(""), diff --git a/pkg/spirv-cross/build.zig b/pkg/spirv-cross/build.zig index 003ec43cf..31af1974e 100644 --- a/pkg/spirv-cross/build.zig +++ b/pkg/spirv-cross/build.zig @@ -74,6 +74,10 @@ fn buildSpirvCross( "-fno-sanitize-trap=undefined", }); + if (target.result.os.tag == .freebsd) { + try flags.append(b.allocator, "-fPIC"); + } + if (b.lazyDependency("spirv_cross", .{})) |upstream| { lib.addIncludePath(upstream.path("")); module.addIncludePath(upstream.path(""));