aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg V <greg@unrelenting.technology>2018-10-17 22:18:50 +0300
committerGreg V <greg@unrelenting.technology>2018-10-20 15:21:32 +0300
commita983a0a59b348a885f24656a8646707554170574 (patch)
treecbbe372a116dbdaee260a80b18bd190d97b01f49
parentd6cab0d4b653b1f6d7340b9a24766abae4f208a8 (diff)
downloadzig-a983a0a59b348a885f24656a8646707554170574.tar.gz
zig-a983a0a59b348a885f24656a8646707554170574.zip
Add /usr/local/lib path for libxml2 and link libc++ on FreeBSD
-rw-r--r--build.zig6
-rw-r--r--std/build.zig7
2 files changed, 12 insertions, 1 deletions
diff --git a/build.zig b/build.zig
index c2a20015a7..fc460df129 100644
--- a/build.zig
+++ b/build.zig
@@ -284,7 +284,7 @@ fn configureStage2(b: *Builder, exe: var, ctx: Context) !void {
exe.addObjectFile(libstdcxx_path);
exe.linkSystemLibrary("pthread");
- } else if (exe.target.isDarwin()) {
+ } else if (exe.target.isDarwin() or exe.target.isFreeBSD()) {
exe.linkSystemLibrary("c++");
}
@@ -293,6 +293,10 @@ fn configureStage2(b: *Builder, exe: var, ctx: Context) !void {
}
if (exe.target.getOs() != builtin.Os.windows) {
+ if (exe.target.isFreeBSD()) {
+ exe.addLibPath("/usr/local/lib");
+ // TODO use pkg-config
+ }
exe.linkSystemLibrary("xml2");
}
exe.linkSystemLibrary("c");
diff --git a/std/build.zig b/std/build.zig
index a80580a383..743535eb10 100644
--- a/std/build.zig
+++ b/std/build.zig
@@ -795,6 +795,13 @@ pub const Target = union(enum).{
};
}
+ pub fn isFreeBSD(self: *const Target) bool {
+ return switch (self.getOs()) {
+ builtin.Os.freebsd => true,
+ else => false,
+ };
+ }
+
pub fn wantSharedLibSymLinks(self: *const Target) bool {
return !self.isWindows();
}