From 10ad3253de4dad4675fbd84da874f2cd73cd2deb Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 18 Sep 2017 18:01:58 -0400 Subject: [PATCH] std.build: catch mistake of setting output path to build dir closes #464 --- std/build.zig | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/std/build.zig b/std/build.zig index a241064a8..f2221d25f 100644 --- a/std/build.zig +++ b/std/build.zig @@ -937,8 +937,13 @@ pub const LibExeObjStep = struct { self.build_mode = mode; } - pub fn setOutputPath(self: &LibExeObjStep, value: []const u8) { - self.output_path = value; + pub fn setOutputPath(self: &LibExeObjStep, file_path: []const u8) { + self.output_path = file_path; + + // catch a common mistake + if (mem.eql(u8, self.builder.pathFromRoot(file_path), self.builder.pathFromRoot("."))) { + debug.panic("setOutputPath wants a file path, not a directory\n"); + } } pub fn getOutputPath(self: &LibExeObjStep) -> []const u8 { @@ -949,8 +954,13 @@ pub const LibExeObjStep = struct { } } - pub fn setOutputHPath(self: &LibExeObjStep, value: []const u8) { - self.output_h_path = value; + pub fn setOutputHPath(self: &LibExeObjStep, file_path: []const u8) { + self.output_h_path = file_path; + + // catch a common mistake + if (mem.eql(u8, self.builder.pathFromRoot(file_path), self.builder.pathFromRoot("."))) { + debug.panic("setOutputHPath wants a file path, not a directory\n"); + } } pub fn getOutputHPath(self: &LibExeObjStep) -> []const u8 {