Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c2746714 authored by Jan Altensen's avatar Jan Altensen Committed by Thomas Patry
Browse files

soong: allow overriding header files

Change-Id: Ia9d2210605c5927b529fbe9485b0e5abd079f487
parent 6d326a29
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -786,6 +786,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) SpecificCameraParametersLibrary() string {
	return String(c.config.productVariables.Lineage.Specific_camera_parameter_library)
}
+2 −0
Original line number Diff line number Diff line
@@ -228,6 +228,8 @@ type productVariables struct {
	DeviceKernelHeaders []string `json:",omitempty"`
	DistDir             *string  `json:",omitempty"`

	TargetSpecificHeaderPath *string `json:",omitempty"`

	ExtraVndkVersions []string `json:",omitempty"`

	NamespacesToExport []string `json:",omitempty"`
+10 −0
Original line number Diff line number Diff line
@@ -319,6 +319,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.Replace(additionalIncludeDirs, " ", " -I", -1)
		}
		flags.GlobalFlags = append(flags.GlobalFlags, "-I" + additionalIncludeDirs)
	}

	exportIncludeDirs := library.flagExporter.exportedIncludes(ctx)
	if len(exportIncludeDirs) > 0 {
		f := includeDirsToFlags(exportIncludeDirs)