android13/vendor/rockchip/hardware/interfaces/vtunnel/Android.go

85 lines
2.4 KiB
Go
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package librkvt_win
import (
"android/soong/android"
"android/soong/cc"
"fmt"
"strings"
)
func init() {
//该打印会在执行mm命令时打印在屏幕上
fmt.Println("librkvt_win want to conditional Compile")
android.RegisterModuleType("cc_librkvt_win", DefaultsFactory)
}
func DefaultsFactory() (android.Module) {
module := cc.DefaultsFactory()
android.AddLoadHook(module, Defaults)
return module
}
func Defaults(ctx android.LoadHookContext) {
type props struct {
Srcs []string
Cflags []string
Shared_libs []string
Include_dirs []string
}
p := &props{}
p.Cflags = globalCflagsDefaults(ctx)
p.Include_dirs = globalIncludeDefaults(ctx)
p.Srcs = getSrcs(ctx)
p.Shared_libs = getSharedLibs(ctx)
ctx.AppendProperties(p)
}
func getSharedLibs(ctx android.BaseContext) ([]string) {
var libs []string
if (strings.Contains(ctx.AConfig().Getenv("TARGET_PRODUCT"),"rk3528_box")) {
libs = append(libs, "libdrm")
libs = append(libs, "libhardware")
libs = append(libs, "libsync")
}
return libs
}
func getSrcs(ctx android.BaseContext) ([]string) {
var src []string
if (strings.Contains(ctx.AConfig().Getenv("TARGET_PRODUCT"),"rk3528_box")) {
src = append(src, "common/drmgralloc.cpp")
src = append(src, "vdpp/vdpp_proc.cpp")
src = append(src, "vdpp/vdpp.cpp")
}
return src
}
func globalIncludeDefaults(ctx android.BaseContext) ([]string) {
var include_dirs []string
if (strings.Contains(ctx.AConfig().Getenv("TARGET_PRODUCT"),"rk3528_box")) {
include_dirs = append(include_dirs,"external/libdrm")
include_dirs = append(include_dirs,"external/libdrm/include/drm")
include_dirs = append(include_dirs,"frameworks/av/include")
}
fmt.Println(include_dirs, ctx.Config().PlatformSdkVersion())
return include_dirs
}
func globalCflagsDefaults(ctx android.BaseContext) ([]string) {
var cppflags []string
//该打印输出为: TARGET_PRODUCT:rk3328 fmt.Println("TARGET_PRODUCT:",ctx.AConfig().Getenv("TARGET_PRODUCT")) //通过 strings.EqualFold 比较字符串可参考go语言字符串对比
if (strings.Contains(ctx.AConfig().Getenv("TARGET_PRODUCT"),"rk3528_box")) {
//添加 DEBUG 宏定义
cppflags = append(cppflags,"-DHAVE_VDPP=0")
}
//将需要区分的环境变量在此区域添加 //....
return cppflags
}