diff options
Diffstat (limited to 'python/builder.go')
| -rw-r--r-- | python/builder.go | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/python/builder.go b/python/builder.go index 7d7239c55..b4ab20691 100644 --- a/python/builder.go +++ b/python/builder.go @@ -20,7 +20,6 @@ import ( "strings" "android/soong/android" - "github.com/google/blueprint" _ "github.com/google/blueprint/bootstrap" ) @@ -44,13 +43,15 @@ var ( hostPar = pctx.AndroidStaticRule("hostPar", blueprint.RuleParams{ - Command: `sed -e 's/%interpreter%/$interp/g' -e 's/%main%/$main/g' $template > $stub && ` + + Command: `sed -e 's/%interpreter%/$interp/g' -e 's/%main%/__soong_entrypoint_redirector__.py/g' build/soong/python/scripts/stub_template_host.txt > $out.main && ` + + "sed -e 's/ENTRY_POINT/$main/g' build/soong/python/scripts/main_non_embedded.py >`dirname $out`/__soong_entrypoint_redirector__.py && " + + "$parCmd -o $out.entrypoint_zip -C `dirname $out` -f `dirname $out`/__soong_entrypoint_redirector__.py && " + `echo "#!/usr/bin/env $interp" >${out}.prefix &&` + - `$mergeParCmd -p --prefix ${out}.prefix -pm $stub $out $srcsZips && ` + - `chmod +x $out && (rm -f $stub; rm -f ${out}.prefix)`, - CommandDeps: []string{"$mergeParCmd"}, + `$mergeParCmd -p --prefix ${out}.prefix -pm $out.main $out $srcsZips $out.entrypoint_zip && ` + + "chmod +x $out && (rm -f $out.main; rm -f ${out}.prefix; rm -f $out.entrypoint_zip; rm -f `dirname $out`/__soong_entrypoint_redirector__.py)", + CommandDeps: []string{"$mergeParCmd", "$parCmd", "build/soong/python/scripts/stub_template_host.txt", "build/soong/python/scripts/main_non_embedded.py"}, }, - "interp", "main", "template", "stub", "srcsZips") + "interp", "main", "srcsZips") embeddedPar = pctx.AndroidStaticRule("embeddedPar", blueprint.RuleParams{ @@ -58,7 +59,7 @@ var ( `sed 's/ENTRY_POINT/$main/' build/soong/python/scripts/main.py >$out.main &&` + `$mergeParCmd -p -pm $out.main --prefix $launcher $out $srcsZips && ` + `chmod +x $out && rm -rf $out.main`, - CommandDeps: []string{"$mergeParCmd", "$parCmd", "build/soong/python/scripts/main.py"}, + CommandDeps: []string{"$mergeParCmd", "build/soong/python/scripts/main.py"}, }, "main", "srcsZips", "launcher") @@ -90,13 +91,6 @@ func registerBuildActionForParFile(ctx android.ModuleContext, embeddedLauncher b implicits := srcsZips if !embeddedLauncher { - // the path of stub_template_host.txt from source tree. - template := android.PathForSource(ctx, StubTemplateHost) - implicits = append(implicits, template) - - // intermediate output path for __main__.py - stub := android.PathForModuleOut(ctx, mainFileName).String() - ctx.Build(pctx, android.BuildParams{ Rule: hostPar, Description: "host python archive", @@ -104,9 +98,7 @@ func registerBuildActionForParFile(ctx android.ModuleContext, embeddedLauncher b Implicits: implicits, Args: map[string]string{ "interp": strings.Replace(interpreter, "/", `\/`, -1), - "main": strings.Replace(main, "/", `\/`, -1), - "template": template.String(), - "stub": stub, + "main": strings.Replace(strings.TrimSuffix(main, pyExt), "/", ".", -1), "srcsZips": strings.Join(srcsZips.Strings(), " "), }, }) |