|
1 | 1 | const std = @import("std"); |
2 | 2 |
|
3 | | -const package_name = "zstd"; |
4 | | -const package_path = "src/lib.zig"; |
5 | | - |
6 | 3 | pub fn build(b: *std.Build) void { |
7 | 4 | const optimize = b.standardOptimizeOption(.{}); |
8 | 5 | const target = b.standardTargetOptions(.{}); |
9 | 6 |
|
| 7 | + const test_step = b.step("test", "Run library tests"); |
| 8 | + |
10 | 9 | const zstd_dep = b.dependency("zstd", .{}); |
11 | 10 |
|
12 | 11 | const zstd_lib = b.addStaticLibrary(.{ |
13 | | - .name = package_name, |
| 12 | + .name = "zstd", |
14 | 13 | .target = target, |
15 | 14 | .optimize = optimize, |
16 | 15 | }); |
| 16 | + b.installArtifact(zstd_lib); |
17 | 17 | zstd_lib.linkLibC(); |
18 | 18 | zstd_lib.addIncludePath(zstd_dep.path("lib")); |
19 | 19 | zstd_lib.installHeader(zstd_dep.path("lib/zstd.h"), "zstd.h"); |
20 | 20 | zstd_lib.installHeader(zstd_dep.path("lib/zstd_errors.h"), "zstd_errors.h"); |
21 | 21 |
|
22 | | - const config_header = b.addConfigHeader( |
23 | | - .{ .style = .blank }, |
24 | | - .{ |
25 | | - .ZSTD_CONFIG_H = {}, |
26 | | - .ZSTD_MULTITHREAD_SUPPORT_DEFAULT = null, |
27 | | - .ZSTD_LEGACY_SUPPORT = null, |
28 | | - }, |
29 | | - ); |
30 | | - zstd_lib.addConfigHeader(config_header); |
| 22 | + zstd_lib.root_module.addCMacro("ZSTD_MULTITHREAD", ""); |
| 23 | + zstd_lib.root_module.addCMacro("ZSTD_STATIC_LINKING_ONLY", ""); |
| 24 | + |
31 | 25 | zstd_lib.addCSourceFiles(.{ |
32 | 26 | .root = zstd_dep.path("lib"), |
33 | 27 | .files = &.{ |
@@ -61,24 +55,19 @@ pub fn build(b: *std.Build) void { |
61 | 55 | }, |
62 | 56 | }); |
63 | 57 | zstd_lib.addAssemblyFile(zstd_dep.path("lib/decompress/huf_decompress_amd64.S")); |
64 | | - b.installArtifact(zstd_lib); |
65 | 58 |
|
66 | | - const module = b.addModule(package_name, .{ |
67 | | - .root_source_file = b.path(package_path), |
68 | | - .imports = &.{}, |
| 59 | + const zstd_mod = b.addModule("zstd", .{ |
| 60 | + .root_source_file = b.path("src/lib.zig"), |
69 | 61 | }); |
70 | | - module.linkLibrary(zstd_lib); |
| 62 | + zstd_mod.linkLibrary(zstd_lib); |
71 | 63 |
|
72 | | - // tests |
73 | | - const tests = b.addTest(.{ |
| 64 | + const tests_exe = b.addTest(.{ |
74 | 65 | .target = target, |
75 | 66 | .optimize = optimize, |
76 | 67 | .root_source_file = b.path("src/tests.zig"), |
77 | 68 | }); |
78 | | - tests.linkLibrary(zstd_lib); |
| 69 | + tests_exe.root_module.addImport("zstd", zstd_mod); |
79 | 70 |
|
80 | | - const run_tests = b.addRunArtifact(tests); |
81 | | - const test_step = b.step("test", "Run library tests"); |
82 | | - test_step.dependOn(&zstd_lib.step); |
83 | | - test_step.dependOn(&run_tests.step); |
| 71 | + const tests_exe_run = b.addRunArtifact(tests_exe); |
| 72 | + test_step.dependOn(&tests_exe_run.step); |
84 | 73 | } |
0 commit comments