Serialization: avoid pushing static libraries into autolink#63814
Serialization: avoid pushing static libraries into autolink#63814compnerd wants to merge 1 commit into
Conversation
Remove the static libraries from autolinking. This should be safe to do with SPM builds which does not respect the static linking and instead treats all targets as object libraries for static linking. With CMake this should also not be a problem as it already requires dependencies be spelt out and then correctly forms the linker invocation. This prevents us from double linking a library (both into a potential intermediate shared library and any consumers of any public interfaces).
|
This exposes an interesting issue that I was afraid of. There are symbols that may be part of a public interface that cannot be fully internalised. |
|
@swift-ci please build toolchain Windows platform |
|
Please test with following PRs: @swift-ci please build toolchain Windows platform |
|
Please test with following PRs: @swift-ci please build toolchain Windows platform |
|
Please test with following PRs: @swift-ci please test |
|
@swift-ci please test Linux platform |
|
@swift-ci please test |
artemcm
left a comment
There was a problem hiding this comment.
This seems reasonable to me.
|
@swift-ci please test Windows platform |
|
@swift-ci please test Linux platform |
1 similar comment
|
@swift-ci please test Linux platform |
|
@swift-ci please test |
|
@swift-ci please test Linux platform |
Remove the static libraries from autolinking. This should be safe to do with SPM builds which does not respect the static linking and instead treats all targets as object libraries for static linking. With CMake this should also not be a problem as it already requires dependencies be spelt out and then correctly forms the linker invocation. This prevents us from double linking a library (both into a potential intermediate shared library and any consumers of any public interfaces).