Merge "Remove soong.config, FileConfigurableOptions, MegaDevice config."

This commit is contained in:
Jingwen Chen 2020-12-03 02:07:35 +00:00 committed by Gerrit Code Review
commit 97d85c8a61
5 changed files with 4 additions and 108 deletions

View File

@ -1337,17 +1337,6 @@ func decodeTargetProductVariables(config *config) (map[OsType][]Target, error) {
addTarget(BuildOs, *variables.HostSecondaryArch, nil, nil, nil, NativeBridgeDisabled, nil, nil)
}
// An optional host target that uses the Bionic glibc runtime.
if Bool(config.Host_bionic) {
addTarget(LinuxBionic, "x86_64", nil, nil, nil, NativeBridgeDisabled, nil, nil)
}
// An optional cross-compiled host target that uses the Bionic glibc runtime on an arm64
// architecture.
if Bool(config.Host_bionic_arm64) {
addTarget(LinuxBionic, "arm64", nil, nil, nil, NativeBridgeDisabled, nil, nil)
}
// Optional cross-compiled host targets, generally Windows.
if String(variables.CrossHost) != "" {
crossHostOs := osByName(*variables.CrossHost)
@ -1437,53 +1426,6 @@ type archConfig struct {
abi []string
}
// getMegaDeviceConfig returns a list of archConfigs for every architecture simultaneously.
func getMegaDeviceConfig() []archConfig {
return []archConfig{
{"arm", "armv7-a", "generic", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "generic", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "cortex-a7", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "cortex-a8", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "cortex-a9", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "cortex-a15", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "cortex-a53", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "cortex-a53.a57", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "cortex-a72", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "cortex-a73", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "cortex-a75", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "cortex-a76", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "krait", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "kryo", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "kryo385", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "exynos-m1", []string{"armeabi-v7a"}},
{"arm", "armv7-a-neon", "exynos-m2", []string{"armeabi-v7a"}},
{"arm64", "armv8-a", "cortex-a53", []string{"arm64-v8a"}},
{"arm64", "armv8-a", "cortex-a72", []string{"arm64-v8a"}},
{"arm64", "armv8-a", "cortex-a73", []string{"arm64-v8a"}},
{"arm64", "armv8-a", "kryo", []string{"arm64-v8a"}},
{"arm64", "armv8-a", "exynos-m1", []string{"arm64-v8a"}},
{"arm64", "armv8-a", "exynos-m2", []string{"arm64-v8a"}},
{"arm64", "armv8-2a", "kryo385", []string{"arm64-v8a"}},
{"arm64", "armv8-2a-dotprod", "cortex-a55", []string{"arm64-v8a"}},
{"arm64", "armv8-2a-dotprod", "cortex-a75", []string{"arm64-v8a"}},
{"arm64", "armv8-2a-dotprod", "cortex-a76", []string{"arm64-v8a"}},
{"x86", "", "", []string{"x86"}},
{"x86", "atom", "", []string{"x86"}},
{"x86", "haswell", "", []string{"x86"}},
{"x86", "ivybridge", "", []string{"x86"}},
{"x86", "sandybridge", "", []string{"x86"}},
{"x86", "silvermont", "", []string{"x86"}},
{"x86", "stoneyridge", "", []string{"x86"}},
{"x86", "x86_64", "", []string{"x86"}},
{"x86_64", "", "", []string{"x86_64"}},
{"x86_64", "haswell", "", []string{"x86_64"}},
{"x86_64", "ivybridge", "", []string{"x86_64"}},
{"x86_64", "sandybridge", "", []string{"x86_64"}},
{"x86_64", "silvermont", "", []string{"x86_64"}},
{"x86_64", "stoneyridge", "", []string{"x86_64"}},
}
}
// getNdkAbisConfig returns a list of archConfigs for the ABIs supported by the NDK.
func getNdkAbisConfig() []archConfig {
return []archConfig{

View File

@ -54,28 +54,9 @@ var FutureApiLevel = ApiLevel{
isPreview: true,
}
// configFileName is the name the file containing FileConfigurableOptions from
// soong_ui for the soong_build primary builder.
const configFileName = "soong.config"
// productVariablesFileName contain the product configuration variables from soong_ui for the
// soong_build primary builder and Kati.
// The product variables file name, containing product config from Kati.
const productVariablesFileName = "soong.variables"
// A FileConfigurableOptions contains options which can be configured by the
// config file. These will be included in the config struct.
type FileConfigurableOptions struct {
Mega_device *bool `json:",omitempty"`
Host_bionic *bool `json:",omitempty"`
Host_bionic_arm64 *bool `json:",omitempty"`
}
// SetDefaultConfig resets the receiving FileConfigurableOptions to default
// values.
func (f *FileConfigurableOptions) SetDefaultConfig() {
*f = FileConfigurableOptions{}
}
// A Config object represents the entire build configuration for Android.
type Config struct {
*config
@ -97,12 +78,8 @@ type DeviceConfig struct {
type VendorConfig soongconfig.SoongConfig
// Definition of general build configuration for soong_build. Some of these
// configuration values are generated from soong_ui for soong_build,
// communicated over JSON files like soong.config or soong.variables.
// product configuration values are read from Kati-generated soong.variables.
type config struct {
// Options configurable with soong.confg
FileConfigurableOptions
// Options configurable with soong.variables
productVariables productVariables
@ -113,7 +90,6 @@ type config struct {
// purposes.
BazelContext BazelContext
ConfigFileName string
ProductVariablesFileName string
Targets map[OsType][]Target
@ -170,11 +146,6 @@ type jsonConfigurable interface {
}
func loadConfig(config *config) error {
err := loadFromConfigFile(&config.FileConfigurableOptions, absolutePath(config.ConfigFileName))
if err != nil {
return err
}
return loadFromConfigFile(&config.productVariables, absolutePath(config.ProductVariablesFileName))
}
@ -384,7 +355,6 @@ func ConfigForAdditionalRun(c Config) (Config, error) {
func NewConfig(srcDir, buildDir string, moduleListFile string) (Config, error) {
// Make a config with default options.
config := &config{
ConfigFileName: filepath.Join(buildDir, configFileName),
ProductVariablesFileName: filepath.Join(buildDir, productVariablesFileName),
env: originalEnv,
@ -439,9 +409,7 @@ func NewConfig(srcDir, buildDir string, moduleListFile string) (Config, error) {
targets[CommonOS] = []Target{commonTargetMap[CommonOS.Name]}
var archConfig []archConfig
if Bool(config.Mega_device) {
archConfig = getMegaDeviceConfig()
} else if config.NdkAbis() {
if config.NdkAbis() {
archConfig = getNdkAbisConfig()
} else if config.AmlAbis() {
archConfig = getAmlAbisConfig()
@ -864,11 +832,6 @@ func (c *config) DevicePrimaryArchType() ArchType {
return c.Targets[Android][0].Arch.ArchType
}
func (c *config) SkipMegaDeviceInstall(path string) bool {
return Bool(c.Mega_device) &&
strings.HasPrefix(path, filepath.Join(c.buildDir, "target", "product"))
}
func (c *config) SanitizeHost() []string {
return append([]string(nil), c.productVariables.SanitizeHost...)
}

View File

@ -78,11 +78,6 @@ func TestProductConfigAnnotations(t *testing.T) {
if err != nil {
t.Errorf(err.Error())
}
validateConfigAnnotations(&FileConfigurableOptions{})
if err != nil {
t.Errorf(err.Error())
}
}
func TestMissingVendorConfig(t *testing.T) {

View File

@ -2399,10 +2399,6 @@ func (m *moduleContext) skipInstall(fullInstallPath InstallPath) bool {
if m.Config().KatiEnabled() && !m.InstallBypassMake() {
return true
}
if m.Config().SkipMegaDeviceInstall(fullInstallPath.String()) {
return true
}
}
return false

View File

@ -79,7 +79,7 @@ func main() {
srcDir := filepath.Dir(flag.Arg(0))
var ctx *android.Context
configuration := newConfig(srcDir)
extraNinjaDeps := []string{configuration.ConfigFileName, configuration.ProductVariablesFileName}
extraNinjaDeps := []string{configuration.ProductVariablesFileName}
// Read the SOONG_DELVE again through configuration so that there is a dependency on the environment variable
// and soong_build will rerun when it is set for the first time.