diff options
-rw-r--r-- | android/config.go | 5 | ||||
-rw-r--r-- | android/variable.go | 2 | ||||
-rw-r--r-- | cc/strip.go | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/android/config.go b/android/config.go index 9ccd09990..2a4b9272b 100644 --- a/android/config.go +++ b/android/config.go @@ -200,6 +200,11 @@ func (c Config) ReleaseAconfigValueSets() []string { return c.config.productVariables.ReleaseAconfigValueSets } +// If native modules should have symbols stripped by default. Default false, enabled for build tools +func (c Config) StripByDefault() bool { + return proptools.Bool(c.config.productVariables.StripByDefault) +} + func (c Config) ReleaseAconfigExtraReleaseConfigs() []string { result := []string{} if val, ok := c.config.productVariables.BuildFlags["RELEASE_ACONFIG_EXTRA_RELEASE_CONFIGS"]; ok { diff --git a/android/variable.go b/android/variable.go index 853d8efb7..9905b77f9 100644 --- a/android/variable.go +++ b/android/variable.go @@ -554,6 +554,8 @@ type ProductVariables struct { OdmManifestFiles []string `json:",omitempty"` UseSoongNoticeXML *bool `json:",omitempty"` + + StripByDefault *bool `json:",omitempty"` } type PartitionQualifiedVariablesType struct { diff --git a/cc/strip.go b/cc/strip.go index 32ea38df1..42c9137b7 100644 --- a/cc/strip.go +++ b/cc/strip.go @@ -52,7 +52,7 @@ type Stripper struct { func (stripper *Stripper) NeedsStrip(actx android.ModuleContext) bool { forceDisable := Bool(stripper.StripProperties.Strip.None) // Strip is enabled by default for device variants. - defaultEnable := actx.Device() + defaultEnable := actx.Device() || actx.Config().StripByDefault() forceEnable := Bool(stripper.StripProperties.Strip.All) || Bool(stripper.StripProperties.Strip.Keep_symbols) || Bool(stripper.StripProperties.Strip.Keep_symbols_and_debug_frame) |