Skip to content

Commit f2a406d

Browse files
committed
move netsurf and mimalloc into modules
1 parent 68c8372 commit f2a406d

40 files changed

+128
-89
lines changed

build.zig

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -168,22 +168,33 @@ fn common(
168168
step: *std.Build.Step.Compile,
169169
options: jsruntime.Options,
170170
) !void {
171-
try jsruntime_pkgs.add(step, options);
172-
linkNetSurf(b, step);
173-
174-
// link mimalloc
175-
step.addObjectFile(b.path("vendor/mimalloc/out/libmimalloc.a"));
176-
step.addIncludePath(b.path("vendor/mimalloc/out/include"));
171+
const jsruntimemod = try jsruntime_pkgs.module(
172+
b,
173+
options,
174+
step.root_module.optimize.?,
175+
step.root_module.resolved_target.?,
176+
);
177+
step.root_module.addImport("jsruntime", jsruntimemod);
178+
179+
const netsurf = moduleNetSurf(b);
180+
netsurf.addImport("jsruntime", jsruntimemod);
181+
step.root_module.addImport("netsurf", netsurf);
177182
}
178183

179-
fn linkNetSurf(b: *std.Build, step: *std.Build.Step.Compile) void {
184+
fn moduleNetSurf(b: *std.Build) *std.Build.Module {
185+
const mod = b.addModule("netsurf", .{
186+
.root_source_file = b.path("src/netsurf/netsurf.zig"),
187+
});
180188
// iconv
181-
step.addObjectFile(b.path("vendor/libiconv/lib/libiconv.a"));
182-
step.addIncludePath(b.path("vendor/libiconv/include"));
189+
mod.addObjectFile(b.path("vendor/libiconv/lib/libiconv.a"));
190+
mod.addIncludePath(b.path("vendor/libiconv/include"));
191+
192+
// mimalloc
193+
mod.addImport("mimalloc", moduleMimalloc(b));
183194

184195
// netsurf libs
185196
const ns = "vendor/netsurf";
186-
step.addIncludePath(b.path(ns ++ "/include"));
197+
mod.addIncludePath(b.path(ns ++ "/include"));
187198

188199
const libs: [4][]const u8 = .{
189200
"libdom",
@@ -192,7 +203,20 @@ fn linkNetSurf(b: *std.Build, step: *std.Build.Step.Compile) void {
192203
"libwapcaplet",
193204
};
194205
inline for (libs) |lib| {
195-
step.addObjectFile(b.path(ns ++ "/lib/" ++ lib ++ ".a"));
196-
step.addIncludePath(b.path(ns ++ "/" ++ lib ++ "/src"));
206+
mod.addObjectFile(b.path(ns ++ "/lib/" ++ lib ++ ".a"));
207+
mod.addIncludePath(b.path(ns ++ "/" ++ lib ++ "/src"));
197208
}
209+
210+
return mod;
211+
}
212+
213+
fn moduleMimalloc(b: *std.Build) *std.Build.Module {
214+
const mod = b.addModule("mimalloc", .{
215+
.root_source_file = b.path("src/mimalloc/mimalloc.zig"),
216+
});
217+
218+
mod.addObjectFile(b.path("vendor/mimalloc/out/libmimalloc.a"));
219+
mod.addIncludePath(b.path("vendor/mimalloc/out/include"));
220+
221+
return mod;
198222
}

src/browser/browser.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const builtin = @import("builtin");
2121

2222
const Types = @import("root").Types;
2323

24-
const parser = @import("../netsurf.zig");
24+
const parser = @import("netsurf");
2525
const Loader = @import("loader.zig").Loader;
2626
const Dump = @import("dump.zig");
2727
const Mime = @import("mime.zig");

src/browser/dump.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
const std = @import("std");
2020
const File = std.fs.File;
2121

22-
const parser = @import("../netsurf.zig");
22+
const parser = @import("netsurf");
2323
const Walker = @import("../dom/walker.zig").WalkerChildren;
2424

2525
// writer must be a std.io.Writer

src/css/libdom.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
const std = @import("std");
2020

21-
const parser = @import("../netsurf.zig");
21+
const parser = @import("netsurf");
2222

2323
// Node implementation with Netsurf Libdom C lib.
2424
pub const Node = struct {

src/css/libdom_test.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
const std = @import("std");
2020
const css = @import("css.zig");
2121
const Node = @import("libdom.zig").Node;
22-
const parser = @import("../netsurf.zig");
22+
const parser = @import("netsurf");
2323

2424
const Matcher = struct {
2525
const Nodes = std.ArrayList(Node);

src/dom/attribute.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const jsruntime = @import("jsruntime");
2222
const Case = jsruntime.test_utils.Case;
2323
const checkCases = jsruntime.test_utils.checkCases;
2424

25-
const parser = @import("../netsurf.zig");
25+
const parser = @import("netsurf");
2626

2727
const Node = @import("node.zig").Node;
2828
const DOMException = @import("exceptions.zig").DOMException;

src/dom/cdata_section.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
const std = @import("std");
2020

21-
const parser = @import("../netsurf.zig");
21+
const parser = @import("netsurf");
2222

2323
const Text = @import("text.zig").Text;
2424

src/dom/character_data.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const Case = jsruntime.test_utils.Case;
2323
const checkCases = jsruntime.test_utils.checkCases;
2424
const generate = @import("../generate.zig");
2525

26-
const parser = @import("../netsurf.zig");
26+
const parser = @import("netsurf");
2727

2828
const Node = @import("node.zig").Node;
2929
const Comment = @import("comment.zig").Comment;

src/dom/comment.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
// along with this program. If not, see <https://www.gnu.org/licenses/>.
1818
const std = @import("std");
1919

20-
const parser = @import("../netsurf.zig");
20+
const parser = @import("netsurf");
2121

2222
const jsruntime = @import("jsruntime");
2323
const Case = jsruntime.test_utils.Case;

src/dom/css.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
const std = @import("std");
2020

21-
const parser = @import("../netsurf.zig");
21+
const parser = @import("netsurf");
2222

2323
const css = @import("../css/css.zig");
2424
const Node = @import("../css/libdom.zig").Node;

0 commit comments

Comments
 (0)