From be7c9c2f5190f424a4b3ce79dfd00a11ea83242e Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Sat, 27 Apr 2024 00:50:57 +0200 Subject: [PATCH] Revert "Do not install CPU-specific libs" This reverts commit e6b1f1c9f2cfaec049595c98ebc8a39b623afdc3. --- build.zig | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/build.zig b/build.zig index 0033c88b..b3b17112 100644 --- a/build.zig +++ b/build.zig @@ -339,10 +339,9 @@ pub fn build(b: *std.Build) !void { }; const allocator = heap.page_allocator; - - // compile CPU-specific library code for (&mlibs) |*mlib| { var target2 = target; + for (mlib.arches) |arch| { if (target.result.cpu.arch == arch) { for (mlib.flags) |flag| { @@ -372,33 +371,35 @@ pub fn build(b: *std.Build) !void { }); } lib.linkLibrary(elib); + b.installArtifact(elib); } - // compile generic library code - var walker = try src_dir.walk(allocator); - files: while (try walker.next()) |entry| { - var flags = std.ArrayList([]const u8).init(allocator); - defer flags.deinit(); - try flags.appendSlice(base_flags); + { // compile generic library code + var walker = try src_dir.walk(allocator); + files: while (try walker.next()) |entry| { + var flags = std.ArrayList([]const u8).init(allocator); + defer flags.deinit(); + try flags.appendSlice(base_flags); - const name = entry.basename; + const name = entry.basename; - if (mem.endsWith(u8, name, ".c")) { - for (mlibs) |mlib| { - for (mlib.sources) |path| { - if (mem.eql(u8, entry.path, path)) continue :files; + if (mem.endsWith(u8, name, ".c")) { + for (mlibs) |mlib| { + for (mlib.sources) |path| { + if (mem.eql(u8, entry.path, path)) continue :files; + } } + + const full_path = try fmt.allocPrint(allocator, "{s}/{s}", .{ src_path, entry.path }); + + lib.addCSourceFiles(.{ + .files = &.{full_path}, + .flags = flags.items, + }); + } else if (mem.endsWith(u8, name, ".S")) { + const full_path = try fmt.allocPrint(allocator, "{s}/{s}", .{ src_path, entry.path }); + lib.addAssemblyFile(.{ .path = full_path }); } - - const full_path = try fmt.allocPrint(allocator, "{s}/{s}", .{ src_path, entry.path }); - - lib.addCSourceFiles(.{ - .files = &.{full_path}, - .flags = flags.items, - }); - } else if (mem.endsWith(u8, name, ".S")) { - const full_path = try fmt.allocPrint(allocator, "{s}/{s}", .{ src_path, entry.path }); - lib.addAssemblyFile(.{ .path = full_path }); } } }