Fix a bug where CppFlags should have been Cppflags

Bug: 278789968
Test: unit test and manual build
Change-Id: I9abb056e6b820414707247d1b19ba6aabffc26ea
This commit is contained in:
Yu Liu 2023-05-01 13:49:52 -07:00
parent 316b0158fe
commit 93893ba061
2 changed files with 41 additions and 1 deletions

View file

@ -4483,3 +4483,43 @@ cc_library {
},
})
}
func TestCcLibraryCppFlagsInProductVariables(t *testing.T) {
runCcLibraryTestCase(t, Bp2buildTestCase{
Description: "cc_library cppflags in product variables",
ModuleTypeUnderTest: "cc_library",
ModuleTypeUnderTestFactory: cc.LibraryFactory,
Blueprint: soongCcLibraryPreamble + `cc_library {
name: "a",
srcs: ["a.cpp"],
cppflags: [
"-Wextra",
"-DDEBUG_ONLY_CODE=0",
],
product_variables: {
eng: {
cppflags: [
"-UDEBUG_ONLY_CODE",
"-DDEBUG_ONLY_CODE=1",
],
},
},
include_build_directory: false,
}
`,
ExpectedBazelTargets: makeCcLibraryTargets("a", AttrNameToString{
"cppflags": `[
"-Wextra",
"-DDEBUG_ONLY_CODE=0",
] + select({
"//build/bazel/product_variables:eng": [
"-UDEBUG_ONLY_CODE",
"-DDEBUG_ONLY_CODE=1",
],
"//conditions:default": [],
})`,
"srcs": `["a.cpp"]`,
}),
},
)
}

View file

@ -528,7 +528,7 @@ func (ca *compilerAttributes) convertProductVariables(ctx android.BazelConversio
productVarPropNameToAttribute := map[string]*bazel.StringListAttribute{
"Cflags": &ca.copts,
"Asflags": &ca.asFlags,
"CppFlags": &ca.cppFlags,
"Cppflags": &ca.cppFlags,
}
for propName, attr := range productVarPropNameToAttribute {
if productConfigProps, exists := productVariableProps[propName]; exists {