blob: cfbaffe30c7131a210a02337232a73a6492e46c8 [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 Lozano52767be2019-10-18 14:49:46 -070016 IncludeDirs(ctx android.BaseModuleContext) 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
23 StubsVersions() []string
Ivan Lozano52767be2019-10-18 14:49:46 -070024 BuildStubs() bool
Ivan Lozano183a3212019-10-18 14:18:45 -070025 SetBuildStubs()
26 SetStubsVersions(string)
Ivan Lozano52767be2019-10-18 14:49:46 -070027 HasStubsVariants() bool
28 SelectedStl() string
29 ApiLevel() string
Ivan Lozano183a3212019-10-18 14:18:45 -070030
31 BuildStaticVariant() bool
32 BuildSharedVariant() bool
33 SetStatic()
34 SetShared()
Ivan Lozano52767be2019-10-18 14:49:46 -070035 Static() bool
36 Shared() bool
37 Toc() android.OptionalPath
38
39 InRecovery() bool
40 OnlyInRecovery() bool
41
42 UseVndk() bool
43 MustUseVendorVariant() bool
44 IsVndk() bool
45 HasVendorVariant() bool
46
47 SdkVersion() string
48
49 ToolchainLibrary() bool
50 NdkPrebuiltStl() bool
51 StubDecorator() bool
Ivan Lozano183a3212019-10-18 14:18:45 -070052}
53
54type DependencyTag struct {
55 blueprint.BaseDependencyTag
56 Name string
57 Library bool
58 Shared bool
59
60 ReexportFlags bool
61
62 ExplicitlyVersioned bool
63}
64
65var (
66 SharedDepTag = DependencyTag{Name: "shared", Library: true, Shared: true}
67 StaticDepTag = DependencyTag{Name: "static", Library: true}
68
69 CrtBeginDepTag = DependencyTag{Name: "crtbegin"}
70 CrtEndDepTag = DependencyTag{Name: "crtend"}
71)