android13/frameworks/native/libs/renderengine/Android.go

58 lines
2.5 KiB
Go
Raw Normal View History

2024-06-22 08:45:49 -04:00
package librenderengine
import (
"android/soong/android"
"android/soong/cc"
// "fmt"
"strings"
)
func init() {
//该打印会在执行mm命令时打印在屏幕上
//fmt.Println("librenderengine want to conditional Compile")
android.RegisterModuleType("cc_librenderengine", DefaultsFactory)
}
func DefaultsFactory() (android.Module) {
module := cc.DefaultsFactory()
android.AddLoadHook(module, Defaults)
return module
}
func Defaults(ctx android.LoadHookContext) {
type props struct {
Cflags []string
}
p := &props{}
p.Cflags = globalDefaults(ctx)
ctx.AppendProperties(p)
}
//条件编译主要修改函数
func globalDefaults(ctx android.BaseContext) ([]string) {
var cppflags []string
//该打印输出为: TARGET_PRODUCT:rk3328 fmt.Println("TARGET_PRODUCT:",ctx.AConfig().Getenv("TARGET_PRODUCT")) //通过 strings.EqualFold 比较字符串可参考go语言字符串对比
//fmt.Println("TARGET_BOARD_PLATFORM_GPU:",ctx.AConfig().Getenv("TARGET_BOARD_PLATFORM_GPU")) //通过 strings.EqualFold 比较字符串可参考go语言字符串对比
if (strings.EqualFold(ctx.AConfig().Getenv("TARGET_BOARD_PLATFORM_GPU"),"mali-t720")) {
//添加 DEBUG 宏定义
cppflags = append(cppflags,"-DMALI_PRODUCT_ID_T72X=1")
} else if (strings.EqualFold(ctx.AConfig().Getenv("TARGET_BOARD_PLATFORM_GPU"),"mali-t760")) {
cppflags = append(cppflags,"-DMALI_PRODUCT_ID_T76X=1")
} else if (strings.EqualFold(ctx.AConfig().Getenv("TARGET_BOARD_PLATFORM_GPU"),"mali-t860")) {
cppflags = append(cppflags,"-DMALI_PRODUCT_ID_T86X=1")
} else if (strings.EqualFold(ctx.AConfig().Getenv("TARGET_BOARD_PLATFORM_GPU"),"G6110")) {
cppflags = append(cppflags,"-DGPU_G6110")
} else if (strings.EqualFold(ctx.AConfig().Getenv("TARGET_BOARD_PLATFORM_GPU"),"mali-tDVx")) {
cppflags = append(cppflags,"-DMALI_PRODUCT_ID_TDVX=1")
} else if (strings.EqualFold(ctx.AConfig().Getenv("TARGET_BOARD_PLATFORM_GPU"),"mali400")) {
cppflags = append(cppflags,"-DMALI_PRODUCT_ID_400=1")
} else if (strings.EqualFold(ctx.AConfig().Getenv("TARGET_BOARD_PLATFORM_GPU"),"mali450")) {
cppflags = append(cppflags,"-DMALI_PRODUCT_ID_450=1")
} else if (strings.EqualFold(ctx.AConfig().Getenv("TARGET_BOARD_PLATFORM_GPU"),"mali-G610")) {
cppflags = append(cppflags,"-DMALI_PRODUCT_ID_G610=1")
}
//将需要区分的环境变量在此区域添加 //....
return cppflags
}