android13/external/camera_engine_rkaiq/rkaiq.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
}