[libdispatch-changes] [54] trunk/INSTALL

source_changes at macosforge.org source_changes at macosforge.org
Sat Oct 24 09:09:47 PDT 2009


Revision: 54
          http://trac.macosforge.org/projects/libdispatch/changeset/54
Author:   robert at fledge.watson.org
Date:     2009-10-24 09:09:44 -0700 (Sat, 24 Oct 2009)
Log Message:
-----------
Add a first cut at libdispatch install notes.

Added Paths:
-----------
    trunk/INSTALL

Added: trunk/INSTALL
===================================================================
--- trunk/INSTALL	                        (rev 0)
+++ trunk/INSTALL	2009-10-24 16:09:44 UTC (rev 54)
@@ -0,0 +1,76 @@
+Grand Central Dispatch (GCD)
+
+GCD is a concurrent programming framework first shipped with Mac OS X Snow
+Leopard.  This package is an open source bundling of libdispatch, the core
+user space library implementing GCD.  At the time of writing, support for
+the BSD kqueue API, and specifically extensions introduced in Mac OS X Snow
+Leopard and FreeBSD 9-CURRENT, are required to use libdispatch.  Other
+systems are currently unsupported.
+
+  Configuring and installing libdispatch
+
+GCD is built using autoconf, automake, and libtool, and has a number of
+compile-time configuration options that should be reviewed before starting.
+An uncustomized install requires:
+
+	./configure
+	make
+	make install
+
+The following configure options may be of general interest:
+
+--with-apple-libc-source
+
+	Specify the path to Apple's Libc package, so that appropriate headers
+	can be found and used.
+
+--with-apple-xnu-source
+
+	Specify the path to Apple's XNU package, so that appropriate headers
+	can be found and used.
+
+--with-blocks-runtime
+
+	On systems where -fblocks is supported, specify an additional library
+	path in which libBlocksRuntime can be found.  This is not required on
+	Mac OS X, where the Blocks runtime is included in libSystem, but is
+	required on FreeBSD.
+
+Some sites will wish to build using a non-default C compiler; for example,
+this is desirable on FreeBSD so that libdispatch is built with clang and
+blocks support.  A typically FreeBSD configuration will use:
+
+	CC=clang ./configure --with-blocks-runtime=/usr/local/lib
+	make
+	make install
+
+The following options are likely only to be required if building libdispatch
+as part of Mac OS X's libSystem:
+
+--enable-legacy-api
+
+	Enable a legacy (deprecated) API used by some early GCD applications.
+
+--disable-libdispatch-init-constructor
+
+	Do not tag libdispatch's init routine as __constructor, in which case
+	it must be run manually before libdispatch routines can be called.
+	For the libdispatch code compiled directly into libSystem, the init
+	routine is called automatically during process start.
+
+--enable-apple-crashreporter-info
+
+	Set global variables during a libdispatch crash to provide additional
+	debugging information for CrashReporter.
+
+--enable-apple-tsd-optimizations
+
+	Use a non-portable allocation scheme for pthread per-thread data
+	(TSD) keys when built into libSystem on Mac OS X.  This should not be
+	used on other OS's, nor on Mac OS X when building as a stand-alone
+	library.
+
+--enable-apple-semaphore-optimizations
+
+	libdispatch contains hand-optimized assembly for use with libdispatch
+	semaphores.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/libdispatch-changes/attachments/20091024/2054af98/attachment.html>


More information about the libdispatch-changes mailing list