1package cc 2 3import ( 4 "github.com/google/blueprint" 5 6 "android/soong/android" 7) 8 9type LinkableInterface interface { 10 Module() android.Module 11 CcLibrary() bool 12 CcLibraryInterface() bool 13 14 OutputFile() android.OptionalPath 15 16 IncludeDirs() android.Paths 17 SetDepsInLinkOrder([]android.Path) 18 GetDepsInLinkOrder() []android.Path 19 20 HasStaticVariant() bool 21 GetStaticVariant() LinkableInterface 22 23 NonCcVariants() bool 24 25 StubsVersions() []string 26 BuildStubs() bool 27 SetBuildStubs() 28 SetStubsVersions(string) 29 StubsVersion() string 30 HasStubsVariants() bool 31 SelectedStl() string 32 ApiLevel() string 33 34 BuildStaticVariant() bool 35 BuildSharedVariant() bool 36 SetStatic() 37 SetShared() 38 Static() bool 39 Shared() bool 40 Toc() android.OptionalPath 41 42 Host() bool 43 44 InRamdisk() bool 45 OnlyInRamdisk() bool 46 47 InRecovery() bool 48 OnlyInRecovery() bool 49 50 UseSdk() bool 51 UseVndk() bool 52 MustUseVendorVariant() bool 53 IsVndk() bool 54 HasVendorVariant() bool 55 56 SdkVersion() string 57 AlwaysSdk() bool 58 59 ToolchainLibrary() bool 60 NdkPrebuiltStl() bool 61 StubDecorator() bool 62} 63 64type DependencyTag struct { 65 blueprint.BaseDependencyTag 66 Name string 67 Library bool 68 Shared bool 69 70 ReexportFlags bool 71 72 ExplicitlyVersioned bool 73 74 FromStatic bool 75} 76 77var ( 78 SharedDepTag = DependencyTag{Name: "shared", Library: true, Shared: true} 79 StaticDepTag = DependencyTag{Name: "static", Library: true} 80 81 // Same as SharedDepTag, but from a static lib 82 SharedFromStaticDepTag = DependencyTag{Name: "shared from static", Library: true, Shared: true, FromStatic: true} 83 84 CrtBeginDepTag = DependencyTag{Name: "crtbegin"} 85 CrtEndDepTag = DependencyTag{Name: "crtend"} 86) 87