xref: /aosp_15_r20/external/tpm2-tss/Android.bp (revision 758e9fba6fc9adbf15340f70c73baee7b168b1c9)
1// Copyright (C) 2020 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package {
16    default_applicable_licenses: ["external_tpm2-tss_license"],
17}
18
19// Added automatically by a large-scale-change
20// See: http://go/android-license-faq
21license {
22    name: "external_tpm2-tss_license",
23    visibility: [":__subpackages__"],
24    license_kinds: [
25        "SPDX-license-identifier-BSD",
26    ],
27    license_text: [
28        "LICENSE",
29    ],
30}
31
32cc_defaults {
33    name: "tpm2-tss-defaults",
34    cflags: [
35        "-DMAXLOGLEVEL=6",
36        "-DBSSL", // Use OpenSSL (BoringSSL) encryption instead of gcrypt
37    ],
38    vendor: true,
39    export_include_dirs: [
40        "include",
41    ],
42    host_supported: true,
43    target: {
44        windows: {
45            enabled: true,
46            cflags: [
47                "-DNOGDI",
48                "-Wno-format",
49            ],
50        },
51    },
52}
53
54cc_library {
55    name: "tpm2-tss2-esys",
56    defaults: [ "tpm2-tss-defaults" ],
57    srcs: [
58        "src/tss2-esys/api/*.c",
59        "src/tss2-esys/esys_context.c",
60        "src/tss2-esys/esys_crypto.c",
61        "src/tss2-esys/esys_crypto_bssl.c",
62        "src/tss2-esys/esys_free.c",
63        "src/tss2-esys/esys_iutil.c",
64        "src/tss2-esys/esys_mu.c",
65        "src/tss2-esys/esys_tr.c",
66    ],
67    local_include_dirs: [
68        "include/tss2",
69        "src",
70        "src/tss2-esys",
71    ],
72    shared_libs: [
73        "libcrypto",
74        "tpm2-tss2-mu",
75        "tpm2-tss2-tcti",
76        "tpm2-tss2-sys",
77        "tpm2-tss2-util",
78    ],
79    vendor: true,
80}
81
82cc_library {
83    name: "tpm2-tss2-sys",
84    defaults: [ "tpm2-tss-defaults" ],
85    srcs: [
86        "src/tss2-sys/*.c",
87        "src/tss2-sys/api/*.c",
88    ],
89    local_include_dirs: [
90        "include/tss2",
91        "src",
92        "src/tss2-sys",
93        "src/tss2-sys/api",
94    ],
95    shared_libs: [
96        "tpm2-tss2-mu",
97        "tpm2-tss2-util",
98    ],
99}
100
101cc_library {
102    name: "tpm2-tss2-mu",
103    defaults: [ "tpm2-tss-defaults" ],
104    srcs: [
105        "src/tss2-mu/*.c",
106    ],
107    local_include_dirs: [
108        "include/tss2",
109        "src",
110        "src/tss2-mu",
111    ],
112    shared_libs: [
113        "tpm2-tss2-util",
114    ],
115}
116
117cc_library {
118    name: "tpm2-tss2-util",
119    defaults: [ "tpm2-tss-defaults" ],
120    srcs: [
121        "src/util/*.c",
122        "src/util/*.cpp",
123    ],
124    local_include_dirs: [
125        "include/tss2",
126        "src",
127    ],
128    shared_libs: [
129        "libbase",
130    ],
131    target: {
132        windows: {
133            host_ldlibs: [
134                "-lws2_32",
135            ],
136        },
137    },
138}
139
140cc_library {
141    name: "tpm2-tss2-tcti",
142    defaults: [ "tpm2-tss-defaults" ],
143    srcs: [
144        "src/tss2-tcti/tcti-common.c",
145        "src/tss2-tcti/tctildr.c",
146        "src/tss2-tcti/tctildr-nodl.c",
147    ],
148    local_include_dirs: [
149        "include/tss2",
150        "src",
151        "src/tss2-tcti",
152    ],
153    shared_libs: [
154        "tpm2-tss2-mu",
155        "tpm2-tss2-util",
156    ],
157    target: {
158        not_windows: {
159            srcs: [
160                "src/tss2-tcti/tcti-device.c",
161            ],
162        },
163    },
164}
165
166cc_library {
167    name: "tpm2-tss2-rc",
168    defaults: [ "tpm2-tss-defaults" ],
169    srcs: [
170        "src/tss2-rc/*.c",
171    ],
172    local_include_dirs: [
173        "include/tss2",
174        "src",
175        "src/tss2-rc",
176    ],
177    shared_libs: [
178        "tpm2-tss2-sys",
179    ],
180}
181