@@ -5,12 +5,8 @@ const Compile = std.Build.Step.Compile;
5
5
const ConfigHeader = std .Build .Step .ConfigHeader ;
6
6
const Mode = std .builtin .OptimizeMode ;
7
7
const Target = std .Build .ResolvedTarget ;
8
- const Mode = std .builtin .OptimizeMode ;
9
- const Target = std .Build .ResolvedTarget ;
10
8
11
9
const Maker = struct {
12
- builder : * std.Build ,
13
- target : Target ,
14
10
builder : * std.Build ,
15
11
target : Target ,
16
12
optimize : Mode ,
@@ -39,11 +35,9 @@ const Maker = struct {
39
35
try m .addCxxFlag (flag );
40
36
}
41
37
42
- fn init (builder : * std.Build ) ! Maker {
43
38
fn init (builder : * std.Build ) ! Maker {
44
39
const target = builder .standardTargetOptions (.{});
45
40
const zig_version = @import ("builtin" ).zig_version_string ;
46
- const commit_hash = try std .ChildProcess .run (
47
41
const commit_hash = try std .ChildProcess .run (
48
42
.{ .allocator = builder .allocator , .argv = &.{ "git" , "rev-parse" , "HEAD" } },
49
43
);
@@ -55,8 +49,6 @@ const Maker = struct {
55
49
\\
56
50
, .{ 0 , commit_hash .stdout [0 .. commit_hash .stdout .len - 1 ], zig_version , try target .query .zigTriple (builder .allocator ) }));
57
51
58
- , .{ 0 , commit_hash .stdout [0 .. commit_hash .stdout .len - 1 ], zig_version , try target .query .zigTriple (builder .allocator ) }));
59
-
60
52
var m = Maker {
61
53
.builder = builder ,
62
54
.target = target ,
@@ -80,7 +72,6 @@ const Maker = struct {
80
72
}
81
73
try m .addFlag ("-D_XOPEN_SOURCE=600" );
82
74
83
-
84
75
if (m .target .result .abi == .gnu ) {
85
76
try m .addFlag ("-D_GNU_SOURCE" );
86
77
}
@@ -103,12 +94,13 @@ const Maker = struct {
103
94
} else {
104
95
o .addCSourceFiles (.{ .files = &.{src }, .flags = m .cxxflags .items });
105
96
if (m .target .result .abi == .msvc ) {
106
- o .addCSourceFiles (.{ .files = &.{src }, .flags = m .cxxflags .items });
107
- if (m .target .result .abi == .msvc ) {
108
- o .linkLibC (); // need winsdk + crt
109
- } else {
110
- // linkLibCpp already add (libc++ + libunwind + libc)
111
- o .linkLibCpp ();
97
+ o .addCSourceFiles (.{ .files = &.{src }, .flags = m .cxxflags .items });
98
+ if (m .target .result .abi == .msvc ) {
99
+ o .linkLibC (); // need winsdk + crt
100
+ } else {
101
+ // linkLibCpp already add (libc++ + libunwind + libc)
102
+ o .linkLibCpp ();
103
+ }
112
104
}
113
105
}
114
106
for (m .include_dirs .items ) | i | o .addIncludePath (.{ .path = i });
@@ -128,27 +120,27 @@ const Maker = struct {
128
120
129
121
// https://github.com/ziglang/zig/issues/15448
130
122
if (m .target .result .abi == .msvc ) {
131
- if (m .target .result .abi == .msvc ) {
132
- e .linkLibC (); // need winsdk + crt
133
- } else {
134
- // linkLibCpp already add (libc++ + libunwind + libc)
135
- e .linkLibCpp ();
136
- }
137
- m .builder .installArtifact (e );
138
- e .want_lto = m .enable_lto ;
123
+ if (m .target .result .abi == .msvc ) {
124
+ e .linkLibC (); // need winsdk + crt
125
+ } else {
126
+ // linkLibCpp already add (libc++ + libunwind + libc)
127
+ e .linkLibCpp ();
128
+ }
129
+ m .builder .installArtifact (e );
130
+ e .want_lto = m .enable_lto ;
139
131
140
- const run = m .builder .addRunArtifact (e );
141
- if (m .builder .args ) | args | {
142
- run .addArgs (args );
143
- }
144
- const step = m .builder .step (name , std .fmt .allocPrint (m .builder .allocator , "Run the {s} example" , .{name }) catch @panic ("OOM" ));
145
- step .dependOn (& run .step );
132
+ const run = m .builder .addRunArtifact (e );
133
+ if (m .builder .args ) | args | {
134
+ run .addArgs (args );
135
+ }
136
+ const step = m .builder .step (name , std .fmt .allocPrint (m .builder .allocator , "Run the {s} example" , .{name }) catch @panic ("OOM" ));
137
+ step .dependOn (& run .step );
146
138
147
- return e ;
139
+ return e ;
140
+ }
148
141
}
149
142
};
150
143
151
- pub fn build (b : * std.Build ) ! void {
152
144
pub fn build (b : * std.Build ) ! void {
153
145
var make = try Maker .init (b );
154
146
make .enable_lto = b .option (bool , "lto" , "Enable LTO optimization, (default: false)" ) orelse false ;
0 commit comments