Merge "Build System: Fix rpath error if native executable under testcase folder."

This commit is contained in:
Treehugger Robot
2018-05-10 00:41:27 +00:00
committed by Gerrit Code Review

View File

@@ -168,13 +168,17 @@ func (test *testDecorator) linkerDeps(ctx BaseModuleContext, deps Deps) Deps {
} }
func (test *testDecorator) linkerInit(ctx BaseModuleContext, linker *baseLinker) { func (test *testDecorator) linkerInit(ctx BaseModuleContext, linker *baseLinker) {
// add ../../lib[64] to rpath so that out/host/linux-x86/nativetest/<test dir>/<test> can // 1. Add ../../lib[64] to rpath so that out/host/linux-x86/nativetest/<test dir>/<test> can
// find out/host/linux-x86/lib[64]/library.so // find out/host/linux-x86/lib[64]/library.so
runpath := "../../lib" // 2. Add ../../../lib[64] to rpath so that out/host/linux-x86/testcases/<test dir>/<CPU>/<test> can
if ctx.toolchain().Is64Bit() { // also find out/host/linux-x86/lib[64]/library.so
runpath += "64" runpaths := []string{"../../lib", "../../../lib"}
for _, runpath := range runpaths {
if ctx.toolchain().Is64Bit() {
runpath += "64"
}
linker.dynamicProperties.RunPaths = append(linker.dynamicProperties.RunPaths, runpath)
} }
linker.dynamicProperties.RunPaths = append(linker.dynamicProperties.RunPaths, runpath)
// add "" to rpath so that test binaries can find libraries in their own test directory // add "" to rpath so that test binaries can find libraries in their own test directory
linker.dynamicProperties.RunPaths = append(linker.dynamicProperties.RunPaths, "") linker.dynamicProperties.RunPaths = append(linker.dynamicProperties.RunPaths, "")