Support installing non-native arch binaries
am: 17f052647f
* commit '17f052647f5e4afcb3f5c4142d9a2ccec627faab':
Support installing non-native arch binaries
Change-Id: I66ec9efe6e1362c31f1b0388e26a5815a70ae7bc
This commit is contained in:
@@ -303,6 +303,7 @@ type Arch struct {
|
|||||||
CpuVariant string
|
CpuVariant string
|
||||||
Abi []string
|
Abi []string
|
||||||
ArchFeatures []string
|
ArchFeatures []string
|
||||||
|
Native bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a Arch) String() string {
|
func (a Arch) String() string {
|
||||||
@@ -911,6 +912,9 @@ func decodeArchProductVariables(variables productVariables) (map[HostType][]Arch
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
if deviceArch.ArchType.Multilib == deviceSecondaryArch.ArchType.Multilib {
|
||||||
|
deviceSecondaryArch.Native = false
|
||||||
|
}
|
||||||
deviceArches = append(deviceArches, deviceSecondaryArch)
|
deviceArches = append(deviceArches, deviceSecondaryArch)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -973,6 +977,7 @@ func decodeMegaDevice() ([]Arch, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
arch.Native = false
|
||||||
ret = append(ret, arch)
|
ret = append(ret, arch)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1005,6 +1010,7 @@ func decodeArch(arch string, archVariant, cpuVariant *string, abi *[]string) (Ar
|
|||||||
ArchVariant: stringPtr(archVariant),
|
ArchVariant: stringPtr(archVariant),
|
||||||
CpuVariant: stringPtr(cpuVariant),
|
CpuVariant: stringPtr(cpuVariant),
|
||||||
Abi: slicePtr(abi),
|
Abi: slicePtr(abi),
|
||||||
|
Native: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
if a.ArchVariant == a.ArchType.Name || a.ArchVariant == "generic" {
|
if a.ArchVariant == a.ArchType.Name || a.ArchVariant == "generic" {
|
||||||
|
3
cc/cc.go
3
cc/cc.go
@@ -1347,6 +1347,9 @@ func (installer *baseInstaller) install(ctx ModuleContext, file android.Path) {
|
|||||||
if ctx.toolchain().Is64Bit() && installer.dir64 != "" {
|
if ctx.toolchain().Is64Bit() && installer.dir64 != "" {
|
||||||
subDir = installer.dir64
|
subDir = installer.dir64
|
||||||
}
|
}
|
||||||
|
if !ctx.Host() && !ctx.Arch().Native {
|
||||||
|
subDir = filepath.Join(subDir, ctx.Arch().ArchType.String())
|
||||||
|
}
|
||||||
dir := android.PathForModuleInstall(ctx, subDir, installer.Properties.Relative_install_path)
|
dir := android.PathForModuleInstall(ctx, subDir, installer.Properties.Relative_install_path)
|
||||||
installer.path = ctx.InstallFile(dir, file)
|
installer.path = ctx.InstallFile(dir, file)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user