Skip to content

Next step in connecting libdispatch and foundation builds #256

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 25, 2016
Merged

Next step in connecting libdispatch and foundation builds #256

merged 1 commit into from
Feb 25, 2016

Conversation

dgrove-oss
Copy link
Contributor

If the foundation build script is invoked from build-script-impl
with libdispatch enabled then add includes and define to CFLAGS.

Add another case in which HAS_DISPATCH is set to 1 that will
be enabled by the CFLAGS set in build.py (staging while work in
progress).

If the foundation build script is invoked from build-script-impl
with libdispatch enabled then add includes and define to CFLAGS.

Add another case in which __HAS_DISPATCH__ is set to 1 that will
be enabled by the CFLAGS set in build.py (staging while work in
progress).
@parkera
Copy link
Contributor

parkera commented Feb 5, 2016

I assume eventually this would just always be set, right?

@dgrove-oss
Copy link
Contributor Author

I think once we get over the initial hump of getting things working it could make sense to enable dispatch by default for foundation. Dispatch does currently drag in a dependency on libkqueue that is easily satisfiable on ubuntu 14 and ubuntu 15 via apt-get. This may not be true on other Linux distros (at first glance I didn't find a libkqueue available via yum for CentOS or RHEL).

@phausler
Copy link
Contributor

phausler commented Feb 5, 2016

What are the corresponding swift repo commits for this?

@phausler
Copy link
Contributor

phausler commented Feb 5, 2016

Also i presume this is using the blocks runtime too? perhaps we should snippet out that portion of compilation as well in the build.py

@dgrove-oss
Copy link
Contributor Author

The related pull requests are in swift swiftlang/swift#1212 and in libdispatch swiftlang/swift-corelibs-libdispatch#43. It would be nice to apply them all at about the same time, but they are not really dependent on each other since building libdispatch is left disabled by default.

Note that, CFRunLoop won't compile against libdispatch on linux yet because the APIs are still using mach_ types. We could try to get it all working at once, but I thought a series of smaller commits that leave things disabled would be easier to merge. Should I try to do in a single step?

@dgrove-oss
Copy link
Contributor Author

Based on mailing list discussion today, I made some minor adjustments on the libdispatch side and raised a new pull request there (swiftlang/swift-corelibs-libdispatch#49). After that clears, I'll make any adjustments needed to this pull request. So, please hold off on merging this for now. Thanks!

@dgrove-oss
Copy link
Contributor Author

No adjustments needed; the -I paths in this pull request are still valid (not impacted by swiftlang/swift-corelibs-libdispatch#49). This could be merged. We're going to need more changes in both dispatch (@seabaylea has swiftlang/swift-corelibs-libdispatch#46 which is being discussed) and also in foundation depending on how libdisaptch-46 pans out before the C code will actually compile.

phausler added a commit that referenced this pull request Feb 25, 2016
Next step in connecting libdispatch and foundation builds
@phausler phausler merged commit 00c384a into swiftlang:master Feb 25, 2016
@dgrove-oss dgrove-oss deleted the libdispatch-build-plumbing branch March 3, 2016 13:55
atrick pushed a commit to atrick/swift-corelibs-foundation that referenced this pull request Jan 12, 2021
Disable testDependenciesUpdatedCXXTibs temporarily
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants