[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