aboutsummaryrefslogtreecommitdiffstats
path: root/genrule
diff options
context:
space:
mode:
Diffstat (limited to 'genrule')
-rw-r--r--genrule/genrule.go19
1 files changed, 8 insertions, 11 deletions
diff --git a/genrule/genrule.go b/genrule/genrule.go
index b98ccfdb..dc4e9683 100644
--- a/genrule/genrule.go
+++ b/genrule/genrule.go
@@ -194,15 +194,11 @@ func (g *generator) GenerateAndroidBuildActions(ctx android.ModuleContext) {
case "genDir":
genPath := android.PathForModuleGen(ctx, "").String()
var relativePath string
- if path.IsAbs(genPath) {
- var err error
- outputPath := android.PathForOutput(ctx).String()
- relativePath, err = filepath.Rel(genPath, outputPath)
- if err != nil {
- panic(err)
- }
- } else {
- relativePath = genPath
+ var err error
+ outputPath := android.PathForOutput(ctx).String()
+ relativePath, err = filepath.Rel(outputPath, genPath)
+ if err != nil {
+ panic(err)
}
return path.Join("__SBOX_OUT_DIR__", relativePath), nil
default:
@@ -224,11 +220,12 @@ func (g *generator) GenerateAndroidBuildActions(ctx android.ModuleContext) {
}
// tell the sbox command which directory to use as its sandbox root
- sandboxPath := shared.TempDirForOutDir(android.PathForOutput(ctx).String())
+ buildDir := android.PathForOutput(ctx).String()
+ sandboxPath := shared.TempDirForOutDir(buildDir)
// recall that Sprintf replaces percent sign expressions, whereas dollar signs expressions remain as written,
// to be replaced later by ninja_strings.go
- sandboxCommand := fmt.Sprintf("$sboxCmd --sandbox-path %s -c %q $out", sandboxPath, rawCommand)
+ sandboxCommand := fmt.Sprintf("$sboxCmd --sandbox-path %s --output-root %s -c %q $out", sandboxPath, buildDir, rawCommand)
ruleParams := blueprint.RuleParams{
Command: sandboxCommand,