[libdispatch-dev] libdispatch port to FreeBSD (was: [libdispatch-changes] [27] trunk/src)

Jordan K. Hubbard jkh at apple.com
Mon Sep 14 14:20:00 PDT 2009


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






More information about the libdispatch-dev mailing list