beanz added a comment.

It is a bit gross that Python does an @rpath install name, that is generally 
against convention. I can see adding an option to add rpaths to liblldb making 
sense. I certainly agree LLDB shouldn't be in the business of packaging 
transitive dependencies.

In a broader sense, Frameworks are dylibs. They can have all the same rpath 
magic that a dylib has. When you link a macho, the static linker pulls the 
install_name from each dylib you link against and embeds those as the dylibs to 
load. Since Python 3.7's install_name is @rpath based, it means that the 
dynamic linker will look for it in all the @rpath-relative locations specified 
by liblldb when linking. The proposed path in this patch, `-rpath 
"@loader_path/../../../"`, uses the @loader_path expansion which is the 
directory containing the binary that the load command is in (in this case 
liblldb's directory). Popping 3 directories up from that is likely not sane in 
most build configurations, but if it works for you meh...


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69931/new/

https://reviews.llvm.org/D69931



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to