On Sep 14, 2009, at 1:05 PM, Robert Watson wrote:
I have committed an initial autoconf/automake/libtool build framework to libdispatch svn, and a first cut at conditionally compiling Apple-specific pieces of libdispatch. This allows libdispatch to build on both FreeBSD and Mac OS X Snow Leopard.
Awesome news, thanks Robert! Since I'm sure the question is on everyone's minds, could you say a thing or two about the functionality of the "port" at this stage? Does this simply compile but not run, or is there a limited subset of APIs which are already callable? Regarding the compiler and blocks support, one assumes that the existing clang work in FreeBSD can be directly leveraged since clang has supported blocks since earlier this summer and GCD is happy to build with clang. There's also Apple's GCC branch (svn://gcc.gnu.org/svn/gcc/branches/apple-200511-release-branch is the right one, I *think*, though there's also the definitive source drop for SnowLeopard which we publish at http://www.opensource.apple.com/source/gcc/gcc-5646 , so it's probably not even necessary to look through the FSF's branches. I'm not sure how much work our code drop will require to build on FreeBSD - it doesn't quite build out of the box (I tried) but I suspect the block support changes could just as easily be pulled out and retrofitted to FreeBSD's default compiler in any case. We build things differently at Apple, and I suspect the problems I'm having building our branch reflect that, so simply pulling the relevant changes out would sort of cut the Gordion knot here. Then again, there's clang, which represents the path forward for all the *BSDs, at least. GCC+Blocks is more of a Linux requirement. - Jordan