From ff6e82e4f1214c7bfa8e2d4d023ce246d69c22df Mon Sep 17 00:00:00 2001 From: Rob Blanckaert Date: Sat, 8 Mar 2025 01:43:10 -0800 Subject: [PATCH 1/3] Set stack size on windows. --- build.zig | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build.zig b/build.zig index 2d8e740..a1bd472 100644 --- a/build.zig +++ b/build.zig @@ -82,6 +82,11 @@ pub fn build(b: *std.Build) void { .target = b.graph.host, .optimize = .Debug, }); + + if (b.graph.host.result.os.tag == .windows) { + qjsc_host.stack_size = 8388608; + } + qjsc_host.addCSourceFiles(.{ .files = &.{"qjsc.c"}, .flags = cflags, From fcb63a75e2ea4e13fb885cf5038bbf86e791c73a Mon Sep 17 00:00:00 2001 From: Rob Blanckaert Date: Sun, 24 Aug 2025 16:37:30 -0700 Subject: [PATCH 2/3] Upgrade to 0.10.1 --- build.zig | 34 +++++++++++++++++++++++++--------- build.zig.zon | 7 ++++--- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/build.zig b/build.zig index a1bd472..92b9d18 100644 --- a/build.zig +++ b/build.zig @@ -40,13 +40,16 @@ pub fn build(b: *std.Build) void { "libregexp.c", "libunicode.c", "cutils.c", - "libbf.c", + "xsum.c", }; - const libquickjs = b.addStaticLibrary(.{ + const libquickjs = b.addLibrary(.{ .name = "quickjs", - .target = target, - .optimize = optimize, + .linkage = .static, + .root_module = b.createModule(.{ + .target = target, + .optimize = optimize, + }), }); libquickjs.addCSourceFiles(.{ .files = libquickjs_source, @@ -58,12 +61,17 @@ pub fn build(b: *std.Build) void { addStdLib(libquickjs, cflags, csrc); } libquickjs.linkLibC(); + if (target.result.os.tag == .windows) { + libquickjs.stack_size = 8388608; + } b.installArtifact(libquickjs); const qjsc = b.addExecutable(.{ .name = "qjsc", - .target = target, - .optimize = optimize, + .root_module = b.createModule(.{ + .target = target, + .optimize = optimize, + }), }); qjsc.addCSourceFiles(.{ .files = &.{"qjsc.c"}, @@ -79,8 +87,10 @@ pub fn build(b: *std.Build) void { const qjsc_host = b.addExecutable(.{ .name = "qjsc-host", - .target = b.graph.host, - .optimize = .Debug, + .root_module = b.createModule(.{ + .target = b.graph.host, + .optimize = .Debug, + }), }); if (b.graph.host.result.os.tag == .windows) { @@ -120,7 +130,13 @@ pub fn build(b: *std.Build) void { gen_standalone.addArg("-m"); gen_standalone.addFileArg(csrc.path("standalone.js")); - const qjs = b.addExecutable(.{ .name = "qjs", .target = target, .optimize = optimize }); + const qjs = b.addExecutable(.{ + .name = "qjs", + .root_module = b.createModule(.{ + .target = target, + .optimize = optimize, + }), + }); qjs.addCSourceFiles(.{ .files = &.{"qjs.c"}, .flags = cflags, diff --git a/build.zig.zon b/build.zig.zon index b0bf9b7..6c00bac 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,11 +1,12 @@ .{ .name = .quickjs_ng, .fingerprint = 0xb2bca9faa72a0432, - .version = "0.7.0", + .version = "0.10.1", + .minimum_zig_version = "0.14.0", .dependencies = .{ .@"quickjs-ng" = .{ - .url = "git+https://github.com/quickjs-ng/quickjs/?ref=v0.9.0#670492dd342dace0bb7bd6fbfbde8f0bc5651224", - .hash = "1220604c702c38f0a93b51bec43ae8b427916196daa7fc515e19d3188e5ff1b47327", + .url = "git+https://github.com/quickjs-ng/quickjs/?ref=v0.10.1#5299e09100b97a5dd0ea0e73fa5caa4aa0b2d97c", + .hash = "N-V-__8AAJ6ZOwAqRvY64qRhZ9KrT8YuUvtVQxBECJxJwPyd", }, }, .paths = .{ From d884282e654971fbb3d8254dba3981d472d101f3 Mon Sep 17 00:00:00 2001 From: Rob Blanckaert Date: Sun, 24 Aug 2025 17:35:11 -0700 Subject: [PATCH 3/3] fix C name of generated code --- build.zig | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build.zig b/build.zig index 92b9d18..0ecef46 100644 --- a/build.zig +++ b/build.zig @@ -119,12 +119,16 @@ pub fn build(b: *std.Build) void { _ = b.addModule("quickjs-ng", .{ .root_source_file = header.getOutput() }); const gen_repl = b.addRunArtifact(qjsc_host); + gen_repl.addArg("-N"); + gen_repl.addArg("qjsc_repl"); gen_repl.addArg("-o"); const gen_repl_out = gen_repl.addOutputFileArg("repl.c"); gen_repl.addArg("-m"); gen_repl.addFileArg(csrc.path("repl.js")); const gen_standalone = b.addRunArtifact(qjsc_host); + gen_standalone.addArg("-N"); + gen_standalone.addArg("qjsc_standalone"); gen_standalone.addArg("-o"); const gen_standalone_out = gen_standalone.addOutputFileArg("standalone.c"); gen_standalone.addArg("-m");