blob: 66b1c3fea5e3721b6e5eb06c68d1bf432f390eb9 [file] [log] [blame]
Ivan Lozano183a3212019-10-18 14:18:45 -07001package 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
Ivan Lozano183a3212019-10-18 14:18:45 -070014 OutputFile() android.OptionalPath
Ivan Lozanoa0cd8f92020-04-09 09:56:02 -040015 CoverageFiles() android.Paths
Ivan Lozano183a3212019-10-18 14:18:45 -070016
Ivan Lozanoe0833b12019-11-06 19:15:49 -080017 IncludeDirs() android.Paths
Ivan Lozano183a3212019-10-18 14:18:45 -070018 SetDepsInLinkOrder([]android.Path)
19 GetDepsInLinkOrder() []android.Path
20
21 HasStaticVariant() bool
22 GetStaticVariant() LinkableInterface
23
Ivan Lozano2b262972019-11-21 12:30:50 -080024 NonCcVariants() bool
25
Ivan Lozano183a3212019-10-18 14:18:45 -070026 StubsVersions() []string
Ivan Lozano52767be2019-10-18 14:49:46 -070027 BuildStubs() bool
Ivan Lozano183a3212019-10-18 14:18:45 -070028 SetBuildStubs()
29 SetStubsVersions(string)
Jooyung Han03b51852020-02-26 22:45:42 +090030 StubsVersion() string
Ivan Lozano52767be2019-10-18 14:49:46 -070031 HasStubsVariants() bool
32 SelectedStl() string
33 ApiLevel() string
Ivan Lozano183a3212019-10-18 14:18:45 -070034
35 BuildStaticVariant() bool
36 BuildSharedVariant() bool
37 SetStatic()
38 SetShared()
Ivan Lozano52767be2019-10-18 14:49:46 -070039 Static() bool
40 Shared() bool
41 Toc() android.OptionalPath
42
Jooyung Han624d35c2020-04-10 12:57:24 +090043 Host() bool
44
Yifan Hong1b3348d2020-01-21 15:53:22 -080045 InRamdisk() bool
46 OnlyInRamdisk() bool
47
Ivan Lozano52767be2019-10-18 14:49:46 -070048 InRecovery() bool
49 OnlyInRecovery() bool
50
Colin Crossc511bc52020-04-07 16:50:32 +000051 UseSdk() bool
Ivan Lozano52767be2019-10-18 14:49:46 -070052 UseVndk() bool
53 MustUseVendorVariant() bool
54 IsVndk() bool
55 HasVendorVariant() bool
56
57 SdkVersion() string
Colin Crossc511bc52020-04-07 16:50:32 +000058 AlwaysSdk() bool
Jiyong Park2286afd2020-06-16 21:58:53 +090059 IsSdkVariant() bool
Ivan Lozano52767be2019-10-18 14:49:46 -070060
61 ToolchainLibrary() bool
62 NdkPrebuiltStl() bool
63 StubDecorator() bool
Ivan Lozano183a3212019-10-18 14:18:45 -070064}
65
66type DependencyTag struct {
67 blueprint.BaseDependencyTag
68 Name string
69 Library bool
70 Shared bool
71
72 ReexportFlags bool
73
74 ExplicitlyVersioned bool
Jiyong Parkd7536ba2020-01-16 17:14:23 +090075
76 FromStatic bool
Ivan Lozano183a3212019-10-18 14:18:45 -070077}
78
79var (
80 SharedDepTag = DependencyTag{Name: "shared", Library: true, Shared: true}
81 StaticDepTag = DependencyTag{Name: "static", Library: true}
82
Jiyong Parkd7536ba2020-01-16 17:14:23 +090083 // Same as SharedDepTag, but from a static lib
84 SharedFromStaticDepTag = DependencyTag{Name: "shared from static", Library: true, Shared: true, FromStatic: true}
85
Ivan Lozano183a3212019-10-18 14:18:45 -070086 CrtBeginDepTag = DependencyTag{Name: "crtbegin"}
87 CrtEndDepTag = DependencyTag{Name: "crtend"}
Ivan Lozanoa0cd8f92020-04-09 09:56:02 -040088 CoverageDepTag = DependencyTag{Name: "coverage"}
Ivan Lozano183a3212019-10-18 14:18:45 -070089)