diff --git a/android/prebuilt_build_tool.go b/android/prebuilt_build_tool.go index 1dcf1996b..e2555e4c3 100644 --- a/android/prebuilt_build_tool.go +++ b/android/prebuilt_build_tool.go @@ -14,6 +14,8 @@ package android +import "path/filepath" + func init() { RegisterModuleType("prebuilt_build_tool", prebuiltBuildToolFactory) } @@ -58,13 +60,18 @@ func (t *prebuiltBuildTool) GenerateAndroidBuildActions(ctx ModuleContext) { installedPath := PathForModuleOut(ctx, t.ModuleBase.Name()) deps := PathsForModuleSrc(ctx, t.properties.Deps) + var fromPath = sourcePath.String() + if !filepath.IsAbs(fromPath) { + fromPath = "$$PWD/" + fromPath + } + ctx.Build(pctx, BuildParams{ Rule: Symlink, Output: installedPath, Input: sourcePath, Implicits: deps, Args: map[string]string{ - "fromPath": "$$PWD/" + sourcePath.String(), + "fromPath": fromPath, }, }) diff --git a/cc/prebuilt.go b/cc/prebuilt.go index 1ee096e18..9d1b01608 100644 --- a/cc/prebuilt.go +++ b/cc/prebuilt.go @@ -16,6 +16,7 @@ package cc import ( "android/soong/android" + "path/filepath" ) func init() { @@ -360,13 +361,18 @@ func (p *prebuiltBinaryLinker) link(ctx ModuleContext, sharedLibPaths = append(sharedLibPaths, deps.SharedLibs...) sharedLibPaths = append(sharedLibPaths, deps.LateSharedLibs...) + var fromPath = in.String() + if !filepath.IsAbs(fromPath) { + fromPath = "$$PWD/" + fromPath + } + ctx.Build(pctx, android.BuildParams{ Rule: android.Symlink, Output: outputFile, Input: in, Implicits: sharedLibPaths, Args: map[string]string{ - "fromPath": "$$PWD/" + in.String(), + "fromPath": fromPath, }, })