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

Install the SourceKit plugin into Windows toolchains #364

Merged
merged 1 commit into from
Jan 25, 2025

Conversation

ahoppen
Copy link
Member

@ahoppen ahoppen commented Jan 20, 2025

Install the SourceKit plugin, added by swiftlang/sourcekit-lsp#1906 into the Windows toolchains.

rdar://142909870

@@ -37,6 +37,14 @@
<File Source="$(TOOLCHAIN_ROOT)\usr\lib\sourcekitdInProc.lib" />
</Component>

<Component Directory="_usr_lib">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems like the wrong place ... DLLs are placed into the bin directory, lib should have static libraries and import libraries.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These libraries will be opened by SourceKit using dlopen and are not directly linked to SourceKit. Hence, they don’t ned to go into bin for Windows to pick them up and I thus thought that it makes more sense to put them in lib. Happy to change it, if you prefer to have them in bin.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that they should be in bin. Unless they are completely standalone (including any system library dependencies). The current directory is scanned for any dependencies, and having them elsewhere makes that difficult.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These libraries are fully standalone and don’t depend on any of the other libraries in bin.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But that also includes the C/C++ runtimes. They can also be redistributed in the toolchain (and if we run into the cases where we need to, we would fall back to that). In the mean time, note that other "plugin" libraries are loaded from bin on Windows.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I see. Moved it to bin

Install the SourceKit plugin, added by swiftlang/sourcekit-lsp#1906 into the Windows toolchains.

rdar://142909870
@ahoppen ahoppen force-pushed the install-sourcekit-plugin branch from 99384ee to 7ff716c Compare January 22, 2025 00:31
@compnerd
Copy link
Member

Please do a cross-repository test with @swift-ci please build toolchain Windows platform before merging.

@ahoppen
Copy link
Member Author

ahoppen commented Jan 24, 2025

Triggered a toolchain build: swiftlang/swift#37710 (comment)

@bnbarham
Copy link

@ahoppen
Copy link
Member Author

ahoppen commented Jan 25, 2025

Verified that the produced toolchain contains SwiftSourceKitPlugin.dll and SwiftSourceKitClientPlugin.dll.

@ahoppen ahoppen merged commit 48021b9 into swiftlang:main Jan 25, 2025
@ahoppen ahoppen deleted the install-sourcekit-plugin branch January 25, 2025 06:47
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