[libdispatch-dev] GCD libdispatch w/Blocks support working on FreeBSD
robert at fledge.watson.org
Sat Sep 26 12:37:51 PDT 2009
This is a quick update for those interested in the general portability of
libdispatch, and perhaps specifically FreeBSD.
With a bit of help from Jordan Hubbard, I now have libdispatch working with
Blocks on FreeBSD. Jordan has put up a FreeBSD clang-devel package that
includes Blocks parts and the C runtime bits here:
I've updated the libdispatch build parts to detect and use Blocks when
compiled with clang, and fixed a few nits in libdispatch that I ran into along
the way (and one apparent clang bug). With Jordan's package as a starting
point, Blocks pretty much "just worked", so I'm optimistic that people will be
able to reproduce this on other platforms able to run the non-Blocks
libdispatch without much difficulty.
If you update to at least r45 of libdispatch, you should now be able to do:
CC=clang ./configure --with-blocks-runtime=/usr/local/lib
and get a libdispatch with Blocks support.
The reason for the configure argument is that the current clang-devel package
doesn't automatically add libBlocksRuntime dependency for binaries compiled
with -fblocks. Once Blocks support shakes out a bit more in clang/FreeBSD,
this should go away.
I am able to run basic Blocks-based test tools with GCD on FreeBSD without
difficulty. The FreeBSD port should be updated to reflect this shortly.
Robert N M Watson
University of Cambridge
More information about the libdispatch-dev