summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Altensen <info@stricted.net>2020-09-10 15:21:40 +0200
committerMichael Bestas <mkbestas@lineageos.org>2020-12-08 22:28:30 +0200
commit5989a5753335acffaec3fb0b176e2baf08841d52 (patch)
treeff4fd06a66d7982a3ce81fd10933c06181e590a1
parent1666f2c25c4a17f773c07342f15451acd879ad35 (diff)
soong: allow overriding header files
Change-Id: Ia9d2210605c5927b529fbe9485b0e5abd079f487
-rw-r--r--android/config.go4
-rw-r--r--android/variable.go2
-rw-r--r--cc/library.go10
3 files changed, 16 insertions, 0 deletions
diff --git a/android/config.go b/android/config.go
index 3541f831e..a605cecba 100644
--- a/android/config.go
+++ b/android/config.go
@@ -1041,6 +1041,10 @@ func (c *deviceConfig) DeviceKernelHeaderDirs() []string {
return c.config.productVariables.DeviceKernelHeaders
}
+func (c *deviceConfig) TargetSpecificHeaderPath() string {
+ return String(c.config.productVariables.TargetSpecificHeaderPath)
+}
+
func (c *deviceConfig) SamplingPGO() bool {
return Bool(c.config.productVariables.SamplingPGO)
}
diff --git a/android/variable.go b/android/variable.go
index 983c23567..a4bd6b09b 100644
--- a/android/variable.go
+++ b/android/variable.go
@@ -283,6 +283,8 @@ type productVariables struct {
DeviceKernelHeaders []string `json:",omitempty"`
+ TargetSpecificHeaderPath *string `json:",omitempty"`
+
ExtraVndkVersions []string `json:",omitempty"`
NamespacesToExport []string `json:",omitempty"`
diff --git a/cc/library.go b/cc/library.go
index 3deb17300..7e06564b2 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -539,6 +539,16 @@ func (library *libraryDecorator) linkerFlags(ctx ModuleContext, flags Flags) Fla
}
func (library *libraryDecorator) compilerFlags(ctx ModuleContext, flags Flags, deps PathDeps) Flags {
+ additionalIncludeDirs := ctx.DeviceConfig().TargetSpecificHeaderPath()
+ if len(additionalIncludeDirs) > 0 {
+ // devices can have multiple paths in TARGET_SPECIFIC_HEADER_PATH
+ // add -I in front of all of them
+ if (strings.Contains(additionalIncludeDirs, " ")) {
+ additionalIncludeDirs = strings.ReplaceAll(additionalIncludeDirs, " ", " -I")
+ }
+ flags.Local.CommonFlags = append(flags.Local.CommonFlags, "-I" + additionalIncludeDirs)
+ }
+
exportIncludeDirs := library.flagExporter.exportedIncludes(ctx)
if len(exportIncludeDirs) > 0 {
f := includeDirsToFlags(exportIncludeDirs)