1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-21 18:25:41 +03:00
aports/testing/zig/fix-build.zig.patch
Milan P. Stanić 2c0e656d52 testing/zig: new aport
https://ziglang.org/
general-purpose programming language designed for robustness, optimality, and maintainability
2019-10-09 11:01:16 +02:00

41 lines
1.3 KiB
Diff

diff --git a/build.zig b/build.zig
index 390f1594..ca78bdf1 100644
--- a/build.zig
+++ b/build.zig
@@ -373,6 +373,7 @@ fn addLibUserlandStep(b: *Builder, mode: builtin.Mode) void {
artifact.bundle_compiler_rt = true;
artifact.setTarget(builtin.arch, builtin.os, builtin.abi);
artifact.setBuildMode(mode);
+ artifact.force_pic = true;
if (mode != .Debug) {
artifact.strip = true;
}
diff --git a/lib/std/build.zig b/lib/std/build.zig
index c640f6e8..cc062f3a 100644
--- a/lib/std/build.zig
+++ b/lib/std/build.zig
@@ -1488,6 +1488,9 @@ pub const LibExeObjStep = struct {
dynamic_linker: ?[]const u8 = null,
+ /// Position Independent Code
+ force_pic: ?bool = null,
+
const LinkObject = union(enum) {
StaticPath: []const u8,
OtherStep: *LibExeObjStep,
@@ -2314,6 +2317,14 @@ pub const LibExeObjStep = struct {
try zig_args.append(builder.pathFromRoot(dir));
}
+ if (self.force_pic) |pic| {
+ if (pic) {
+ try zig_args.append("-fPIC");
+ } else {
+ try zig_args.append("-fno-PIC");
+ }
+ }
+
if (self.kind == Kind.Test) {
try builder.spawnChild(zig_args.toSliceConst());
} else {