From 9bc4f8ea77df395b9f2407ddfa4734bb4a1c4139 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 5 Nov 2019 14:32:17 -0500 Subject: [PATCH] zig build: addIncludeDir does -I instead of -isystem --- lib/std/build.zig | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/std/build.zig b/lib/std/build.zig index 6ef7286f9b..899e74105b 100644 --- a/lib/std/build.zig +++ b/lib/std/build.zig @@ -1084,6 +1084,7 @@ pub const LibExeObjStep = struct { const IncludeDir = union(enum) { RawPath: []const u8, + RawPathSystem: []const u8, OtherStep: *LibExeObjStep, }; @@ -1545,6 +1546,10 @@ pub const LibExeObjStep = struct { out.print("pub const {} = {};\n", name, value) catch unreachable; } + pub fn addSystemIncludeDir(self: *LibExeObjStep, path: []const u8) void { + self.include_dirs.append(IncludeDir{ .RawPathSystem = self.builder.dupe(path) }) catch unreachable; + } + pub fn addIncludeDir(self: *LibExeObjStep, path: []const u8) void { self.include_dirs.append(IncludeDir{ .RawPath = self.builder.dupe(path) }) catch unreachable; } @@ -1823,11 +1828,15 @@ pub const LibExeObjStep = struct { for (self.include_dirs.toSliceConst()) |include_dir| { switch (include_dir) { - IncludeDir.RawPath => |include_path| { + .RawPath => |include_path| { + try zig_args.append("-I"); + try zig_args.append(self.builder.pathFromRoot(include_path)); + }, + .RawPathSystem => |include_path| { try zig_args.append("-isystem"); try zig_args.append(self.builder.pathFromRoot(include_path)); }, - IncludeDir.OtherStep => |other| { + .OtherStep => |other| { const h_path = other.getOutputHPath(); try zig_args.append("-isystem"); try zig_args.append(fs.path.dirname(h_path).?);