-
Notifications
You must be signed in to change notification settings - Fork 10.3k
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
Enable sourcekitd to be built by default on Linux #6858
Conversation
The Linux build has a dependency on the libdispatch library, which is needed by the various native libraries for sourcekitd. On macOS, the dependency for libdispatch is satisfied directly through the base OS, but on Linux no such dependency exists. Modify this so that if the SourceKit library is built, and the libdispatch library is already present, then we shell out to make the libdispatch binary project when the SourceKit is built. Issue: SR-1676
Can someone kick off a CI test? The checks don't appear to have run. |
@swift-ci Please smoke test |
Great - this time it has built on Ubuntu 14.04 without problems :-)
https://ci.swift.org/job/oss-swift-incremental-RA-linux-ubuntu-14_04/682/
Sent from my iPhone 📱
… On 21 Jan 2017, at 05:11, Slava Pestov ***@***.***> wrote:
Merged #6858.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Is it possible to merge this change to swift-3.1-branch? |
At the moment, it just builds - but it's not part of the standard package generated by the CI mechanism. I'd like to get that fixed, after which it should be able to be battle tested and then made available in the swift-3.1-branch (assuming it's still open by then). Note that you can build this yourself manually at the moment on swift-3.1; you have to build the project first with dispatch enabled, then run it a second time with the sourcekit enabled, so there's a manual way of doing it for now -- which will be necessary until it's in the downloaded nightlies. |
Thank you for reply. I understand. I appreciate your efforts. 🙏
Yeah, I know the building twice method, and have used sourcekit enabled swift docker images through https://github.com/norio-nomura/docker-sourcekit-builder/ on releases and snapshots. |
@alblue Can we run the sourcekit tests on Linux also? |
* swift-3120170131a-branch: Build once by using swiftlang/swift#6858 Update to swift-3.1-DEVELOPMENT-SNAPSHOT-2017-01-31-a
The Linux build has a dependency on the libdispatch library,
which is needed by the various native libraries for sourcekitd.
On macOS, the dependency for libdispatch is satisfied directly through
the base OS, but on Linux no such dependency exists.
Modify this so that if the SourceKit library is built, and the
libdispatch library is already present, then we shell out to make
the libdispatch binary project when the SourceKit is built.
Issue: SR-1676
This replaces an earlier version which wasn't passing the correct (recently built)
clang, which is why it was failing on Ubuntu 14.04 previously. It now uses the same
logic as for the swift-build-script when building libdispatch, except that the
swift bindings aren't built. Libdispatch will be rebuilt in a subsequent stage with
the swift bindings.
Resolves SR-1676.