Add CONFIG_NO_WORKER Makefile option

This option eliminates the dependency on the pthread library. This mode is
already toggled on _WIN32 and/or EMSCRIPTEN is detected, here we just allow the
user to toggle it at will at the top level.

This slightly reduce the code size as well, and may allow compiling this
library in some embedded contexts where pthread is not available or is broken.
This commit is contained in:
Nick Vatamaniuc 2024-05-13 00:38:19 -04:00
parent 6e2e68fd08
commit fdc6ba3bec
No known key found for this signature in database
GPG key ID: FC04DFBC9657A78E
3 changed files with 5 additions and 2 deletions

View file

@ -148,6 +148,9 @@ ifeq ($(shell $(CC) -o /dev/null compat/test-closefrom.c 2>/dev/null && echo 1),
DEFINES+=-DHAVE_CLOSEFROM
endif
endif
ifdef CONFIG_NO_WORKER
DEFINES+=-DCONFIG_NO_WORKER
endif
CFLAGS+=$(DEFINES)
CFLAGS_DEBUG=$(CFLAGS) -O0

View file

@ -64,7 +64,7 @@ typedef sig_t sighandler_t;
#endif
#if !defined(_WIN32)
#if !defined(_WIN32) && !defined(CONFIG_NO_WORKER)
/* enable the os.Worker API. IT relies on POSIX threads */
#define USE_WORKER
#endif

View file

@ -68,7 +68,7 @@
/* define to include Atomics.* operations which depend on the OS
threads */
#if !defined(EMSCRIPTEN)
#if !defined(EMSCRIPTEN) && !defined(CONFIG_NO_WORKER)
#define CONFIG_ATOMICS
#endif