Consistently prepend arch-specific headers
Add variant_prepend to Export_include_dirs, Export_system_include_dirs
and Generated_headers to match Local_include_dirs so that
architecture-specific headers are found before common headers.
Test: m checkbuild
Test: TestIncludeDirectoryOrdering
Change-Id: I2bf9d4373fd256e500c1f8d6c84cf593e8fdd170
diff --git a/cc/cc_test.go b/cc/cc_test.go
index 2d0d78b..ef413fe 100644
--- a/cc/cc_test.go
+++ b/cc/cc_test.go
@@ -4345,12 +4345,12 @@
"${config.ArmToolchainClangCflags}",
"${config.ArmClangArmv7ANeonCflags}",
"${config.ArmClangGenericCflags}",
- "export_include_dirs",
- "linux_export_include_dirs",
- "android_export_include_dirs",
- "arm_export_include_dirs",
- "lib32_export_include_dirs",
"android_arm_export_include_dirs",
+ "lib32_export_include_dirs",
+ "arm_export_include_dirs",
+ "android_export_include_dirs",
+ "linux_export_include_dirs",
+ "export_include_dirs",
"android_arm_local_include_dirs",
"lib32_local_include_dirs",
"arm_local_include_dirs",
diff --git a/cc/compiler.go b/cc/compiler.go
index 78a5a5d..69ead30 100644
--- a/cc/compiler.go
+++ b/cc/compiler.go
@@ -92,7 +92,7 @@
// list of generated headers to add to the include path. These are the names
// of genrule modules.
- Generated_headers []string `android:"arch_variant"`
+ Generated_headers []string `android:"arch_variant,variant_prepend"`
// pass -frtti instead of -fno-rtti
Rtti *bool
diff --git a/cc/library.go b/cc/library.go
index 93bd56c..196d575 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -183,11 +183,11 @@
// be added to the include path (using -I) for this module and any module that links
// against this module. Directories listed in export_include_dirs do not need to be
// listed in local_include_dirs.
- Export_include_dirs []string `android:"arch_variant"`
+ Export_include_dirs []string `android:"arch_variant,variant_prepend"`
// list of directories that will be added to the system include path
// using -isystem for this module and any module that links against this module.
- Export_system_include_dirs []string `android:"arch_variant"`
+ Export_system_include_dirs []string `android:"arch_variant,variant_prepend"`
Target struct {
Vendor, Product struct {