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