@@ -11,10 +11,34 @@ pub fn build(b: *std.Build) !void {
1111 )) | v | .{ .commit = v } else getVersion (b );
1212
1313 const scripty = b .dependency ("scripty" , .{});
14+
15+ const enable_tracy = b .option (bool , "tracy" , "Enable Tracy profiling" ) orelse false ;
16+ const tracy_options = b .addOptions ();
17+ tracy_options .addOption (bool , "enable_tracy" , enable_tracy );
18+ tracy_options .addOption (bool , "enable_tracy_allocation" , false );
19+ tracy_options .addOption (bool , "enable_tracy_callstack" , true );
20+ tracy_options .addOption (usize , "tracy_callstack_depth" , 10 );
21+
1422 const superhtml = b .addModule ("superhtml" , .{
1523 .root_source_file = b .path ("src/root.zig" ),
24+ .target = target ,
1625 });
1726 superhtml .addImport ("scripty" , scripty .module ("scripty" ));
27+ superhtml .addOptions ("tracy_options" , tracy_options );
28+
29+ if (enable_tracy ) {
30+ if (target .result .os .tag == .windows ) {
31+ superhtml .linkSystemLibrary ("dbghelp" , .{});
32+ superhtml .linkSystemLibrary ("ws2_32" , .{});
33+ }
34+
35+ // superhtml.addObjectFile(b.path("libTracyClient.a"));
36+ //
37+ superhtml .linkSystemLibrary ("TracyClient" , .{});
38+ superhtml .addLibraryPath (.{ .cwd_relative = "/opt/homebrew/opt/tracy/lib" });
39+ superhtml .link_libc = true ;
40+ superhtml .link_libcpp = true ;
41+ }
1842
1943 const options = b .addOptions ();
2044 const verbose_logging = b .option (bool , "log" , "Enable verbose logging also in release modes" ) orelse false ;
@@ -24,8 +48,8 @@ pub fn build(b: *std.Build) !void {
2448 options .addOption ([]const u8 , "version" , version .string ());
2549 options .addOption (Version .Kind , "version_kind" , version );
2650
27- const folders = b .dependency ("known-folders " , .{});
28- const lsp = b .dependency ("zig-lsp-kit " , .{});
51+ const folders = b .dependency ("known_folders " , .{});
52+ const lsp = b .dependency ("lsp_kit " , .{});
2953
3054 setupTestStep (b , target , superhtml );
3155 setupCliTool (b , target , optimize , options , superhtml , folders , lsp );
@@ -62,7 +86,7 @@ fn setupCheckStep(
6286
6387 super_cli_check .root_module .addImport ("superhtml" , superhtml );
6488 super_cli_check .root_module .addImport (
65- "known-folders " ,
89+ "known_folders " ,
6690 folders .module ("known-folders" ),
6791 );
6892 super_cli_check .root_module .addImport ("lsp" , lsp .module ("lsp" ));
@@ -109,7 +133,7 @@ fn setupFuzzStep(
109133 target : std.Build.ResolvedTarget ,
110134 superhtml : * std.Build.Module ,
111135) void {
112- const afl = b .lazyImport (@This (), "zig-afl-kit " ) orelse return ;
136+ const afl = b .lazyImport (@This (), "afl_kit " ) orelse return ;
113137 const afl_obj = b .addObject (.{
114138 .name = "superfuzz-afl" ,
115139 .root_source_file = b .path ("src/fuzz/afl.zig" ),
@@ -125,9 +149,12 @@ fn setupFuzzStep(
125149 b ,
126150 target ,
127151 .ReleaseSafe ,
152+ null ,
153+ false ,
128154 afl_obj ,
129- );
155+ ) orelse return ;
130156 b .getInstallStep ().dependOn (& b .addInstallFile (afl_fuzz , "superfuzz-afl" ).step );
157+ // b.installArtifact(afl_fuzz);
131158
132159 const super_fuzz = b .addExecutable (.{
133160 .name = "superfuzz" ,
@@ -169,7 +196,7 @@ fn setupCliTool(
169196
170197 super_cli .root_module .addImport ("superhtml" , superhtml );
171198 super_cli .root_module .addImport (
172- "known-folders " ,
199+ "known_folders " ,
173200 folders .module ("known-folders" ),
174201 );
175202 super_cli .root_module .addImport ("lsp" , lsp .module ("lsp" ));
@@ -245,8 +272,8 @@ fn setupReleaseStep(
245272
246273 super_exe_release .root_module .addImport ("superhtml" , superhtml );
247274 super_exe_release .root_module .addImport (
248- "known-folders " ,
249- folders .module ("known-folders " ),
275+ "known_folders " ,
276+ folders .module ("known_folders " ),
250277 );
251278 super_exe_release .root_module .addImport ("lsp" , lsp .module ("lsp" ));
252279 super_exe_release .root_module .addOptions ("build_options" , options );
0 commit comments