blob: de36f90173a7804150612400d874794e4b9cef33 [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
Ivan Lozano52767be2019-10-18 14:49:46 -070059
60 ToolchainLibrary() bool
61 NdkPrebuiltStl() bool
62 StubDecorator() bool
Ivan Lozano183a3212019-10-18 14:18:45 -070063}
64
65type DependencyTag struct {
66 blueprint.BaseDependencyTag
67 Name string
68 Library bool
69 Shared bool
70
71 ReexportFlags bool
72
73 ExplicitlyVersioned bool
Jiyong Parkd7536ba2020-01-16 17:14:23 +090074
75 FromStatic bool
Ivan Lozano183a3212019-10-18 14:18:45 -070076}
77
78var (
79 SharedDepTag = DependencyTag{Name: "shared", Library: true, Shared: true}
80 StaticDepTag = DependencyTag{Name: "static", Library: true}
81
Jiyong Parkd7536ba2020-01-16 17:14:23 +090082 // Same as SharedDepTag, but from a static lib
83 SharedFromStaticDepTag = DependencyTag{Name: "shared from static", Library: true, Shared: true, FromStatic: true}
84
Ivan Lozano183a3212019-10-18 14:18:45 -070085 CrtBeginDepTag = DependencyTag{Name: "crtbegin"}
86 CrtEndDepTag = DependencyTag{Name: "crtend"}
Ivan Lozanoa0cd8f92020-04-09 09:56:02 -040087 CoverageDepTag = DependencyTag{Name: "coverage"}
Ivan Lozano183a3212019-10-18 14:18:45 -070088)