summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2012-01-10 10:27:33 +0400
committerIvan Maidanski <ivmai@mail.ru>2012-01-10 10:27:33 +0400
commite7358d20b30a4154f7cd31d33e6fd339526211d4 (patch)
treeaf1d03c32d6e996887525f6b31d06efaf1ceab5c /configure.ac
parent03a174fbb1f5718fd5fadba1a989b17464032d4d (diff)
downloadbdwgc-e7358d20b30a4154f7cd31d33e6fd339526211d4.tar.gz
Win32: allow DllMain chaining on the client side
(Reworked commits e55eb9c, 34a996f from 'mono_libgc' branch) * configure.ac (enable_win32_dllmain): Recognize new AC "enable" option. * configure.ac (GC_INSIDE_DLL): New AC macro (defined only if enable_win32_dllmain). * README.macros (GC_INSIDE_DLL): Document. * include/gc.h (GC_DllMain): Declare as API function (for Win32) if GC_INSIDE_DLL. * win32_threads.c (GC_INSIDE_DLL): Recognize (treat the same as GC_DLL). * win32_threads.c (DllMain): Rename to GC_DllMain; use GC_API export declarator if GC_INSIDE_DLL, otherwise define GC_DllMain macro as a synonym to DllMain.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac4
1 files changed, 4 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 4142c046..888d0a7f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -325,6 +325,10 @@ case "$THREADS" in
AC_DEFINE(THREAD_LOCAL_ALLOC)
fi
fi
+ if test "${enable_win32_dllmain}" = yes; then
+ AC_DEFINE(GC_INSIDE_DLL, 1,
+ [Enable Win32 DllMain-based approach of threads registering.])
+ fi
win32_threads=true
AC_DEFINE([EMPTY_GETENV_RESULTS], [1],
[Wine getenv may not return NULL for missing entry.])