Skip to content

Commit 92db93c

Browse files
committed
Simplify
1 parent 63b0d67 commit 92db93c

File tree

1 file changed

+7
-13
lines changed

1 file changed

+7
-13
lines changed

build.rs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,8 @@ fn main() {
7070
Some(_) | None => set_cfg("freebsd11"),
7171
}
7272

73-
match emcc_version() {
74-
Some((major, minor, patch))
75-
if (major > 3)
76-
|| (major == 3 && minor > 1)
77-
|| (major == 3 && minor == 1 && patch >= 42) =>
78-
{
79-
set_cfg("emscripten_new_stat_abi")
80-
}
73+
match emcc_version_code() {
74+
Some(v) if (v >= 30142) => set_cfg("emscripten_new_stat_abi"),
8175
// Non-Emscripten or version < 3.1.42.
8276
Some(_) | None => (),
8377
}
@@ -251,7 +245,7 @@ fn which_freebsd() -> Option<i32> {
251245
}
252246
}
253247

254-
fn emcc_version() -> Option<(u32, u32, u32)> {
248+
fn emcc_version_code() -> Option<u64> {
255249
let output = std::process::Command::new("emcc")
256250
.arg("-dumpversion")
257251
.output()
@@ -271,11 +265,11 @@ fn emcc_version() -> Option<(u32, u32, u32)> {
271265
let version = stdout.unwrap();
272266
let mut pieces = version.trim().split('.');
273267

274-
let major = pieces.next()?.parse().unwrap();
275-
let minor = pieces.next()?.parse().unwrap();
276-
let patch = pieces.next()?.parse().unwrap();
268+
let major = pieces.next().and_then(|x| x.parse().ok()).unwrap_or(0);
269+
let minor = pieces.next().and_then(|x| x.parse().ok()).unwrap_or(0);
270+
let patch = pieces.next().and_then(|x| x.parse().ok()).unwrap_or(0);
277271

278-
Some((major, minor, patch))
272+
Some(major * 10000 + minor * 100 + patch)
279273
}
280274

281275
fn set_cfg(cfg: &str) {

0 commit comments

Comments
 (0)