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