summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--config/nim.cfg5
-rw-r--r--lib/std/typedthreads.nim2
2 files changed, 7 insertions, 0 deletions
diff --git a/config/nim.cfg b/config/nim.cfg
index 973de077a..ef93ec99e 100644
--- a/config/nim.cfg
+++ b/config/nim.cfg
@@ -100,6 +100,11 @@ nimblepath="$home/.nimble/pkgs/"
   gcc.options.always %= "${gcc.options.always} -fsanitize=null -fsanitize-undefined-trap-on-error"
 @end
 
+# Turn off threads support when compiling for bare-metal targets (--os:any)
+@if any:
+  threads:off
+@end
+
 @if unix and mingw:
   # Cross compile for Windows from Linux/OSX using MinGW
   i386.windows.gcc.exe = "i686-w64-mingw32-gcc"
diff --git a/lib/std/typedthreads.nim b/lib/std/typedthreads.nim
index b45ce8a61..8359ca353 100644
--- a/lib/std/typedthreads.nim
+++ b/lib/std/typedthreads.nim
@@ -45,6 +45,8 @@ when defined(nimPreviewSlimSystem):
 when defined(genode):
   import genode/env
 
+when hostOS == "any":
+  {.error: "Threads not implemented for os:any. Please compile with --threads:off.".}
 
 when hasAllocStack or defined(zephyr) or defined(freertos) or defined(nuttx) or
     defined(cpu16) or defined(cpu8):