-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Build System: CMake] Update the default install_name_dir to /usr/lib/swift for the standard library and overlays. #24382
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
[Build System: CMake] Update the default install_name_dir to /usr/lib/swift for the standard library and overlays. #24382
Conversation
…e platforms (except for XCTest).
…ary install_name_dir. Those libraries are not going to be installed in /usr/lib/swift and thus need to be controlled via a separate mechanism.
…ary to DARWIN_INSTALL_NAME_DIR which better explains that this argument only controls the install_name_dir for Darwin platforms.
@swift-ci please smoke test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there some private changes that require this to be a parameter? I really want to move towards using CMake rather than the custom variant that we keep building and tearing down. Can we not just use the global variable in the core add_library_single rather than passing it down all the way?
@swift-ci please smoke test Linux platform |
@compnerd I'm not sure what global variable you are referencing. We intend to change this |
@Rostepher |
@compnerd I realize that and we are using that variable for all the public stdlib content. The private content that isn't actually installed now uses |
Oh, I get it now. You are using that to override the value. I wonder if we can infer the private-ness/public-ness and avoid passing this down. But, if there isn't a way to do that, I imagine that you need this right now, so we can deal with rewriting this later. |
I thought about trying to infer the value, but it seemed messier to me to have even more magic inside |
I think that we should reconsider that. We need to move away from the custom argument thing so that we can adopt regular CMake best practices. The current mechanism really breaks cross-compilation and we need to strip out the changes to make that work properly. |
`install_name_dir` for the standard library has been changed from @rpath to /usr/lib/swift in swiftlang#24382. This patch may resolve "Library not loaded: /usr/lib/swift/libswiftTensorFlow.dylib" linker issues: tensorflow/swift-apis#136
…25328) `install_name_dir` for the standard library has been changed from @rpath to /usr/lib/swift in #24382. This patch resolves linker issues on macOS: "Library not loaded: /usr/lib/swift/libswiftTensorFlow.dylib" See tensorflow/swift-apis#136 for more information.
rdar://46736483