[runtimes] Avoid overwriting the rpath unconditionally
When building the runtimes, it's very important not to add rpaths unless the user explicitly asks for them (the standard way being CMAKE_INSTALL_RPATH), or to change the install name dir unless the user requests it (via CMAKE_INSTALL_NAME_DIR). llvm_setup_rpath() would override the install_name_dir of the runtimes even if CMAKE_INSTALL_NAME_DIR was specified to something, which is wrong and in fact even "dangerous" for the runtimes. This issue was discovered when trying to build libc++ and libc++abi as system libraries for Apple, where we set the install name dir to /usr/lib explicitly. llvm_setup_rpath() would cause libc++ to have the wrong install name dir, and for basically everything on the system to fail to load. This was discovered just now because we previously used something closer to a standalone build, where llvm_setup_rpath() wouldn't exist, and hence not be used. This is a revert of the following commits: libunwind: 3a667b9b libc++abi: 4877063e libc++: 88434fe0 Those added llvm_setup_rpath() for consistency, so it seems reasonable to revert. Differential Revision: https://reviews.llvm.org/D91099
Loading
Please sign in to comment