Skip to content
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

Merged
merged 1 commit into from
Jan 21, 2017
Merged

Enable sourcekitd to be built by default on Linux #6858

merged 1 commit into from
Jan 21, 2017

Conversation

alblue
Copy link
Contributor

@alblue alblue commented Jan 17, 2017

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.

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
@alblue
Copy link
Contributor Author

alblue commented Jan 17, 2017

If possible this should e swift-ci tested against Ubuntu 14.04 as well as the normal 16.04, since it has had issues previously (see pull request #5903 and #6807)

@alblue
Copy link
Contributor Author

alblue commented Jan 18, 2017

Can someone kick off a CI test? The checks don't appear to have run.

@slavapestov
Copy link
Contributor

@swift-ci Please smoke test

@slavapestov slavapestov merged commit 8289a19 into swiftlang:master Jan 21, 2017
@alblue
Copy link
Contributor Author

alblue commented Jan 21, 2017 via email

@norio-nomura
Copy link
Contributor

Is it possible to merge this change to swift-3.1-branch?

@alblue
Copy link
Contributor Author

alblue commented Feb 3, 2017

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.

@norio-nomura
Copy link
Contributor

Thank you for reply. I understand. I appreciate your efforts. 🙏

Note that you can build this yourself manually at the moment on swift-3.1;

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.

@slavapestov
Copy link
Contributor

@alblue Can we run the sourcekit tests on Linux also?

norio-nomura added a commit to norio-nomura/docker-sourcekit-builder that referenced this pull request Feb 4, 2017
norio-nomura added a commit to norio-nomura/docker-sourcekit-builder that referenced this pull request Feb 4, 2017
* swift-3120170131a-branch:
  Build once by using swiftlang/swift#6858
  Update to swift-3.1-DEVELOPMENT-SNAPSHOT-2017-01-31-a
@alblue alblue deleted the SR-1676 branch February 20, 2018 11:51
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.

None yet

3 participants