129 lines
3.6 KiB
Go
129 lines
3.6 KiB
Go
package rkaiqdefaults
|
|
|
|
import (
|
|
"android/soong/android"
|
|
"android/soong/cc"
|
|
"fmt" // required if we want to print usefull messages on the console
|
|
"os"
|
|
)
|
|
|
|
func rkaiqFlags(ctx android.BaseContext) []string {
|
|
var cflags []string
|
|
//fmt.Fprintf(os.Stderr, "%s\n", "deviceFlags called") //example prints
|
|
//fmt.Fprintf(os.Stderr, "%s\n", ctx.AConfig())
|
|
board := ctx.Config().Getenv("TARGET_BOARD_PLATFORM") //currently using this for reference but you can refer to README for other variables.
|
|
fmt.Fprintf(os.Stderr, ">>>>>>>>>>>>>>>>>>>>> %s\n", board)
|
|
if board == "rv1126" {
|
|
cflags = append(cflags, "-DISP_HW_V20")
|
|
}
|
|
if board == "rk356x" {
|
|
cflags = append(cflags, "-DISP_HW_V21")
|
|
}
|
|
if board == "rk3588" {
|
|
cflags = append(cflags, "-DISP_HW_V30")
|
|
}
|
|
if board == "rv1106" {
|
|
cflags = append(cflags, "-DISP_HW_V32")
|
|
}
|
|
if board == "rk3562" {
|
|
cflags = append(cflags, "-DISP_HW_V32_LITE")
|
|
}
|
|
return cflags
|
|
}
|
|
|
|
func rkaiq_get_aiq_version(ctx android.BaseContext) string {
|
|
board := ctx.Config().Getenv("TARGET_BOARD_PLATFORM")
|
|
// fmt.Fprintf(os.Stderr, ">>>>>>>>>>>>>>>>>>>>> %s\n", board)
|
|
return board;
|
|
}
|
|
|
|
func rkaiqDefaults(ctx android.LoadHookContext) {
|
|
type props struct {
|
|
Target struct {
|
|
Android struct {
|
|
Cflags []string
|
|
Enabled *bool
|
|
}
|
|
Host struct {
|
|
Enabled *bool
|
|
}
|
|
Not_windows struct {
|
|
Cflags []string
|
|
}
|
|
}
|
|
Cflags []string
|
|
}
|
|
p := &props{}
|
|
|
|
//p.Cflags = deviceFlags(ctx)
|
|
|
|
soc := rkaiq_get_aiq_version(ctx)
|
|
macros_map := rkaiq_macro_switch(soc)
|
|
p.Target.Android.Cflags = rkaiq_getAlgosMacros(macros_map)
|
|
cflags := rkaiqFlags(ctx)
|
|
p.Target.Android.Cflags = append(p.Target.Android.Cflags, cflags...)
|
|
ctx.AppendProperties(p)
|
|
}
|
|
|
|
func rkaiqLibraryShared(ctx android.LoadHookContext) {
|
|
type props struct {
|
|
Target struct {
|
|
Android struct {
|
|
Srcs []string
|
|
Static_libs []string
|
|
Enabled *bool
|
|
}
|
|
Host struct {
|
|
Enabled *bool
|
|
}
|
|
Not_windows struct {
|
|
}
|
|
}
|
|
Srcs []string
|
|
}
|
|
p := &props{}
|
|
soc := rkaiq_get_aiq_version(ctx)
|
|
macros_map := rkaiq_macro_switch(soc)
|
|
p.Target.Android.Srcs = rkaiq_getSrcsFiles(soc, macros_map)
|
|
p.Target.Android.Static_libs = rkaiq_getAlgosLib(macros_map)
|
|
ctx.AppendProperties(p)
|
|
}
|
|
|
|
func rkaiqLibraryStatic(ctx android.LoadHookContext) {
|
|
type props struct {
|
|
Srcs []string
|
|
}
|
|
p := &props{}
|
|
soc := rkaiq_get_aiq_version(ctx)
|
|
macros_map := rkaiq_macro_switch(soc)
|
|
p.Srcs = rkaiq_getStaticLibSrcs(ctx.ModuleName(), macros_map)
|
|
ctx.AppendProperties(p)
|
|
}
|
|
|
|
/* This is called from the boot strap process
|
|
* We register a module here
|
|
*/
|
|
func init() {
|
|
android.RegisterModuleType("rkaiq_defaults", rkaiqDefaultFactory)
|
|
android.RegisterModuleType("cc_rkaiq_library_shared", cc_rkaiq_library_sharedFactory)
|
|
android.RegisterModuleType("cc_rkaiq_library_static", cc_rkaiq_library_staticFactory)
|
|
}
|
|
|
|
func rkaiqDefaultFactory() android.Module {
|
|
module := cc.DefaultsFactory()
|
|
android.AddLoadHook(module, rkaiqDefaults)
|
|
return module
|
|
}
|
|
|
|
func cc_rkaiq_library_sharedFactory() android.Module {
|
|
module := cc.LibrarySharedFactory()
|
|
android.AddLoadHook(module, rkaiqLibraryShared)
|
|
return module
|
|
}
|
|
|
|
func cc_rkaiq_library_staticFactory() android.Module {
|
|
module := cc.LibraryStaticFactory()
|
|
android.AddLoadHook(module, rkaiqLibraryStatic)
|
|
return module
|
|
}
|