Merge "deletion of clang_cflags & clang_asflags from Soong" am: 68eeffbc40
am: cd346e6757
am: 4479c0fd9d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2154033 Change-Id: I0d2c5eb5a9e0f181268e9d74370e20f14fc8ace4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
d94e297b14
4 changed files with 116 additions and 4 deletions
|
@ -1619,6 +1619,14 @@ func (c *deviceConfig) ShippingApiLevel() ApiLevel {
|
|||
return uncheckedFinalApiLevel(apiLevel)
|
||||
}
|
||||
|
||||
func (c *deviceConfig) BuildBrokenClangAsFlags() bool {
|
||||
return c.config.productVariables.BuildBrokenClangAsFlags
|
||||
}
|
||||
|
||||
func (c *deviceConfig) BuildBrokenClangCFlags() bool {
|
||||
return c.config.productVariables.BuildBrokenClangCFlags
|
||||
}
|
||||
|
||||
func (c *deviceConfig) BuildBrokenClangProperty() bool {
|
||||
return c.config.productVariables.BuildBrokenClangProperty
|
||||
}
|
||||
|
|
|
@ -430,6 +430,8 @@ type productVariables struct {
|
|||
|
||||
ShippingApiLevel *string `json:",omitempty"`
|
||||
|
||||
BuildBrokenClangAsFlags bool `json:",omitempty"`
|
||||
BuildBrokenClangCFlags bool `json:",omitempty"`
|
||||
BuildBrokenClangProperty bool `json:",omitempty"`
|
||||
BuildBrokenDepfile *bool `json:",omitempty"`
|
||||
BuildBrokenEnforceSyspropOwner bool `json:",omitempty"`
|
||||
|
|
|
@ -4386,3 +4386,93 @@ func TestCcBuildBrokenClangProperty(t *testing.T) {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestCcBuildBrokenClangAsFlags(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
clangAsFlags []string
|
||||
BuildBrokenClangAsFlags bool
|
||||
err string
|
||||
}{
|
||||
{
|
||||
name: "error when clang_asflags is set",
|
||||
clangAsFlags: []string{"-a", "-b"},
|
||||
err: "clang_asflags: property is deprecated",
|
||||
},
|
||||
{
|
||||
name: "no error when BuildBrokenClangAsFlags is explicitly set to true",
|
||||
clangAsFlags: []string{"-a", "-b"},
|
||||
BuildBrokenClangAsFlags: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
bp := fmt.Sprintf(`
|
||||
cc_library {
|
||||
name: "foo",
|
||||
clang_asflags: %s,
|
||||
}`, `["`+strings.Join(test.clangAsFlags, `","`)+`"]`)
|
||||
|
||||
if test.err == "" {
|
||||
android.GroupFixturePreparers(
|
||||
prepareForCcTest,
|
||||
android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
|
||||
if test.BuildBrokenClangAsFlags {
|
||||
variables.BuildBrokenClangAsFlags = test.BuildBrokenClangAsFlags
|
||||
}
|
||||
}),
|
||||
).RunTestWithBp(t, bp)
|
||||
} else {
|
||||
prepareForCcTest.
|
||||
ExtendWithErrorHandler(android.FixtureExpectsOneErrorPattern(test.err)).
|
||||
RunTestWithBp(t, bp)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestCcBuildBrokenClangCFlags(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
clangCFlags []string
|
||||
BuildBrokenClangCFlags bool
|
||||
err string
|
||||
}{
|
||||
{
|
||||
name: "error when clang_cflags is set",
|
||||
clangCFlags: []string{"-a", "-b"},
|
||||
err: "clang_cflags: property is deprecated",
|
||||
},
|
||||
{
|
||||
name: "no error when BuildBrokenClangCFlags is explicitly set to true",
|
||||
clangCFlags: []string{"-a", "-b"},
|
||||
BuildBrokenClangCFlags: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
bp := fmt.Sprintf(`
|
||||
cc_library {
|
||||
name: "foo",
|
||||
clang_cflags: %s,
|
||||
}`, `["`+strings.Join(test.clangCFlags, `","`)+`"]`)
|
||||
|
||||
if test.err == "" {
|
||||
android.GroupFixturePreparers(
|
||||
prepareForCcTest,
|
||||
android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
|
||||
if test.BuildBrokenClangCFlags {
|
||||
variables.BuildBrokenClangCFlags = test.BuildBrokenClangCFlags
|
||||
}
|
||||
}),
|
||||
).RunTestWithBp(t, bp)
|
||||
} else {
|
||||
prepareForCcTest.
|
||||
ExtendWithErrorHandler(android.FixtureExpectsOneErrorPattern(test.err)).
|
||||
RunTestWithBp(t, bp)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -441,12 +441,24 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps
|
|||
// TODO: debug
|
||||
flags.Local.CFlags = append(flags.Local.CFlags, esc(compiler.Properties.Release.Cflags)...)
|
||||
|
||||
if !ctx.DeviceConfig().BuildBrokenClangCFlags() && len(compiler.Properties.Clang_cflags) != 0 {
|
||||
ctx.PropertyErrorf("clang_cflags", "property is deprecated, see Changes.md file")
|
||||
} else {
|
||||
CheckBadCompilerFlags(ctx, "clang_cflags", compiler.Properties.Clang_cflags)
|
||||
}
|
||||
if !ctx.DeviceConfig().BuildBrokenClangAsFlags() && len(compiler.Properties.Clang_asflags) != 0 {
|
||||
ctx.PropertyErrorf("clang_asflags", "property is deprecated, see Changes.md file")
|
||||
} else {
|
||||
CheckBadCompilerFlags(ctx, "clang_asflags", compiler.Properties.Clang_asflags)
|
||||
}
|
||||
|
||||
flags.Local.CFlags = config.ClangFilterUnknownCflags(flags.Local.CFlags)
|
||||
if !ctx.DeviceConfig().BuildBrokenClangCFlags() {
|
||||
flags.Local.CFlags = append(flags.Local.CFlags, esc(compiler.Properties.Clang_cflags)...)
|
||||
}
|
||||
if !ctx.DeviceConfig().BuildBrokenClangAsFlags() {
|
||||
flags.Local.AsFlags = append(flags.Local.AsFlags, esc(compiler.Properties.Clang_asflags)...)
|
||||
}
|
||||
flags.Local.CppFlags = config.ClangFilterUnknownCflags(flags.Local.CppFlags)
|
||||
flags.Local.ConlyFlags = config.ClangFilterUnknownCflags(flags.Local.ConlyFlags)
|
||||
flags.Local.LdFlags = config.ClangFilterUnknownCflags(flags.Local.LdFlags)
|
||||
|
|
Loading…
Reference in a new issue