@@ -110,10 +110,15 @@ fn computeTestTargets(isNative: bool, ci: ?bool) ?[]const TestTarget {
110
110
111
111
// This creates a SQLite static library from the SQLite dependency code.
112
112
fn makeSQLiteLib (b : * std.Build , dep : * std.Build.Dependency , c_flags : []const []const u8 , target : std.Build.ResolvedTarget , optimize : std.builtin.OptimizeMode , sqlite_c : enum { with , without }) * std.Build.Step.Compile {
113
- const lib = b .addStaticLibrary (.{
114
- .name = "sqlite" ,
113
+ const mod = b .addModule ("lib-sqlite" , .{
115
114
.target = target ,
116
115
.optimize = optimize ,
116
+ .link_libc = true ,
117
+ });
118
+ const lib = b .addLibrary (.{
119
+ .name = "sqlite" ,
120
+ .linkage = .dynamic ,
121
+ .root_module = mod ,
117
122
});
118
123
119
124
lib .addIncludePath (dep .path ("." ));
@@ -128,7 +133,6 @@ fn makeSQLiteLib(b: *std.Build, dep: *std.Build.Dependency, c_flags: []const []c
128
133
.file = b .path ("c/workaround.c" ),
129
134
.flags = c_flags ,
130
135
});
131
- lib .linkLibC ();
132
136
133
137
return lib ;
134
138
}
@@ -225,13 +229,17 @@ pub fn build(b: *std.Build) !void {
225
229
226
230
const test_sqlite_lib = makeSQLiteLib (b , sqlite_dep , c_flags , cross_target , optimize , .with );
227
231
228
- const tests = b .addTest (.{
229
- .name = test_name ,
232
+ const mod = b .addModule (test_name , .{
230
233
.target = cross_target ,
231
234
.optimize = optimize ,
232
235
.root_source_file = b .path ("sqlite.zig" ),
233
236
.single_threaded = test_target .single_threaded ,
234
237
});
238
+
239
+ const tests = b .addTest (.{
240
+ .name = test_name ,
241
+ .root_module = mod ,
242
+ });
235
243
tests .addIncludePath (b .path ("c" ));
236
244
tests .addIncludePath (sqlite_dep .path ("." ));
237
245
tests .linkLibrary (test_sqlite_lib );
@@ -282,13 +290,17 @@ fn addPreprocessStep(b: *std.Build, sqlite_dep: *std.Build.Dependency) void {
282
290
}
283
291
284
292
fn addZigcrypto (b : * std.Build , sqlite_mod : * std.Build.Module , target : std.Build.ResolvedTarget , optimize : std.builtin.OptimizeMode ) * std.Build.Step.InstallArtifact {
285
- const exe = b .addSharedLibrary (.{
286
- .name = "zigcrypto" ,
293
+ const mod = b .addModule ("zigcryto" , .{
287
294
.root_source_file = b .path ("examples/zigcrypto.zig" ),
288
- .version = null ,
289
295
.target = getTarget (target ),
290
296
.optimize = optimize ,
291
297
});
298
+ const exe = b .addLibrary (.{
299
+ .name = "zigcrypto" ,
300
+ .root_module = mod ,
301
+ .version = null ,
302
+ .linkage = .dynamic ,
303
+ });
292
304
exe .root_module .addImport ("sqlite" , sqlite_mod );
293
305
294
306
const install_artifact = b .addInstallArtifact (exe , .{});
@@ -298,12 +310,15 @@ fn addZigcrypto(b: *std.Build, sqlite_mod: *std.Build.Module, target: std.Build.
298
310
}
299
311
300
312
fn addZigcryptoTestRun (b : * std.Build , sqlite_mod : * std.Build.Module , target : std.Build.ResolvedTarget , optimize : std.builtin.OptimizeMode ) * std.Build.Step.Run {
301
- const zigcrypto_test = b .addExecutable (.{
302
- .name = "zigcrypto-test" ,
313
+ const mod = b .addModule ("zigcryto-test" , .{
303
314
.root_source_file = b .path ("examples/zigcrypto_test.zig" ),
304
315
.target = getTarget (target ),
305
316
.optimize = optimize ,
306
317
});
318
+ const zigcrypto_test = b .addExecutable (.{
319
+ .name = "zigcrypto-test" ,
320
+ .root_module = mod ,
321
+ });
307
322
zigcrypto_test .root_module .addImport ("sqlite" , sqlite_mod );
308
323
309
324
const install = b .addInstallArtifact (zigcrypto_test , .{});
0 commit comments