soong: Add equivalent for LOCAL_EXPORT_CFLAGS

Change-Id: Ieb3e5739b50789bdbaf41a7d5adb04b08f7b9ea2
This commit is contained in:
Alessandro Astone 2020-10-01 12:59:27 +02:00 committed by Bartłomiej Rudecki
parent ba53cd2aba
commit 90d46b8e4b
Signed by: przekichane
GPG key ID: 751F23C6F014EF76
2 changed files with 15 additions and 0 deletions

View file

@ -762,6 +762,13 @@ func cflags(ctx variableAssignmentContext) error {
return includeVariableNow(bpVariable{"cflags", bpparser.ListType}, ctx) return includeVariableNow(bpVariable{"cflags", bpparser.ListType}, ctx)
} }
func exportCflags(ctx variableAssignmentContext) error {
// The Soong replacement for EXPORT_CFLAGS doesn't need the same extra escaped quotes that were present in Make
ctx.mkvalue = ctx.mkvalue.Clone()
ctx.mkvalue.ReplaceLiteral(`\"`, `"`)
return includeVariableNow(bpVariable{"export_cflags", bpparser.ListType}, ctx)
}
func protoOutputParams(ctx variableAssignmentContext) error { func protoOutputParams(ctx variableAssignmentContext) error {
// The Soong replacement for LOCAL_PROTO_JAVA_OUTPUT_PARAMS doesn't need "," // The Soong replacement for LOCAL_PROTO_JAVA_OUTPUT_PARAMS doesn't need ","
ctx.mkvalue = ctx.mkvalue.Clone() ctx.mkvalue = ctx.mkvalue.Clone()

View file

@ -196,6 +196,9 @@ type FlagExporterProperties struct {
// using -isystem for this module and any module that links against this module. // using -isystem for this module and any module that links against this module.
Export_system_include_dirs []string `android:"arch_variant,variant_prepend"` Export_system_include_dirs []string `android:"arch_variant,variant_prepend"`
// list of plain cc flags to be used for any module that links against this module.
Export_cflags []string `android:"arch_variant"`
Target struct { Target struct {
Vendor, Product struct { Vendor, Product struct {
// list of exported include directories, like // list of exported include directories, like
@ -306,6 +309,10 @@ func (f *flagExporter) exportIncludes(ctx ModuleContext) {
f.systemDirs = append(f.systemDirs, android.PathsForModuleSrc(ctx, f.Properties.Export_system_include_dirs)...) f.systemDirs = append(f.systemDirs, android.PathsForModuleSrc(ctx, f.Properties.Export_system_include_dirs)...)
} }
func (f *flagExporter) exportExtraFlags(ctx ModuleContext) {
f.flags = append(f.flags, f.Properties.Export_cflags...)
}
// exportIncludesAsSystem registers the include directories and system include directories to be // exportIncludesAsSystem registers the include directories and system include directories to be
// exported transitively both as system include directories to modules depending on this module. // exported transitively both as system include directories to modules depending on this module.
func (f *flagExporter) exportIncludesAsSystem(ctx ModuleContext) { func (f *flagExporter) exportIncludesAsSystem(ctx ModuleContext) {
@ -1630,6 +1637,7 @@ func (library *libraryDecorator) link(ctx ModuleContext,
// Export include paths and flags to be propagated up the tree. // Export include paths and flags to be propagated up the tree.
library.exportIncludes(ctx) library.exportIncludes(ctx)
library.exportExtraFlags(ctx)
library.reexportDirs(deps.ReexportedDirs...) library.reexportDirs(deps.ReexportedDirs...)
library.reexportSystemDirs(deps.ReexportedSystemDirs...) library.reexportSystemDirs(deps.ReexportedSystemDirs...)
library.reexportFlags(deps.ReexportedFlags...) library.reexportFlags(deps.ReexportedFlags...)