Commit a1a1929cf4

g-w1 <jacoblevgw@gmail.com>
2020-12-31 03:04:27
Fix #7296:
* makes '$build_root/{install,debug}/' the default prefix. This makes it not '$pwd/zig-cache/'.
1 parent 93bb1d9
Changed files (2)
lib/std/special/build_runner.zig
@@ -134,8 +134,8 @@ pub fn main() !void {
         }
     }
 
-    builder.resolveInstallPrefix();
     try runBuild(builder);
+    builder.resolveInstallPrefix();
 
     if (builder.validateUserInputDidItFail())
         return usageAndErr(builder, true, stderr_stream);
lib/std/build.zig
@@ -200,12 +200,16 @@ pub const Builder = struct {
             const install_prefix = self.install_prefix orelse "/usr";
             self.install_path = fs.path.join(self.allocator, &[_][]const u8{ dest_dir, install_prefix }) catch unreachable;
         } else {
-            const install_prefix = self.install_prefix orelse blk: {
-                const p = self.cache_root;
+            self.install_path = self.install_prefix orelse blk: {
+                const p = if (self.release_mode) |mode| switch (mode) {
+                    .Debug => "debug",
+                    .ReleaseSafe => "release",
+                    .ReleaseFast => "release",
+                    .ReleaseSmall => "release",
+                } else "debug";
                 self.install_prefix = p;
-                break :blk p;
+                break :blk self.pathFromRoot(p);
             };
-            self.install_path = install_prefix;
         }
         self.lib_dir = fs.path.join(self.allocator, &[_][]const u8{ self.install_path, "lib" }) catch unreachable;
         self.exe_dir = fs.path.join(self.allocator, &[_][]const u8{ self.install_path, "bin" }) catch unreachable;