aboutsummaryrefslogtreecommitdiff
path: root/std/build.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-08-21 20:28:37 -0400
committerAndrew Kelley <superjoe30@gmail.com>2018-08-21 20:31:50 -0400
commitea1b21dbdb3d5e680b133be68d174dcc0067fa1e (patch)
tree88114bd3c7235e8b0478a1e98ddc48b25d013a95 /std/build.zig
parent51852d2587b931767a12d42ce39d5c191eea10ea (diff)
downloadzig-ea1b21dbdb3d5e680b133be68d174dcc0067fa1e.tar.gz
zig-ea1b21dbdb3d5e680b133be68d174dcc0067fa1e.zip
fix linux
* error.BadFd is not a valid error code. it would always be a bug to get this error code. * merge error.Io with existing error.InputOutput * merge error.PathNotFound with existing error.FileNotFound. Not all OS's support both. * add os.File.openReadC * add error.BadPathName for windows file operations with invalid characters * add os.toPosixPath to help stack allocate a null terminating byte * add some TODOs for other functions to investigate removing the allocator requirement * optimize some implementations to use the alternate functions when a null byte is already available * add a missing error.SkipZigTest * os.selfExePath uses a non-allocating API * os.selfExeDirPath uses a non-allocating API * os.path.real uses a non-allocating API * add os.path.realAlloc and os.path.realC * convert many windows syscalls to use the W versions (See #534)
Diffstat (limited to 'std/build.zig')
-rw-r--r--std/build.zig18
1 files changed, 12 insertions, 6 deletions
diff --git a/std/build.zig b/std/build.zig
index 5300a20e17..08bb5635d9 100644
--- a/std/build.zig
+++ b/std/build.zig
@@ -1491,11 +1491,14 @@ pub const LibExeObjStep = struct {
}
if (!is_darwin) {
- const rpath_arg = builder.fmt("-Wl,-rpath,{}", os.path.real(builder.allocator, builder.pathFromRoot(builder.cache_root)) catch unreachable);
+ const rpath_arg = builder.fmt("-Wl,-rpath,{}", try os.path.realAlloc(
+ builder.allocator,
+ builder.pathFromRoot(builder.cache_root),
+ ));
defer builder.allocator.free(rpath_arg);
- cc_args.append(rpath_arg) catch unreachable;
+ try cc_args.append(rpath_arg);
- cc_args.append("-rdynamic") catch unreachable;
+ try cc_args.append("-rdynamic");
}
for (self.full_path_libs.toSliceConst()) |full_path_lib| {
@@ -1566,11 +1569,14 @@ pub const LibExeObjStep = struct {
cc_args.append("-o") catch unreachable;
cc_args.append(output_path) catch unreachable;
- const rpath_arg = builder.fmt("-Wl,-rpath,{}", os.path.real(builder.allocator, builder.pathFromRoot(builder.cache_root)) catch unreachable);
+ const rpath_arg = builder.fmt("-Wl,-rpath,{}", try os.path.realAlloc(
+ builder.allocator,
+ builder.pathFromRoot(builder.cache_root),
+ ));
defer builder.allocator.free(rpath_arg);
- cc_args.append(rpath_arg) catch unreachable;
+ try cc_args.append(rpath_arg);
- cc_args.append("-rdynamic") catch unreachable;
+ try cc_args.append("-rdynamic");
{
var it = self.link_libs.iterator();