Fixed compilation when using zig test.

Remove option for static since -static should suffice in most situations
This commit is contained in:
Caleb J. Gardner
2026-02-07 11:12:48 -06:00
parent 067eaa87c2
commit db2fb4b9f2
4 changed files with 26 additions and 3 deletions
+21
View File
@@ -2,6 +2,27 @@
This is my experiments to learn Zig. Might amount to something. Might not. This is my experiments to learn Zig. Might amount to something. Might not.
A library and application to decompress or view squashfs archives.
## Current State ## Current State
Overall works, but currently is completely single threaded and is missing some features. Extraction is slow. Only properly work on Linux, any other OSes probably won't work fully. Overall works, but currently is completely single threaded and is missing some features. Extraction is slow. Only properly work on Linux, any other OSes probably won't work fully.
## Build options
> `-Duse_c_libs`
Instead of using Zig's standard library for decompression
> `Dversion`
Sets the version of `unsquashfs` shown when `--version` is passed.
## Capabilities
Most features are present except for the following:
* mod_time is not set on extraction
* xattrs are not applied on extraction
* Only zstd c library is implemented (all others result in error.TODO).
* When using Zig decompression libraries then lzo and lz4 compression types are unavailable. I don't _really_ plan on spending the time to find and validate a library since neither is popular.
-2
View File
@@ -1,7 +1,6 @@
const std = @import("std"); const std = @import("std");
pub fn build(b: *std.Build) !void { pub fn build(b: *std.Build) !void {
const static_option = b.option(bool, "static_build", "Build static");
const use_c_libs_option = b.option(bool, "use_c_libs", "Use C versions of decompression libraries instead of the Zig standard library ones"); const use_c_libs_option = b.option(bool, "use_c_libs", "Use C versions of decompression libraries instead of the Zig standard library ones");
const version_string_option = b.option([]const u8, "version", "Version of the library/binary"); const version_string_option = b.option([]const u8, "version", "Version of the library/binary");
@@ -35,7 +34,6 @@ pub fn build(b: *std.Build) !void {
exe_mod.addOptions("config", unsquashfs_options); exe_mod.addOptions("config", unsquashfs_options);
const exe = b.addExecutable(.{ const exe = b.addExecutable(.{
.name = "unsquashfs", .name = "unsquashfs",
.linkage = if (static_option == true) .static else .dynamic,
.root_module = exe_mod, .root_module = exe_mod,
}); });
Executable
+3
View File
@@ -0,0 +1,3 @@
#!/bin/sh
zig test -lc -lzstd src/test.zig
+2 -1
View File
@@ -3,8 +3,9 @@
const std = @import("std"); const std = @import("std");
const Reader = std.Io.Reader; const Reader = std.Io.Reader;
const builtin = @import("builtin");
const config = @import("config"); const config = if (builtin.is_test) .{ .use_c_libs = true } else @import("config");
const c = @cImport({ const c = @cImport({
@cInclude("zstd.h"); @cInclude("zstd.h");