diff options
Diffstat (limited to 'python/builder.go')
-rw-r--r-- | python/builder.go | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/python/builder.go b/python/builder.go index e277bfd9a..e3b490cff 100644 --- a/python/builder.go +++ b/python/builder.go @@ -54,7 +54,6 @@ var ( embeddedPar = pctx.AndroidStaticRule("embeddedPar", blueprint.RuleParams{ - // `echo -n` to trim the newline, since the python code just wants the name Command: `rm -f $out.main && ` + `sed 's/ENTRY_POINT/$main/' build/soong/python/scripts/main.py >$out.main &&` + `$mergeParCmd -p -pm $out.main --prefix $launcher $out $srcsZips && ` + @@ -62,6 +61,14 @@ var ( CommandDeps: []string{"$mergeParCmd", "$parCmd", "build/soong/python/scripts/main.py"}, }, "main", "srcsZips", "launcher") + + embeddedParNoMain = pctx.AndroidStaticRule("embeddedParNoMain", + blueprint.RuleParams{ + Command: `$mergeParCmd -p --prefix $launcher $out $srcsZips && ` + + `chmod +x $out`, + CommandDeps: []string{"$mergeParCmd"}, + }, + "srcsZips", "launcher") ) func init() { @@ -107,17 +114,30 @@ func registerBuildActionForParFile(ctx android.ModuleContext, embeddedLauncher b // added launcherPath to the implicits Ninja dependencies. implicits = append(implicits, launcherPath.Path()) - ctx.Build(pctx, android.BuildParams{ - Rule: embeddedPar, - Description: "embedded python archive", - Output: binFile, - Implicits: implicits, - Args: map[string]string{ - "main": strings.Replace(strings.TrimSuffix(main, pyExt), "/", ".", -1), - "srcsZips": strings.Join(srcsZips.Strings(), " "), - "launcher": launcherPath.String(), - }, - }) + if main == "" { + ctx.Build(pctx, android.BuildParams{ + Rule: embeddedParNoMain, + Description: "embedded python archive", + Output: binFile, + Implicits: implicits, + Args: map[string]string{ + "srcsZips": strings.Join(srcsZips.Strings(), " "), + "launcher": launcherPath.String(), + }, + }) + } else { + ctx.Build(pctx, android.BuildParams{ + Rule: embeddedPar, + Description: "embedded python archive", + Output: binFile, + Implicits: implicits, + Args: map[string]string{ + "main": strings.Replace(strings.TrimSuffix(main, pyExt), "/", ".", -1), + "srcsZips": strings.Join(srcsZips.Strings(), " "), + "launcher": launcherPath.String(), + }, + }) + } } return binFile |