Merge "Add export_include_dirs to the local include path"

am: 7eaa5c8824

Change-Id: I010919ca36256d42b232294fd6c19b3603abea6b
This commit is contained in:
Dan Willemsen 2016-11-10 05:52:26 +00:00 committed by android-build-merger
commit 4bd310a28a
2 changed files with 18 additions and 5 deletions

View File

@ -150,11 +150,14 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags) Flag
flags.YaccFlags = append(flags.YaccFlags, esc(compiler.Properties.Yaccflags)...) flags.YaccFlags = append(flags.YaccFlags, esc(compiler.Properties.Yaccflags)...)
// Include dir cflags // Include dir cflags
rootIncludeDirs := android.PathsForSource(ctx, compiler.Properties.Include_dirs)
localIncludeDirs := android.PathsForModuleSrc(ctx, compiler.Properties.Local_include_dirs) localIncludeDirs := android.PathsForModuleSrc(ctx, compiler.Properties.Local_include_dirs)
flags.GlobalFlags = append(flags.GlobalFlags, if len(localIncludeDirs) > 0 {
includeDirsToFlags(localIncludeDirs), flags.GlobalFlags = append(flags.GlobalFlags, includeDirsToFlags(localIncludeDirs))
includeDirsToFlags(rootIncludeDirs)) }
rootIncludeDirs := android.PathsForSource(ctx, compiler.Properties.Include_dirs)
if len(rootIncludeDirs) > 0 {
flags.GlobalFlags = append(flags.GlobalFlags, includeDirsToFlags(rootIncludeDirs))
}
if !ctx.noDefaultCompilerFlags() { if !ctx.noDefaultCompilerFlags() {
if !ctx.sdk() || ctx.Host() { if !ctx.sdk() || ctx.Host() {

View File

@ -74,7 +74,8 @@ type LibraryProperties struct {
type FlagExporterProperties struct { type FlagExporterProperties struct {
// list of directories relative to the Blueprints file that will // list of directories relative to the Blueprints file that will
// be added to the include path using -I for any module that links against this module // be added to the include path (using -I) for this module and any module that links
// against this module
Export_include_dirs []string `android:"arch_variant"` Export_include_dirs []string `android:"arch_variant"`
} }
@ -251,6 +252,15 @@ func (library *libraryDecorator) linkerFlags(ctx ModuleContext, flags Flags) Fla
return flags return flags
} }
func (library *libraryDecorator) compilerFlags(ctx ModuleContext, flags Flags) Flags {
exportIncludeDirs := android.PathsForModuleSrc(ctx, library.flagExporter.Properties.Export_include_dirs)
if len(exportIncludeDirs) > 0 {
flags.GlobalFlags = append(flags.GlobalFlags, includeDirsToFlags(exportIncludeDirs))
}
return library.baseCompiler.compilerFlags(ctx, flags)
}
func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) Objects { func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) Objects {
objs := library.baseCompiler.compile(ctx, flags, deps) objs := library.baseCompiler.compile(ctx, flags, deps)
library.reuseObjects = objs library.reuseObjects = objs