aboutsummaryrefslogtreecommitdiff
path: root/build.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-03 19:13:08 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-03 19:13:08 -0700
commit440eba7c9bec96849adcf7018ea0371973550bfa (patch)
treee1b6cac7e300be94018193888aa9a3f8949fe67c /build.zig
parentcf81ee5f418c4076cd6def7cc9108997da486869 (diff)
downloadbun-440eba7c9bec96849adcf7018ea0371973550bfa.tar.gz
bun-440eba7c9bec96849adcf7018ea0371973550bfa.tar.zst
bun-440eba7c9bec96849adcf7018ea0371973550bfa.zip
[misc] Fix `make headers`
Diffstat (limited to 'build.zig')
-rw-r--r--build.zig73
1 files changed, 41 insertions, 32 deletions
diff --git a/build.zig b/build.zig
index 152db6f4a..7e7a9d3c4 100644
--- a/build.zig
+++ b/build.zig
@@ -304,51 +304,52 @@ pub fn build(b: *std.build.Builder) !void {
var obj_step = b.step("obj", "Build bun as a .o file");
var obj = b.addObject(bun_executable_name, exe.root_src.?.path);
+ var opts = b.addOptions();
+
+ const is_baseline = arch.isX86() and (obj.target.cpu_model == .baseline or
+ !std.Target.x86.featureSetHas(obj.target.getCpuFeatures(), .avx2));
+ var git_sha: [:0]const u8 = "";
+ if (std.os.getenvZ("GITHUB_SHA") orelse std.os.getenvZ("GIT_SHA")) |sha| {
+ git_sha = std.heap.page_allocator.dupeZ(u8, sha) catch unreachable;
+ } else {
+ sha: {
+ const result = std.ChildProcess.exec(.{
+ .allocator = std.heap.page_allocator,
+ .argv = &.{
+ "git",
+ "rev-parse",
+ "--short",
+ "HEAD",
+ },
+ .cwd = b.pathFromRoot("."),
+ .expand_arg0 = .expand,
+ }) catch {
+ std.debug.print("Warning: failed to get git HEAD", .{});
+ break :sha;
+ };
+
+ git_sha = std.heap.page_allocator.dupeZ(u8, result.stdout) catch unreachable;
+ }
+ }
+
+ const is_canary = (std.os.getenvZ("BUN_CANARY") orelse "0")[0] == '1';
{
obj.setTarget(target);
addPicoHTTP(obj, false);
obj.setMainPkgPath(b.pathFromRoot("."));
- var opts = b.addOptions();
opts.addOption(
bool,
"bindgen",
false,
);
- const is_baseline = arch.isX86() and (obj.target.cpu_model == .baseline or
- !std.Target.x86.featureSetHas(obj.target.getCpuFeatures(), .avx2));
+
opts.addOption(
bool,
"baseline",
is_baseline,
);
- var git_sha: [:0]const u8 = "";
- if (std.os.getenvZ("GITHUB_SHA") orelse std.os.getenvZ("GIT_SHA")) |sha| {
- git_sha = std.heap.page_allocator.dupeZ(u8, sha) catch unreachable;
- } else {
- sha: {
- const result = std.ChildProcess.exec(.{
- .allocator = std.heap.page_allocator,
- .argv = &.{
- "git",
- "rev-parse",
- "--short",
- "HEAD",
- },
- .cwd = b.pathFromRoot("."),
- .expand_arg0 = .expand,
- }) catch {
- std.debug.print("Warning: failed to get git HEAD", .{});
- break :sha;
- };
-
- git_sha = std.heap.page_allocator.dupeZ(u8, result.stdout) catch unreachable;
- }
- }
-
- const is_canary = (std.os.getenvZ("BUN_CANARY") orelse "0")[0] == '1';
-
opts.addOption([:0]const u8, "sha", git_sha);
opts.addOption(bool, "is_canary", is_canary);
obj.addOptions("build_options", opts);
@@ -413,13 +414,21 @@ pub fn build(b: *std.build.Builder) !void {
var headers_obj: *std.build.LibExeObjStep = b.addObject("headers", "src/bindgen.zig");
defer headers_step.dependOn(&headers_obj.step);
try configureObjectStep(b, headers_obj, target, obj.main_pkg_path.?);
- var opts = b.addOptions();
- opts.addOption(
+ var headers_opts = b.addOptions();
+ headers_opts.addOption(
bool,
"bindgen",
true,
);
- headers_obj.addOptions("build_options", opts);
+ headers_opts.addOption(
+ bool,
+ "baseline",
+ is_baseline,
+ );
+ headers_opts.addOption([:0]const u8, "sha", git_sha);
+ headers_opts.addOption(bool, "is_canary", is_canary);
+ headers_obj.addOptions("build_options", headers_opts);
+
headers_obj.linkLibCpp();
}