diff options
author | Jan Altensen <info@stricted.net> | 2020-09-10 15:21:40 +0200 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2020-12-08 22:28:30 +0200 |
commit | 5989a5753335acffaec3fb0b176e2baf08841d52 (patch) | |
tree | ff4fd06a66d7982a3ce81fd10933c06181e590a1 | |
parent | 1666f2c25c4a17f773c07342f15451acd879ad35 (diff) |
soong: allow overriding header files
Change-Id: Ia9d2210605c5927b529fbe9485b0e5abd079f487
-rw-r--r-- | android/config.go | 4 | ||||
-rw-r--r-- | android/variable.go | 2 | ||||
-rw-r--r-- | cc/library.go | 10 |
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) |