Skip to content

Commit 17ab01b

Browse files
committed
Build libbacktrace with mmapio.c instead of read.c (except on Windows)
Fixes #289 `mmap` should be available on all platforms we support (except Windows), so we can use `libbacktrace`'s more efficient mmap-based code.
1 parent e2e23c8 commit 17ab01b

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

crates/backtrace-sys/build.rs

+8-1
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,17 @@ fn main() {
3131
.file("src/libbacktrace/dwarf.c")
3232
.file("src/libbacktrace/fileline.c")
3333
.file("src/libbacktrace/posix.c")
34-
.file("src/libbacktrace/read.c")
3534
.file("src/libbacktrace/sort.c")
3635
.file("src/libbacktrace/state.c");
3736

37+
// `mmap` does not exist on Windows, so we use
38+
// the less efficient `read`-based code.
39+
if target.contains("windows") {
40+
build.file("src/libbacktrace/read.c");
41+
} else {
42+
build.file("src/libbacktrace/mmapio.c");
43+
}
44+
3845
// No need to have any symbols reexported form shared objects
3946
build.flag("-fvisibility=hidden");
4047

0 commit comments

Comments
 (0)