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