[libdispatch-dev] [PATCH] Support for the GNUstep Objective-C/Blocks runtime

Mark Heily mark at heily.com
Mon Mar 19 19:05:10 PDT 2012


On 03/11/2012 06:10 PM, Niels Grewe wrote:
> Hi all,
>
> the GNUstep project maintains an Objective-C runtime library [0] that
> also features support for blocks. Until very recently, we were exposing
> quite a bit less about the block data structures than the blocks runtime
> from compiler-rt, but I just got around to adding them to a public
> header. Now it works like a charm with libdispatch and I was hoping that
> you might be willing to include the attached patch, which enables the
> configure script to detect the presence of a blocks-enabled Objective-C
> runtime.

The next release of the BlocksRuntime library will be designed to work 
in harmony with libobjc2. This will be achieved by making all of the 
exported ELF symbols weak. This means you can link with both 
-lBlocksRuntime and -lobjc, and the strong symbols in libobjc2 will take 
precedence. I've done some testing using the libdispatch testsuite, and 
it seems to work fine.

So, what I'm suggesting is that libdispatch continue to use the 
BlocksRuntime library, and Objective-C programs that link against 
libobjc2 will be automatically switched over to the Objective-C blocks 
runtime.

Here is the URL if anyone wants to test it prior to the release:

     svn://mark.heily.com/libBlocksRuntime/branches/objc2

Regards,

  - Mark


More information about the libdispatch-dev mailing list