blob: 2aece12873b6322c1dc1491352bb6a05a114c683 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/bin/sh
target "mimalloc"
set_kind "static"
set_default false
set_warnings "all"
add_includedirs "mimalloc/include" "{public}"
add_defines "XM_CONFIG_API_HAVE_MIMALLOC" "{public}"
add_files "mimalloc/src/alloc.c"
add_files "mimalloc/src/alloc-aligned.c"
add_files "mimalloc/src/alloc-posix.c"
add_files "mimalloc/src/arena.c"
add_files "mimalloc/src/bitmap.c"
add_files "mimalloc/src/heap.c"
add_files "mimalloc/src/init.c"
add_files "mimalloc/src/libc.c"
add_files "mimalloc/src/options.c"
add_files "mimalloc/src/os.c"
add_files "mimalloc/src/page.c"
add_files "mimalloc/src/random.c"
add_files "mimalloc/src/segment.c"
add_files "mimalloc/src/segment-map.c"
add_files "mimalloc/src/stats.c"
add_files "mimalloc/src/prim/prim.c"
# override malloc
if is_plat "macosx"; then
add_files "mimalloc/src/prim/osx/alloc-override-zone.c"
add_defines "MI_OSX_ZONE=1" "MI_OSX_INTERPOSE=1"
fi
add_cflags "-fno-builtin-malloc"
# fast atomics
if is_plat "macosx" "iphoneos" && is_arch "arm64"; then
add_cflags "-Xarch_arm64"
add_cflags "-march=armv8.1-a"
elif is_arch "arm64"; then
add_cflags "-march=armv8.1-a"
fi
add_defines "MI_SKIP_COLLECT_ON_EXIT=1"
if is_plat "mingw"; then
add_defines "_WIN32_WINNT=0x600"
fi
if is_plat "mingw"; then
add_syslinks "psapi" "shell32" "user32" "advapi32" "bcrypt" "{public}"
fi
|