]> granicus.if.org Git - gc/commitdiff
configure: add --enable-handle-fork option
authorAndy Wingo <wingo@pobox.com>
Tue, 27 Mar 2012 11:20:37 +0000 (13:20 +0200)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 28 Mar 2012 17:17:42 +0000 (21:17 +0400)
* configure.ac: Add --enable-handle-fork option; if explicitly passed,
enables or disables the pthread_atfork support; if not passed, the
default, as determined by gcconfig.h, is to enable HANDLE_FORK if it
is supported on the target platform.

configure.ac

index a29881bf7b6d9b531197f8477a3b966031533359..93072186287a8f59717466f41932338cdfc8ff57 100644 (file)
@@ -785,6 +785,19 @@ if test "${enable_large_config}" = yes; then
     AC_DEFINE(LARGE_CONFIG, 1, [Define to optimize for large heaps or root sets.])
 fi
 
+AC_ARG_ENABLE(handle-fork,
+    [AC_HELP_STRING([--enable-handle-fork],
+        [Attempt to ensure a usable collector after fork() in multi-threaded
+         programs.])])
+
+if test "${enable_handle_fork}" = yes; then
+    AC_DEFINE(HANDLE_FORK, 1,
+              [Define to install pthread_atfork() handlers if available.])
+elif test "${enable_handle_fork}" = no; then
+    AC_DEFINE(NO_HANDLE_FORK, 1,
+              [Define to inhibit installation of pthread_atfork() handlers.])
+fi
+
 dnl This is something of a hack.  When cross-compiling we turn off
 dnl some functionality.  We also enable the "small" configuration.
 dnl These is only correct when targetting an embedded system.  FIXME.