Skip to content

Conversation

@triplef
Copy link
Member

@triplef triplef commented May 7, 2019

This updates the libdispatch runloop integration to be compatible with Apple’s Swift corelibs libdispatch release, which to my knowledge is the most up-to-date and actively maintained release of libdispatch.

In that release, the main queue handle and drain functions have been renamed with a "_4CF" (for CoreFoundation) suffix and have moved to private.h, so we now check for the existance of this header and function names.

Note that libdispatch must be compiled with INSTALL_PRIVATE_HEADERS=YES. Please let me know if there is a good place to document this.

Also fixes the checks for the HAVE_LIBDISPATCH_RUNLOOP define (was inverted) and ensures that both the handle and drain functions are available (as expected by NSRunLoop.m).

This updates the libdispatch runloop integration to be compatible with the Swift corelibs libdispatch release:
https://github.com/apple/swift-corelibs-libdispatch

In that release, the main queue handle and drain functions have been renamed with a "_4CF" (for CoreFoundation) suffix and have moved to private.h, so we now check for the existance of this header and function names.

Note that libdispatch must be compiled with INSTALL_PRIVATE_HEADERS=YES.

Also fixes the checks for the HAVE_LIBDISPATCH_RUNLOOP define (was inverted) and ensures that both the handle and drain functions are available.
@triplef triplef force-pushed the swift-corelibs-libdispatch-compat branch from 7421439 to 43c5cca Compare May 10, 2019 14:18
@triplef
Copy link
Member Author

triplef commented May 13, 2019

This can also be tested using the GNUstep Android toolchain, which this patch is part of.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants