Revision
20
Author
robert@fledge.watson.org
Date
2009-09-13 10:08:49 -0700 (Sun, 13 Sep 2009)

Log Message

Add --without-libdispatch-init-constructor in order to disable tagging
of libdispatch_init as a constructor.  On most systems, it is required,
but for the Mac OS X libSystem, the init routine is run during process
startup by libsyscall.  While it's unlikely users will want to
configure this with the autoconf build, the Mac OS X build will want to
set this generated variable in the hard-coded config.h for Xcode.

Modified Paths

Diff

Modified: trunk/configure.ac (19 => 20)


--- trunk/configure.ac	2009-09-13 12:25:58 UTC (rev 19)
+++ trunk/configure.ac	2009-09-13 17:08:49 UTC (rev 20)
@@ -23,6 +23,19 @@
 AM_CONDITIONAL(USE_LEGACY_API, $use_legacy_api)
 
 #
+# On Mac OS X Snow Leopard, libpispatch_init is automatically invoked during
+# libsyscall process setup.  On other systems, it is tagged as a library
+# constructor to be run by automatically by the runtime linker.
+#
+AC_ARG_WITH([libdispatch-init-constructor],
+  [AS_HELP_STRING([--without-libdispatch-init-constructor],
+    [Don't tag libdispatch_init as a constructor])
+  ],[],[
+    AC_DEFINE(USE_LIBDISPATCH_INIT_CONSTRUCTOR,,Define to tag libdispatch_init as a constructor)
+  ]
+)
+
+#
 # libdispatch has micro-optimized and deeply personal knowledge of the Mac OS
 # implementation details.  Only enable this if explicitly requested, as it
 # will lead to data corruption if applied on systems violating its