Replace android.BuildOs with Config.BuildOS
Replace the android.BuildOs constant with Config.BuildOS so that it can vary based on the product config. Bug: 190084016 Test: all Soong tests Change-Id: Ia67f872d8b2ab788747a22e3a9659dc21c9775cd
This commit is contained in:
@@ -290,28 +290,6 @@ func osByName(name string) OsType {
|
||||
return NoOsType
|
||||
}
|
||||
|
||||
// BuildOs returns the OsType for the OS that the build is running on.
|
||||
var BuildOs = func() OsType {
|
||||
switch runtime.GOOS {
|
||||
case "linux":
|
||||
return Linux
|
||||
case "darwin":
|
||||
return Darwin
|
||||
default:
|
||||
panic(fmt.Sprintf("unsupported OS: %s", runtime.GOOS))
|
||||
}
|
||||
}()
|
||||
|
||||
// BuildArch returns the ArchType for the CPU that the build is running on.
|
||||
var BuildArch = func() ArchType {
|
||||
switch runtime.GOARCH {
|
||||
case "amd64":
|
||||
return X86_64
|
||||
default:
|
||||
panic(fmt.Sprintf("unsupported Arch: %s", runtime.GOARCH))
|
||||
}
|
||||
}()
|
||||
|
||||
var (
|
||||
// osTypeList contains a list of all the supported OsTypes, including ones not supported
|
||||
// by the current build host or the target device.
|
||||
@@ -1397,6 +1375,31 @@ func (m *ModuleBase) setArchProperties(ctx BottomUpMutatorContext) {
|
||||
}
|
||||
}
|
||||
|
||||
// determineBuildOS stores the OS and architecture used for host targets used during the build into
|
||||
// config based on the runtime OS and architecture determined by Go.
|
||||
func determineBuildOS(config *config) {
|
||||
config.BuildOS = func() OsType {
|
||||
switch runtime.GOOS {
|
||||
case "linux":
|
||||
return Linux
|
||||
case "darwin":
|
||||
return Darwin
|
||||
default:
|
||||
panic(fmt.Sprintf("unsupported OS: %s", runtime.GOOS))
|
||||
}
|
||||
}()
|
||||
|
||||
config.BuildArch = func() ArchType {
|
||||
switch runtime.GOARCH {
|
||||
case "amd64":
|
||||
return X86_64
|
||||
default:
|
||||
panic(fmt.Sprintf("unsupported Arch: %s", runtime.GOARCH))
|
||||
}
|
||||
}()
|
||||
|
||||
}
|
||||
|
||||
// Convert the arch product variables into a list of targets for each OsType.
|
||||
func decodeTargetProductVariables(config *config) (map[OsType][]Target, error) {
|
||||
variables := config.productVariables
|
||||
@@ -1430,9 +1433,9 @@ func decodeTargetProductVariables(config *config) (map[OsType][]Target, error) {
|
||||
hostCross := false
|
||||
if os.Class == Host {
|
||||
var osSupported bool
|
||||
if os == BuildOs {
|
||||
if os == config.BuildOS {
|
||||
osSupported = true
|
||||
} else if BuildOs.Linux() && os.Linux() {
|
||||
} else if config.BuildOS.Linux() && os.Linux() {
|
||||
// LinuxBionic and Linux are compatible
|
||||
osSupported = true
|
||||
} else {
|
||||
@@ -1470,11 +1473,11 @@ func decodeTargetProductVariables(config *config) (map[OsType][]Target, error) {
|
||||
}
|
||||
|
||||
// The primary host target, which must always exist.
|
||||
addTarget(BuildOs, *variables.HostArch, nil, nil, nil, NativeBridgeDisabled, nil, nil)
|
||||
addTarget(config.BuildOS, *variables.HostArch, nil, nil, nil, NativeBridgeDisabled, nil, nil)
|
||||
|
||||
// An optional secondary host target.
|
||||
if variables.HostSecondaryArch != nil && *variables.HostSecondaryArch != "" {
|
||||
addTarget(BuildOs, *variables.HostSecondaryArch, nil, nil, nil, NativeBridgeDisabled, nil, nil)
|
||||
addTarget(config.BuildOS, *variables.HostSecondaryArch, nil, nil, nil, NativeBridgeDisabled, nil, nil)
|
||||
}
|
||||
|
||||
// Optional cross-compiled host targets, generally Windows.
|
||||
|
Reference in New Issue
Block a user