mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
gc: fix msvc not using libatomic_ops (#15418)
This commit is contained in:
@@ -29,9 +29,8 @@ $if dynamic_boehm ? {
|
||||
}
|
||||
}
|
||||
} $else {
|
||||
#flag -DGC_BUILTIN_ATOMIC=1
|
||||
|
||||
$if macos || linux {
|
||||
#flag -DGC_BUILTIN_ATOMIC=1
|
||||
#flag -I @VEXEROOT/thirdparty/libgc/include
|
||||
$if (!macos && prod && !tinyc && !debug) || !(amd64 || arm64 || i386 || arm32) {
|
||||
// TODO: replace the architecture check with a `!$exists("@VEXEROOT/thirdparty/tcc/lib/libgc.a")` comptime call
|
||||
@@ -43,6 +42,7 @@ $if dynamic_boehm ? {
|
||||
#flag -lpthread
|
||||
} $else $if freebsd {
|
||||
// Tested on FreeBSD 13.0-RELEASE-p3, with clang, gcc and tcc:
|
||||
#flag -DGC_BUILTIN_ATOMIC=1
|
||||
#flag -DBUS_PAGE_FAULT=T_PAGEFLT
|
||||
$if !tinyc {
|
||||
#flag -I @VEXEROOT/thirdparty/libgc/include
|
||||
@@ -55,6 +55,7 @@ $if dynamic_boehm ? {
|
||||
}
|
||||
#flag -lpthread
|
||||
} $else $if openbsd {
|
||||
#flag -DGC_BUILTIN_ATOMIC=1
|
||||
#flag -I/usr/local/include
|
||||
#flag $first_existing("/usr/local/lib/libgc.a", "/usr/lib/libgc.a")
|
||||
#flag -lpthread
|
||||
@@ -62,16 +63,27 @@ $if dynamic_boehm ? {
|
||||
#flag -DGC_NOT_DLL=1
|
||||
#flag -DGC_WIN32_THREADS=1
|
||||
$if tinyc {
|
||||
#flag -DGC_BUILTIN_ATOMIC=1
|
||||
#flag -I @VEXEROOT/thirdparty/libgc/include
|
||||
#flag @VEXEROOT/thirdparty/tcc/lib/libgc.a
|
||||
#flag -luser32
|
||||
} $else $if msvc {
|
||||
// Build libatomic_ops
|
||||
#flag @VEXEROOT/thirdparty/libatomic_ops/atomic_ops.o
|
||||
#flag -I @VEXEROOT/thirdparty/libatomic_ops
|
||||
|
||||
#flag -I @VEXEROOT/thirdparty/libgc/include
|
||||
#flag @VEXEROOT/thirdparty/libgc/gc.o
|
||||
} $else {
|
||||
#flag -DGC_BUILTIN_ATOMIC=1
|
||||
#flag -I @VEXEROOT/thirdparty/libgc/include
|
||||
#flag @VEXEROOT/thirdparty/libgc/gc.o
|
||||
}
|
||||
} $else $if $pkgconfig('bdw-gc') {
|
||||
#flag -DGC_BUILTIN_ATOMIC=1
|
||||
#pkgconfig bdw-gc
|
||||
} $else {
|
||||
#flag -DGC_BUILTIN_ATOMIC=1
|
||||
#flag -lgc
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user