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 CoverageFiles() android.Paths 16 17 IncludeDirs() android.Paths 18 SetDepsInLinkOrder([]android.Path) 19 GetDepsInLinkOrder() []android.Path 20 21 HasStaticVariant() bool 22 GetStaticVariant() LinkableInterface 23 24 NonCcVariants() bool 25 26 StubsVersions() []string 27 BuildStubs() bool 28 SetBuildStubs() 29 SetStubsVersions(string) 30 StubsVersion() string 31 HasStubsVariants() bool 32 SelectedStl() string 33 ApiLevel() string 34 35 BuildStaticVariant() bool 36 BuildSharedVariant() bool 37 SetStatic() 38 SetShared() 39 Static() bool 40 Shared() bool 41 Toc() android.OptionalPath 42 43 Host() bool 44 45 InRamdisk() bool 46 OnlyInRamdisk() bool 47 48 InRecovery() bool 49 OnlyInRecovery() bool 50 51 UseSdk() bool 52 UseVndk() bool 53 MustUseVendorVariant() bool 54 IsVndk() bool 55 HasVendorVariant() bool 56 57 SdkVersion() string 58 AlwaysSdk() bool 59 IsSdkVariant() bool 60 61 ToolchainLibrary() bool 62 NdkPrebuiltStl() bool 63 StubDecorator() bool 64} 65 66type DependencyTag struct { 67 blueprint.BaseDependencyTag 68 Name string 69 Library bool 70 Shared bool 71 72 ReexportFlags bool 73 74 ExplicitlyVersioned bool 75 76 FromStatic bool 77} 78 79var ( 80 SharedDepTag = DependencyTag{Name: "shared", Library: true, Shared: true} 81 StaticDepTag = DependencyTag{Name: "static", Library: true} 82 83 // Same as SharedDepTag, but from a static lib 84 SharedFromStaticDepTag = DependencyTag{Name: "shared from static", Library: true, Shared: true, FromStatic: true} 85 86 CrtBeginDepTag = DependencyTag{Name: "crtbegin"} 87 CrtEndDepTag = DependencyTag{Name: "crtend"} 88 CoverageDepTag = DependencyTag{Name: "coverage"} 89) 90