Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: isolate root.C and root.JavaScriptCore #16384

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -628,6 +628,12 @@ const WindowsShim = struct {
.link_libc = false,
});

const options = b.addOptions();
options.addOption(bool, "is_standalone", true);

exe.root_module.addOptions("windows_shim", options);
dbg.root_module.addOptions("windows_shim", options);

return .{ .exe = exe, .dbg = dbg };
}
};
5 changes: 1 addition & 4 deletions root.zig
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,4 @@ pub const completions = struct {
pub const bash = @embedFile("./completions/bun.bash");
pub const zsh = @embedFile("./completions/bun.zsh");
pub const fish = @embedFile("./completions/bun.fish");
};

pub const JavaScriptCore = @import("./src/jsc.zig");
pub const C = @import("./src/c.zig");
};
2 changes: 1 addition & 1 deletion src/bun.js/node/node_os.zig
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ fn cpusImplLinux(globalThis: *JSC.JSGlobalObject) !JSC.JSValue {

extern fn bun_sysconf__SC_CLK_TCK() isize;
fn cpusImplDarwin(globalThis: *JSC.JSGlobalObject) !JSC.JSValue {
const local_bindings = @import("../../darwin_c.zig");
const local_bindings = @import("../../c/darwin.zig");
const c = std.c;

// Fetch the CPU info structure
Expand Down
2 changes: 1 addition & 1 deletion src/bun.js/webcore/S3Stat.zig
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const bun = @import("../../bun.zig");
const JSC = @import("../../jsc.zig");
const JSC = bun.JSC;

pub const S3Stat = struct {
const log = bun.Output.scoped(.S3Stat, false);
Expand Down
4 changes: 2 additions & 2 deletions src/bun.zig
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ pub const JSOOM = OOM || JSError;

pub const detectCI = @import("./ci_info.zig").detectCI;

pub const C = @import("root").C;
pub const C = @import("./c.zig");
pub const sha = @import("./sha.zig");
pub const FeatureFlags = @import("feature_flags.zig");
pub const meta = @import("./meta.zig");
Expand Down Expand Up @@ -789,7 +789,7 @@ pub const invalid_fd: FileDescriptor = FDImpl.invalid.encode();

pub const simdutf = @import("./bun.js/bindings/bun-simdutf.zig");

pub const JSC = @import("root").JavaScriptCore;
pub const JSC = @import("./jsc.zig");
pub const AsyncIO = @import("async_io");

pub const logger = @import("./logger.zig");
Expand Down
10 changes: 5 additions & 5 deletions src/c.zig
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ const Environment = @import("./env.zig");
pub const translated = @import("translated-c-headers");

const PlatformSpecific = switch (Environment.os) {
.mac => @import("./darwin_c.zig"),
.linux => @import("./linux_c.zig"),
.windows => @import("./windows_c.zig"),
.mac => @import("c/darwin.zig"),
.linux => @import("c/linux.zig"),
.windows => @import("c/windows.zig"),
else => struct {},
};
pub usingnamespace PlatformSpecific;
Expand All @@ -25,8 +25,8 @@ const mode_t = bun.Mode;
const libc_stat = bun.Stat;

const zeroes = mem.zeroes;
pub const darwin = @import("./darwin_c.zig");
pub const linux = @import("./linux_c.zig");
pub const darwin = @import("c/darwin.zig");
pub const linux = @import("c/linux.zig");
pub extern "c" fn chmod([*c]const u8, mode_t) c_int;
pub extern "c" fn fchmod(std.c.fd_t, mode_t) c_int;
pub extern "c" fn fchmodat(c_int, [*c]const u8, mode_t, c_int) c_int;
Expand Down
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion src/windows_c.zig → src/c/windows.zig
Original file line number Diff line number Diff line change
Expand Up @@ -1067,7 +1067,7 @@ pub const UV_EUNATCH = -uv.UV_EUNATCH;
pub const off_t = i64;
pub fn preallocate_file(_: posix.fd_t, _: off_t, _: off_t) !void {}

const uv = @import("./deps/libuv.zig");
const uv = @import("../deps/libuv.zig");

pub const E = enum(u16) {
SUCCESS = 0,
Expand Down
2 changes: 1 addition & 1 deletion src/glob/GlobWalker.zig
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ const Arena = std.heap.ArenaAllocator;
const ArrayList = std.ArrayListUnmanaged;
const ArrayListManaged = std.ArrayList;
const BunString = bun.String;
const C = @import("../c.zig");
const C = bun.C;
const CodepointIterator = @import("../string_immutable.zig").PackedCodepointIterator;
const Codepoint = CodepointIterator.Cursor.CodePointType;
const Dirent = @import("../bun.js/node/types.zig").Dirent;
Expand Down
2 changes: 1 addition & 1 deletion src/install/bin.zig
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const Global = bun.Global;
const std = @import("std");
const strings = bun.strings;
const Environment = @import("../env.zig");
const C = @import("../c.zig");
const C = bun.C;
const Fs = @import("../fs.zig");
const stringZ = bun.stringZ;
const Resolution = @import("./resolution.zig").Resolution;
Expand Down
2 changes: 1 addition & 1 deletion src/install/windows-shim/bun_shim_impl.zig
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ const w = std.os.windows;
const assert = std.debug.assert;
const fmt16 = std.unicode.fmtUtf16le;

const is_standalone = !@hasDecl(@import("root"), "JavaScriptCore");
const is_standalone = !@hasDecl(@import("windows_shim"), "is_standalone");
const bun = if (!is_standalone) @import("root").bun else @compileError("cannot use 'bun' in standalone build of bun_shim_impl");
const bunDebugMessage = bun.Output.scoped(.bun_shim_impl, true);
const callmod_inline = if (is_standalone) std.builtin.CallModifier.always_inline else bun.callmod_inline;
Expand Down