Home | History | Annotate | Download | only in cc

Lines Matching refs:vndk

26 	Vndk struct {
27 // declared as a VNDK or VNDK-SP module. The vendor variant
31 // false together with `vndk: {enabled: true}`.
34 // declared as a VNDK-SP module, which is a subset of VNDK.
36 // `vndk: { enabled: true }` must set together.
38 // All these modules are allowed to link to VNDK-SP or LL-NDK
42 // the module is VNDK-core and can link to other VNDK-core,
43 // VNDK-SP or LL-NDK modules only.
55 func (vndk *vndkdep) props() []interface{} {
56 return []interface{}{&vndk.Properties}
59 func (vndk *vndkdep) begin(ctx BaseModuleContext) {}
61 func (vndk *vndkdep) deps(ctx BaseModuleContext, deps Deps) Deps {
65 func (vndk *vndkdep) isVndk() bool {
66 return Bool(vndk.Properties.Vndk.Enabled)
69 func (vndk *vndkdep) isVndkSp() bool {
70 return Bool(vndk.Properties.Vndk.Support_system_process)
73 func (vndk *vndkdep) isVndkExt() bool {
74 return vndk.Properties.Vndk.Extends != nil
77 func (vndk *vndkdep) getVndkExtendsModuleName() string {
78 return String(vndk.Properties.Vndk.Extends)
81 func (vndk *vndkdep) typeName() string {
82 if !vndk.isVndk() {
85 if !vndk.isVndkExt() {
86 if !vndk.isVndkSp() {
87 return "native:vendor:vndk"
91 if !vndk.isVndkSp() {
97 func (vndk *vndkdep) vndkCheckLinkType(ctx android.ModuleContext, to *Module, tag dependencyTag) {
101 if !vndk.isVndk() {
102 // Non-VNDK modules (those installed to /vendor) can't depend on modules marked with
110 // it means a vendor-only library which is a valid dependency for non-VNDK
116 ctx.ModuleErrorf("Vendor module that is not VNDK should not link to %q which is marked as `vendor_available: false`", to.Name())
126 vndk.typeName(), to.Name())
130 // Ensure `extends: "name"` property refers a vndk module that has vendor_available
131 // and has identical vndk properties.
133 ctx.ModuleErrorf("`extends` refers a non-vndk module %q", to.Name())
136 if vndk.isVndkSp() != to.vndkdep.isVndkSp() {
153 // Check the dependencies of VNDK shared libraries.
154 if !vndkIsVndkDepAllowed(vndk, to.vndkdep) {
156 vndk.typeName(), to.Name(), to.vndkdep.typeName())
162 // Check the dependencies of VNDK, VNDK-Ext, VNDK-SP, VNDK-SP-Ext and vendor modules.
165 // VNDK-SP-Ext may depend on VNDK-SP, VNDK-SP-Ext, or vendor libs (excluding
166 // VNDK and VNDK-Ext).
169 // VNDK-Ext may depend on VNDK, VNDK-Ext, VNDK-SP, VNDK-SP-Ext, or vendor libs.
174 // VNDK-core and VNDK-SP must not depend on VNDK extensions.
178 // VNDK-SP must only depend on VNDK-SP.
181 // VNDK-core may depend on VNDK-core or VNDK-SP.
184 // Vendor modules may depend on VNDK, VNDK-Ext, VNDK-SP, VNDK-SP-Ext, or vendor libs.
196 // gather list of vndk-core, vndk-sp, and ll-ndk libs