Move runpaths out of global ldflags

am: d30e610

* commit 'd30e610ef24425596d1787755b6f952bb04b6c1d':
  Move runpaths out of global ldflags

Change-Id: I6a486e2c3582b295dabb3585733dc013186a07d3
This commit is contained in:
Dan Willemsen
2016-03-31 20:51:34 +00:00
committed by android-build-merger
3 changed files with 30 additions and 9 deletions

View File

@@ -1086,9 +1086,17 @@ type baseLinker struct {
VariantIsStatic bool `blueprint:"mutated"`
VariantIsStaticBinary bool `blueprint:"mutated"`
}
runPaths []string
}
func (linker *baseLinker) begin(ctx BaseModuleContext) {}
func (linker *baseLinker) begin(ctx BaseModuleContext) {
if ctx.toolchain().Is64Bit() {
linker.runPaths = []string{"../lib64", "lib64"}
} else {
linker.runPaths = []string{"../lib", "lib"}
}
}
func (linker *baseLinker) props() []interface{} {
return []interface{}{&linker.Properties, &linker.dynamicProperties}
@@ -1152,6 +1160,17 @@ func (linker *baseLinker) flags(ctx ModuleContext, flags Flags) Flags {
}
}
if ctx.Host() && !linker.static() {
rpath_prefix := `\$$ORIGIN/`
if ctx.Darwin() {
rpath_prefix = "@loader_path/"
}
for _, rpath := range linker.runPaths {
flags.LdFlags = append(flags.LdFlags, "-Wl,-rpath,"+rpath_prefix+rpath)
}
}
if flags.Clang {
flags.LdFlags = append(flags.LdFlags, toolchain.ToolchainClangLdflags())
} else {
@@ -1781,6 +1800,16 @@ type testLinker struct {
Properties TestLinkerProperties
}
func (test *testLinker) begin(ctx BaseModuleContext) {
test.binaryLinker.begin(ctx)
runpath := "../../lib"
if ctx.toolchain().Is64Bit() {
runpath += "64"
}
test.runPaths = append([]string{runpath}, test.runPaths...)
}
func (test *testLinker) props() []interface{} {
return append(test.binaryLinker.props(), &test.Properties)
}

View File

@@ -57,14 +57,10 @@ var (
darwinX86Ldflags = []string{
"-m32",
"-Wl,-rpath,@loader_path/../lib",
"-Wl,-rpath,@loader_path/lib",
}
darwinX8664Ldflags = []string{
"-m64",
"-Wl,-rpath,@loader_path/../lib64",
"-Wl,-rpath,@loader_path/lib64",
}
darwinClangCflags = append(clangFilterUnknownCflags(darwinCflags), []string{

View File

@@ -56,14 +56,10 @@ var (
linuxX86Ldflags = []string{
"-m32",
`-Wl,-rpath,\$$ORIGIN/../lib`,
`-Wl,-rpath,\$$ORIGIN/lib`,
}
linuxX8664Ldflags = []string{
"-m64",
`-Wl,-rpath,\$$ORIGIN/../lib64`,
`-Wl,-rpath,\$$ORIGIN/lib64`,
}
linuxClangCflags = append(clangFilterUnknownCflags(linuxCflags), []string{