authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-02-04 15:04:11-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-02-04 15:04:11-05:00
log73256dda91d0d5b3d13016d15f2c4465a69cd7d4
tree94162e4d45ddfffd19bcdcf833d972d3f754a5c9
parenta9df637fb11713c41024e6f3b6a1f4f86c33b09e
signature Commit is signed but in an unrecognized format.

work around LLVM 10 llvm-config giving absolute path to libz.so


1 files changed, 12 insertions(+), 7 deletions(-)

build.zig+12-7
...@@ -230,15 +230,20 @@ fn findLLVM(b: *Builder, llvm_config_exe: []const u8) !LibraryDep {...@@ -230,15 +230,20 @@ fn findLLVM(b: *Builder, llvm_config_exe: []const u8) !LibraryDep {
230 while (it.next()) |lib_arg| {230 while (it.next()) |lib_arg| {
231 if (mem.startsWith(u8, lib_arg, "-l")) {231 if (mem.startsWith(u8, lib_arg, "-l")) {
232 try result.system_libs.append(lib_arg[2..]);232 try result.system_libs.append(lib_arg[2..]);
233 } else {233 } else if (fs.path.isAbsolute(lib_arg)) {
234 if (fs.path.isAbsolute(lib_arg)) {234 if (mem.endsWith(u8, lib_arg, "libz.so")) {
235 try result.libs.append(lib_arg);235 // llvm-config version 10 started giving an absolute path to zlib as
236 // a shared object, which fails to deal with rpaths correctly. Here
237 // we change it to a normal -lz
238 try result.system_libs.append("z");
236 } else {239 } else {
237 if (mem.endsWith(u8, lib_arg, ".lib")) {240 try result.libs.append(lib_arg);
238 lib_arg = lib_arg[0 .. lib_arg.len - 4];241 }
239 }242 } else {
240 try result.system_libs.append(lib_arg);243 if (mem.endsWith(u8, lib_arg, ".lib")) {
244 lib_arg = lib_arg[0 .. lib_arg.len - 4];
241 }245 }
246 try result.system_libs.append(lib_arg);
242 }247 }
243 }248 }
244 }249 }