Skip to content

Enable sourcekitd to be built by default on Linux #6807

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
Jan 17, 2017
Merged

Enable sourcekitd to be built by default on Linux #6807

merged 1 commit into from
Jan 17, 2017

Conversation

alblue
Copy link
Contributor

@alblue alblue commented Jan 14, 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 is a resubmission of pull #5903 with an additional fix which should build the Ubuntu 14.04 platform. Since it is environment specific, I have tested it on an Ubuntu 14.04 image that I have used; but I don't know the exact environmental setup of the Ubuntu 14.04 CI bot is.

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

I've tried running this build locally and it does indeed generate the SourceKit files (e.g., libsourcekitdInProc.so).

Of course the question now is will this lead to those assets being distributed? When I run utils/build-script --preset="buildbot_linux_1604" install_destdir="${SWIFT_INSTALL_DIR}" installable_package="${SWIFT_INSTALLABLE_PACKAGE}" the resulting package does not contain anything SourceKit related.

Is that a follow on change or will we not be distributing that library?

@alblue
Copy link
Contributor Author

alblue commented Jan 14, 2017 via email

@slavapestov
Copy link
Contributor

@swift-ci Please smoke test

@alblue
Copy link
Contributor Author

alblue commented Jan 16, 2017

I think it would make sense to add an --install-libsourcekit command line option to the build script, and have that in place for the appropriate installs, similar to the way that --install-libdispatch works.

@slavapestov slavapestov merged commit c85cbe5 into swiftlang:master Jan 17, 2017
@alblue
Copy link
Contributor Author

alblue commented Jan 17, 2017 via email

@alblue
Copy link
Contributor Author

alblue commented Jan 17, 2017 via email

aschwaighofer added a commit that referenced this pull request Jan 17, 2017
Revert "Merge pull request #6807 from alblue/SR-1676"
@alblue
Copy link
Contributor Author

alblue commented Jan 17, 2017

Resubmitted change as pull #6858

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