我想在android.bp中,采用go语言添加条件变量进行动态添加。例如:
art_module_java_defaults {
name: "art_module_source_build_java_defaults",
defaults_visibility: [
"//art:__subpackages__",
"//libcore:__subpackages__",
"//libnativehelper:__subpackages__",
],
enabled: false,
soong_config_variables: {
source_build: {
bar{
}
},
},
target: {
windows: {
enabled: false,
},
},
}
我想要在bar里面,添加cflags,该如何实现.go语言例子
func init() {
android.RegisterModuleType("llvm_defaults", llvmDefaultsFactory)
}
func llvmDefaultsFactory() android.Module {
module := cc.DefaultsFactory()
android.AddLoadHook(module, llvmDefaults)
return module
}
func llvmDefaults(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 = globalFlags(ctx)
p.Target.Android.Cflags = deviceFlags(ctx)
// Mingw fails to link binaries with lots of debug information
p.Target.Not_windows.Cflags = hostFlags(ctx)
if ctx.Config().IsEnvTrue("DISABLE_LLVM_DEVICE_BUILDS") {
p.Target.Android.Enabled = proptools.BoolPtr(false)
}
ctx.AppendProperties(p)
}
但是这个例子没有bp的,我不知道多级空间里面,是通过什么方法去获取