summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dan Willemsen <dwillemsen@google.com> 2020-07-23 16:10:51 -0700
committer Dan Willemsen <dwillemsen@google.com> 2020-07-23 17:39:12 -0700
commitb1d1e0e6bd0f4034752a7c7d15f44e967c485d7b (patch)
treee26e4fae7c0d363e6f68441eedd37f13cfa1beb6
parent1a4ab20c1a1ffdf007584f4c0b101f65ef2d660a (diff)
Fix builds with absolute OUT_DIR
Test: OUT_DIR=$PWD/out m Change-Id: I23887110a6ee1228162f9e1a9fc89a97f45ac781
-rw-r--r--android/prebuilt_build_tool.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/android/prebuilt_build_tool.go b/android/prebuilt_build_tool.go
index a9f29ef69..d457da462 100644
--- a/android/prebuilt_build_tool.go
+++ b/android/prebuilt_build_tool.go
@@ -59,9 +59,15 @@ func (t *prebuiltBuildTool) GenerateAndroidBuildActions(ctx ModuleContext) {
installedPath := PathForModuleOut(ctx, t.ModuleBase.Name())
deps := PathsForModuleSrc(ctx, t.properties.Deps)
- relPath, err := filepath.Rel(path.Dir(installedPath.String()), sourcePath.String())
- if err != nil {
- ctx.ModuleErrorf("Unabled to generate symlink between %q and %q: %s", installedPath.String(), sourcePath.String())
+ var relPath string
+ if filepath.IsAbs(installedPath.String()) {
+ relPath = filepath.Join(absSrcDir, sourcePath.String())
+ } else {
+ var err error
+ relPath, err = filepath.Rel(path.Dir(installedPath.String()), sourcePath.String())
+ if err != nil {
+ ctx.ModuleErrorf("Unable to generate symlink between %q and %q: %s", installedPath.String(), sourcePath.String(), err)
+ }
}
ctx.Build(pctx, BuildParams{