Component builds automatically set the rpath to include dependent libraries,
but with a non-component build these are assumed to be linked statically so the
rpath of where to find the libraries to collect install_name info from is
missing. Thus we set the rpath explicitly.
Related articles and documentation:
https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/RunpathDependentLibraries.html
http://log.zyxar.com/blog/2012/03/10/install-name-on-os-x
https://wincent.com/wiki/@executable_path,_@load_path_and_@rpath
Bug swiftshader:68
Change-Id: I0cfe0d26fccf80ff7911846ef013d47daaeb09fd
Reviewed-on: https://swiftshader-review.googlesource.com/10228
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
"/DELAYLOAD:libGLESv2.dll",
]
} else if (is_mac) {
- # On Mac OS the rpath is part of the dylib and a full file path instead of
- # a directory, which is added to the executable at link time.
+ ldflags = [
+ "-rpath",
+ "@executable_path/swiftshader/",
+ ]
} else {
ldflags = [ "-Wl,-rpath=\$ORIGIN/swiftshader" ]
}