blob: 815d405c86a08bc0bb8fe62c533429c24b1878c1 [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
15
Ivan Lozanoe0833b12019-11-06 19:15:49 -080016 IncludeDirs() android.Paths
Ivan Lozano183a3212019-10-18 14:18:45 -070017 SetDepsInLinkOrder([]android.Path)
18 GetDepsInLinkOrder() []android.Path
19
20 HasStaticVariant() bool
21 GetStaticVariant() LinkableInterface
22
Ivan Lozano2b262972019-11-21 12:30:50 -080023 NonCcVariants() bool
24
Ivan Lozano183a3212019-10-18 14:18:45 -070025 StubsVersions() []string
Ivan Lozano52767be2019-10-18 14:49:46 -070026 BuildStubs() bool
Ivan Lozano183a3212019-10-18 14:18:45 -070027 SetBuildStubs()
28 SetStubsVersions(string)
Ivan Lozano52767be2019-10-18 14:49:46 -070029 HasStubsVariants() bool
30 SelectedStl() string
31 ApiLevel() string
Ivan Lozano183a3212019-10-18 14:18:45 -070032
33 BuildStaticVariant() bool
34 BuildSharedVariant() bool
35 SetStatic()
36 SetShared()
Ivan Lozano52767be2019-10-18 14:49:46 -070037 Static() bool
38 Shared() bool
39 Toc() android.OptionalPath
40
41 InRecovery() bool
42 OnlyInRecovery() bool
43
44 UseVndk() bool
45 MustUseVendorVariant() bool
46 IsVndk() bool
47 HasVendorVariant() bool
48
49 SdkVersion() string
50
51 ToolchainLibrary() bool
52 NdkPrebuiltStl() bool
53 StubDecorator() bool
Ivan Lozano183a3212019-10-18 14:18:45 -070054}
55
56type DependencyTag struct {
57 blueprint.BaseDependencyTag
58 Name string
59 Library bool
60 Shared bool
61
62 ReexportFlags bool
63
64 ExplicitlyVersioned bool
65}
66
67var (
68 SharedDepTag = DependencyTag{Name: "shared", Library: true, Shared: true}
69 StaticDepTag = DependencyTag{Name: "static", Library: true}
70
71 CrtBeginDepTag = DependencyTag{Name: "crtbegin"}
72 CrtEndDepTag = DependencyTag{Name: "crtend"}
73)