Skip to content

Commit 05b7c98

Browse files
committed
Updated code to support mimalloc v2.
Basic stuff used from this PR purpleprotocol#66
1 parent 697f23f commit 05b7c98

File tree

8 files changed

+52
-4
lines changed

8 files changed

+52
-4
lines changed

.gitmodules

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
11
[submodule "libmimalloc-sys/c_src/mimalloc"]
22
path = libmimalloc-sys/c_src/mimalloc
33
url = https://github.com/microsoft/mimalloc
4+
[submodule "libmimalloc-sys/c_src/mimalloc_dev_slice"]
5+
path = libmimalloc-sys/c_src/mimalloc_dev_slice
6+
url = https://github.com/microsoft/mimalloc.git
7+
branch = dev-slice
8+
[submodule "libmimalloc-sys/c_src/mimalloc_dev"]
9+
path = libmimalloc-sys/c_src/mimalloc_dev
10+
url = https://github.com/microsoft/mimalloc.git
11+
branch = dev
12+
[submodule "libmimalloc-sys/c_src/mimalloc_dev_custom"]
13+
path = libmimalloc-sys/c_src/mimalloc_dev_custom
14+
url = https://github.com/BlackDex/mimalloc.git
15+
branch = dev-custom
16+
[submodule "libmimalloc-sys/c_src/mimalloc_dev_slice_custom"]
17+
path = libmimalloc-sys/c_src/mimalloc_dev_slice_custom
18+
url = https://github.com/BlackDex/mimalloc.git
19+
branch = dev-slice-custom

Cargo.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,13 @@ travis-ci = { repository = "purpleprotocol/mimalloc_rust" }
2424
libmimalloc-sys = { path = "libmimalloc-sys", version = "0.1.23", default-features = false }
2525

2626
[features]
27-
default = ["secure"]
27+
default = ["secure","v1_stable"]
2828
secure = ["libmimalloc-sys/secure"]
2929
override = ["libmimalloc-sys/override"]
3030
debug = ["libmimalloc-sys/debug"]
3131
local_dynamic_tls = ["libmimalloc-sys/local_dynamic_tls"]
32+
v1_stable = ["libmimalloc-sys/v1_stable"]
33+
v1_dev = ["libmimalloc-sys/v1_dev"]
34+
v1_custom = ["libmimalloc-sys/v1_custom"]
35+
v2_dev = ["libmimalloc-sys/v2_dev"]
36+
v2_custom = ["libmimalloc-sys/v2_custom"]

libmimalloc-sys/Cargo.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ debug = []
2222
override = []
2323
extended = ["cty"]
2424
local_dynamic_tls = []
25+
v1_stable = []
26+
v1_dev = []
27+
v1_custom = []
28+
v2_dev = []
29+
v2_custom = []
2530

2631
# Show `extended` on docs.rs since it's the full API surface.
2732
[package.metadata.docs.rs]

libmimalloc-sys/build.rs

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,27 @@ use std::env;
33
fn main() {
44
let mut build = cc::Build::new();
55

6-
build.include("c_src/mimalloc/include");
7-
build.include("c_src/mimalloc/src");
8-
build.file("c_src/mimalloc/src/static.c");
6+
if cfg!(feature = "v1_dev") {
7+
build.include("c_src/mimalloc_dev/include");
8+
build.include("c_src/mimalloc_dev/src");
9+
build.file("c_src/mimalloc_dev/src/static.c");
10+
} else if cfg!(feature = "v1_custom") {
11+
build.include("c_src/mimalloc_dev_custom/include");
12+
build.include("c_src/mimalloc_dev_custom/src");
13+
build.file("c_src/mimalloc_dev_custom/src/static.c");
14+
} else if cfg!(feature = "v2_dev") {
15+
build.include("c_src/mimalloc_dev_slice/include");
16+
build.include("c_src/mimalloc_dev_slice/src");
17+
build.file("c_src/mimalloc_dev_slice/src/static.c");
18+
} else if cfg!(feature = "v2_custom") {
19+
build.include("c_src/mimalloc_dev_slice_custom/include");
20+
build.include("c_src/mimalloc_dev_slice_custom/src");
21+
build.file("c_src/mimalloc_dev_slice_custom/src/static.c");
22+
} else {
23+
build.include("c_src/mimalloc/include");
24+
build.include("c_src/mimalloc/src");
25+
build.file("c_src/mimalloc/src/static.c");
26+
}
927

1028
let target_os = env::var("CARGO_CFG_TARGET_OS").expect("target_os not defined!");
1129
let target_family = env::var("CARGO_CFG_TARGET_FAMILY").expect("target_family not defined!");

libmimalloc-sys/c_src/mimalloc_dev

Submodule mimalloc_dev added at c858690
Submodule mimalloc_dev_custom added at 89dbfb6
Submodule mimalloc_dev_slice added at 775c10d

0 commit comments

Comments
 (0)