Fix python_binary_host module in mixed build.

Test: USE_BAZEL_ANALYSIS=1 m genfunctosyscallnrs
Test: USE_BAZEL_ANALYSIS=1 m func_to_syscall_nrs
Test: USE_BAZEL_ANALYSIS=1 m libseccomp_policy
Bug: 201094425, 197135289

Change-Id: Ibc8b99a92149410c8a879b7a4facf6c8961a7b9f
This commit is contained in:
Wei Li
2021-10-07 06:26:48 +00:00
parent c7a4de25c1
commit 664a4fd0af
6 changed files with 458 additions and 13 deletions

View File

@@ -36,12 +36,14 @@ type pythonInstaller struct {
path android.InstallPath
androidMkSharedLibs []string
module *Module
}
func NewPythonInstaller(dir, dir64 string) *pythonInstaller {
func NewPythonInstaller(dir, dir64 string, module *Module) *pythonInstaller {
return &pythonInstaller{
dir: dir,
dir64: dir64,
dir: dir,
dir64: dir64,
module: module,
}
}
@@ -59,7 +61,14 @@ func (installer *pythonInstaller) installDir(ctx android.ModuleContext) android.
}
func (installer *pythonInstaller) install(ctx android.ModuleContext, file android.Path) {
installer.path = ctx.InstallFile(installer.installDir(ctx), file.Base(), file)
if ctx.ModuleType() == "python_binary_host" && installer.module.MixedBuildsEnabled(ctx) {
label := installer.module.BazelModuleBase.GetBazelLabel(ctx, installer.module)
binary, _ := ctx.Config().BazelContext.GetPythonBinary(label, android.GetConfigKey(ctx))
bazelBinaryOutPath := android.PathForBazelOut(ctx, binary)
installer.path = ctx.InstallFile(installer.installDir(ctx), bazelBinaryOutPath.Base(), bazelBinaryOutPath)
} else {
installer.path = ctx.InstallFile(installer.installDir(ctx), file.Base(), file)
}
}
func (installer *pythonInstaller) setAndroidMkSharedLibs(sharedLibs []string) {