blob: 4c841634740dac22e7af535c87140f22cfe42c81 [file] [log] [blame]
Ivan Lozano183a3212019-10-18 14:18:45 -07001package cc
2
3import (
Ivan Lozano183a3212019-10-18 14:18:45 -07004 "android/soong/android"
Colin Cross6e511a92020-07-27 21:26:48 -07005
6 "github.com/google/blueprint"
Ivan Lozano183a3212019-10-18 14:18:45 -07007)
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
Colin Cross6e511a92020-07-27 21:26:48 -070066var (
67 CrtBeginDepTag = dependencyTag{name: "crtbegin"}
68 CrtEndDepTag = dependencyTag{name: "crtend"}
69 CoverageDepTag = dependencyTag{name: "coverage"}
70)
Ivan Lozano183a3212019-10-18 14:18:45 -070071
Colin Cross6e511a92020-07-27 21:26:48 -070072func SharedDepTag() blueprint.DependencyTag {
73 return libraryDependencyTag{Kind: sharedLibraryDependency}
Ivan Lozano183a3212019-10-18 14:18:45 -070074}
75
Colin Cross6e511a92020-07-27 21:26:48 -070076func StaticDepTag() blueprint.DependencyTag {
77 return libraryDependencyTag{Kind: staticLibraryDependency}
78}