X-Git-Url: https://git.saurik.com/apple/libdispatch.git/blobdiff_plain/66adbf37b24d7fc6671f00f587979f1b51531d48..c093abd6701fa4c95f99104066f1f80a1c3c39e0:/INSTALL diff --git a/INSTALL b/INSTALL index 69fd5a6..bac7e27 100644 --- a/INSTALL +++ b/INSTALL @@ -22,8 +22,8 @@ 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. + Specify the path to Apple's Libc package, so that appropriate headers can + be found and used. --with-apple-libclosure-source @@ -32,32 +32,31 @@ The following configure options may be of general interest: --with-apple-xnu-source - Specify the path to Apple's XNU package, so that appropriate headers - can be found and used. + 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. + 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. -The following options are likely to only be useful when building libdispatch -on Mac OS X as a replacement for /usr/lib/system/libdispatch.dylib: +The following options are likely to only be useful when building libdispatch on +Mac OS X as a replacement for /usr/lib/system/libdispatch.dylib: --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 library in /usr/lib/system, the init routine is called - automatically during process start. + Do not tag libdispatch's init routine as __constructor, in which case it + must be run manually before libdispatch routines can be called. This is the + default when building on Mac OS X. For /usr/lib/system/libdispatch.dylib + the init routine is called automatically during process start. --enable-apple-tsd-optimizations - Use a non-portable allocation scheme for pthread per-thread data (TSD) - keys when building libdispatch for /usr/lib/system on Mac OS X. This - should not be used on other OS's, or on Mac OS X when building a - stand-alone library. + Use a non-portable allocation scheme for pthread per-thread data (TSD) keys + when building libdispatch for /usr/lib/system on Mac OS X. This should not + be used on other OS's, or on Mac OS X when building a stand-alone library. Typical configuration commands @@ -65,17 +64,18 @@ The following command lines create the configuration required to build libdispatch for /usr/lib/system on Mac OS X Lion: sh autogen.sh - ./configure CFLAGS='-arch x86_64 -arch i386' \ + ./configure CFLAGS='-arch x86_64 -arch i386 -g -Os' \ --prefix=/usr --libdir=/usr/lib/system \ --disable-dependency-tracking --disable-static \ - --disable-libdispatch-init-constructor \ --enable-apple-tsd-optimizations \ --with-apple-libc-source=/path/to/10.7.0/Libc-763.11 \ --with-apple-libclosure-source=/path/to/10.7.0/libclosure-53 \ --with-apple-xnu-source=/path/to/10.7.0/xnu-1699.22.73 + make check Typical configuration line for FreeBSD 8.x and 9.x to build libdispatch with clang and blocks support: sh autogen.sh ./configure CC=clang --with-blocks-runtime=/usr/local/lib + make check