From 142013941bce0b4dbe721aa141a3c607d821bf72 Mon Sep 17 00:00:00 2001 From: dddnk <107443277+dddnk@users.noreply.github.com> Date: Tue, 27 Oct 2026 08:40:41 +0000 Subject: [PATCH] Updated build.zig to 0.16 --- build.zig | 113 +++++++++++++++++++++++++----------------------------- 1 file changed, 52 insertions(+), 61 deletions(-) diff --git a/build.zig b/build.zig index 9033198..a7dce30 100644 --- a/build.zig +++ b/build.zig @@ -5,17 +5,13 @@ pub fn build(b: *std.Build) void { const optimize = b.standardOptimizeOption(.{}); { - const exe = b.addExecutable(.{ - .name = "7zDec", - .target = target, - .optimize = optimize, - }); - const flags = [_][]const u8 { + const exe = b.addExecutable(.{ .name = "7zDec", .root_module = b.createModule(.{ .target = target, .optimize = optimize, .link_libcpp = true }) }); + const flags = [_][]const u8{ "-DZ7_EXTERNAL_CODECS", // unaligned access utilized, see C/CpuArch.h "-fno-sanitize=alignment", }; - exe.addCSourceFiles(&[_][]const u8 { + exe.root_module.addCSourceFiles(.{ .files = &[_][]const u8{ "C/7zAlloc.c", "C/7zBuf.c", "C/7zCrc.c", @@ -36,67 +32,62 @@ pub fn build(b: *std.Build) void { "C/Ppmd7Dec.c", "C/Util/7z/7zMain.c", "C/Util/7z/Precomp.c", - }, &flags); - exe.linkLibC(); + }, .flags = &flags }); b.installArtifact(exe); } { - const exe = b.addExecutable(.{ - .name = "7z", - .target = target, - .optimize = optimize, - }); - const flags = [_][]const u8 { + const exe = b.addExecutable(.{ .name = "7z", .root_module = b.createModule(.{ .target = target, .optimize = optimize, .link_libcpp = true }) }); + const flags = [_][]const u8{ "-DZ7_EXTERNAL_CODECS", // unaligned access utilized, see C/CpuArch.h "-fno-sanitize=alignment", }; - exe.addCSourceFiles(&( - common_src ++ - console_src ++ - ui_common_src ++ - _7z_common_src ++ - ar_common_src ++ - [_][]const u8 { - // - "CPP/Windows/DLL.cpp", - "CPP/Windows/ErrorMsg.cpp", - "CPP/Windows/FileDir.cpp", - "CPP/Windows/FileFind.cpp", - "CPP/Windows/FileIO.cpp", - "CPP/Windows/FileLink.cpp", - "CPP/Windows/FileName.cpp", - "CPP/Windows/FileSystem.cpp", - "CPP/Windows/MemoryLock.cpp", - "CPP/Windows/PropVariant.cpp", - "CPP/Windows/PropVariantConv.cpp", - "CPP/Windows/Registry.cpp", - "CPP/Windows/System.cpp", - "CPP/Windows/SystemInfo.cpp", - "CPP/Windows/TimeUtils.cpp", - // - "CPP/7zip/Compress/CopyCoder.cpp", - // - "C/Alloc.c", - "C/CpuArch.c", - "C/Sort.c", - "C/Threads.c", - // - "C/DllSecur.c", - // - "C/7zCrc.c", - // TODO: I think there is an assembly version on some platforms - // i.e. ASM/x86/7xCrcOpt.asm - "C/7zCrcOpt.c", - } - ), &flags); - exe.linkLibCpp(); - exe.linkSystemLibrary("oleaut32"); + exe.root_module.addCSourceFiles(.{ + .files = &(common_src ++ + console_src ++ + ui_common_src ++ + _7z_common_src ++ + ar_common_src ++ + [_][]const u8{ + // + "CPP/Windows/DLL.cpp", + "CPP/Windows/ErrorMsg.cpp", + "CPP/Windows/FileDir.cpp", + "CPP/Windows/FileFind.cpp", + "CPP/Windows/FileIO.cpp", + "CPP/Windows/FileLink.cpp", + "CPP/Windows/FileName.cpp", + "CPP/Windows/FileSystem.cpp", + "CPP/Windows/MemoryLock.cpp", + "CPP/Windows/PropVariant.cpp", + "CPP/Windows/PropVariantConv.cpp", + "CPP/Windows/Registry.cpp", + "CPP/Windows/System.cpp", + "CPP/Windows/SystemInfo.cpp", + "CPP/Windows/TimeUtils.cpp", + // + "CPP/7zip/Compress/CopyCoder.cpp", + // + "C/Alloc.c", + "C/CpuArch.c", + "C/Sort.c", + "C/Threads.c", + // + "C/DllSecur.c", + // + "C/7zCrc.c", + // TODO: I think there is an assembly version on some platforms + // i.e. ASM/x86/7xCrcOpt.asm + "C/7zCrcOpt.c", + }), + .flags = &flags, + }); + exe.root_module.linkSystemLibrary("oleaut32", .{ .needed = true }); b.installArtifact(exe); } } -const common_src = [_][]const u8 { +const common_src = [_][]const u8{ "CPP/Common/CommandLineParser.cpp", "CPP/Common/CRC.cpp", "CPP/Common/DynLimBuf.cpp", @@ -113,7 +104,7 @@ const common_src = [_][]const u8 { "CPP/Common/Wildcard.cpp", }; -const console_src = [_][]const u8 { +const console_src = [_][]const u8{ "CPP/7zip/UI/Console/BenchCon.cpp", "CPP/7zip/UI/Console/ConsoleClose.cpp", "CPP/7zip/UI/Console/ExtractCallbackConsole.cpp", @@ -127,7 +118,7 @@ const console_src = [_][]const u8 { "CPP/7zip/UI/Console/UserInputUtils.cpp", }; -const ui_common_src = [_][]const u8 { +const ui_common_src = [_][]const u8{ "CPP/7zip/UI/Common/ArchiveCommandLine.cpp", "CPP/7zip/UI/Common/ArchiveExtractCallback.cpp", "CPP/7zip/UI/Common/ArchiveOpenCallback.cpp", @@ -150,7 +141,7 @@ const ui_common_src = [_][]const u8 { "CPP/7zip/UI/Common/UpdateProduce.cpp", }; -const _7z_common_src = [_][]const u8 { +const _7z_common_src = [_][]const u8{ "CPP/7zip/Common/CreateCoder.cpp", "CPP/7zip/Common/FilePathAutoRename.cpp", "CPP/7zip/Common/FileStreams.cpp", @@ -165,7 +156,7 @@ const _7z_common_src = [_][]const u8 { "CPP/7zip/Common/UniqBlocks.cpp", }; -const ar_common_src = [_][]const u8 { +const ar_common_src = [_][]const u8{ "CPP/7zip/Archive/Common/ItemNameUtils.cpp", "CPP/7zip/Archive/Common/OutStreamWithCRC.cpp", };