xref: /aosp_15_r20/external/ms-tpm-20-ref/Android.bp (revision 5c591343844d1f9da7da26467c4bf7efc8a7a413)
1*5c591343SA. Cody Schuffelen// Copyright (C) 2020 The Android Open Source Project
2*5c591343SA. Cody Schuffelen//
3*5c591343SA. Cody Schuffelen// Licensed under the Apache License, Version 2.0 (the "License");
4*5c591343SA. Cody Schuffelen// you may not use this file except in compliance with the License.
5*5c591343SA. Cody Schuffelen// You may obtain a copy of the License at
6*5c591343SA. Cody Schuffelen//
7*5c591343SA. Cody Schuffelen//      http://www.apache.org/licenses/LICENSE-2.0
8*5c591343SA. Cody Schuffelen//
9*5c591343SA. Cody Schuffelen// Unless required by applicable law or agreed to in writing, software
10*5c591343SA. Cody Schuffelen// distributed under the License is distributed on an "AS IS" BASIS,
11*5c591343SA. Cody Schuffelen// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*5c591343SA. Cody Schuffelen// See the License for the specific language governing permissions and
13*5c591343SA. Cody Schuffelen// limitations under the License.
14*5c591343SA. Cody Schuffelen
15*5c591343SA. Cody Schuffelen// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
16*5c591343SA. Cody Schuffelen//     CONSULT THE OWNERS AND [email protected] BEFORE
17*5c591343SA. Cody Schuffelen//     DEPENDING ON IT IN YOUR PROJECT. ***
18*5c591343SA. Cody Schuffelenpackage {
19*5c591343SA. Cody Schuffelen    default_applicable_licenses: ["external_ms-tpm-20-ref_license"],
20*5c591343SA. Cody Schuffelen}
21*5c591343SA. Cody Schuffelen
22*5c591343SA. Cody Schuffelen// Added automatically by a large-scale-change that took the approach of
23*5c591343SA. Cody Schuffelen// 'apply every license found to every target'. While this makes sure we respect
24*5c591343SA. Cody Schuffelen// every license restriction, it may not be entirely correct.
25*5c591343SA. Cody Schuffelen//
26*5c591343SA. Cody Schuffelen// e.g. GPL in an MIT project might only apply to the contrib/ directory.
27*5c591343SA. Cody Schuffelen//
28*5c591343SA. Cody Schuffelen// Please consider splitting the single license below into multiple licenses,
29*5c591343SA. Cody Schuffelen// taking care not to lose any license_kind information, and overriding the
30*5c591343SA. Cody Schuffelen// default license using the 'licenses: [...]' property on targets as needed.
31*5c591343SA. Cody Schuffelen//
32*5c591343SA. Cody Schuffelen// For unused files, consider creating a 'fileGroup' with "//visibility:private"
33*5c591343SA. Cody Schuffelen// to attach the license to, and including a comment whether the files may be
34*5c591343SA. Cody Schuffelen// used in the current project.
35*5c591343SA. Cody Schuffelen// See: http://go/android-license-faq
36*5c591343SA. Cody Schuffelenlicense {
37*5c591343SA. Cody Schuffelen    name: "external_ms-tpm-20-ref_license",
38*5c591343SA. Cody Schuffelen    visibility: [":__subpackages__"],
39*5c591343SA. Cody Schuffelen    license_kinds: [
40*5c591343SA. Cody Schuffelen        "SPDX-license-identifier-BSD",
41*5c591343SA. Cody Schuffelen        "SPDX-license-identifier-GPL-2.0",
42*5c591343SA. Cody Schuffelen        "SPDX-license-identifier-MIT",
43*5c591343SA. Cody Schuffelen        "legacy_by_exception_only", // by exception only
44*5c591343SA. Cody Schuffelen    ],
45*5c591343SA. Cody Schuffelen    license_text: [
46*5c591343SA. Cody Schuffelen        "LICENSE",
47*5c591343SA. Cody Schuffelen    ],
48*5c591343SA. Cody Schuffelen}
49*5c591343SA. Cody Schuffelen
50*5c591343SA. Cody Schuffelencc_defaults {
51*5c591343SA. Cody Schuffelen    name: "ms-tpm-20-ref-defaults",
52*5c591343SA. Cody Schuffelen    local_include_dirs: [
53*5c591343SA. Cody Schuffelen        "TPMCmd/Platform/include",
54*5c591343SA. Cody Schuffelen        "TPMCmd/Platform/include/prototypes",
55*5c591343SA. Cody Schuffelen        "TPMCmd/Simulator/include",
56*5c591343SA. Cody Schuffelen        "TPMCmd/Simulator/include/prototypes",
57*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/include",
58*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/include/Ossl",
59*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/include/prototypes",
60*5c591343SA. Cody Schuffelen    ],
61*5c591343SA. Cody Schuffelen    device_supported: false,
62*5c591343SA. Cody Schuffelen    host_supported: true,
63*5c591343SA. Cody Schuffelen    shared_libs: [
64*5c591343SA. Cody Schuffelen        "libcrypto",
65*5c591343SA. Cody Schuffelen    ],
66*5c591343SA. Cody Schuffelen    cflags: [
67*5c591343SA. Cody Schuffelen        "-DMAX_SYM_DATA=256",
68*5c591343SA. Cody Schuffelen        "-DDEBUG=YES",
69*5c591343SA. Cody Schuffelen        "-DUSE_DEBUG_RNG=NO",
70*5c591343SA. Cody Schuffelen        "-DALG_CAMELLIA=ALG_NO",
71*5c591343SA. Cody Schuffelen        "-Wno-logical-op-parentheses",
72*5c591343SA. Cody Schuffelen        "-Wno-empty-body",
73*5c591343SA. Cody Schuffelen        "-Wno-missing-field-initializers",
74*5c591343SA. Cody Schuffelen        "-Wno-unused-parameter",
75*5c591343SA. Cody Schuffelen        "-Wno-typedef-redefinition",
76*5c591343SA. Cody Schuffelen    ],
77*5c591343SA. Cody Schuffelen    target: {
78*5c591343SA. Cody Schuffelen        darwin: {
79*5c591343SA. Cody Schuffelen            enabled: true,
80*5c591343SA. Cody Schuffelen        },
81*5c591343SA. Cody Schuffelen    },
82*5c591343SA. Cody Schuffelen}
83*5c591343SA. Cody Schuffelen
84*5c591343SA. Cody Schuffelencc_library_static {
85*5c591343SA. Cody Schuffelen    name: "ms-tpm-20-ref-lib",
86*5c591343SA. Cody Schuffelen    srcs: [
87*5c591343SA. Cody Schuffelen        "TPMCmd/Platform/src/*.c",
88*5c591343SA. Cody Schuffelen        "TPMCmd/Simulator/src/TPMCmdp.c",
89*5c591343SA. Cody Schuffelen        "TPMCmd/Simulator/src/TcpServer.c",
90*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/src/command/**/*.c",
91*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/src/crypt/*.c",
92*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/src/crypt/ossl/*.c",
93*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/src/events/*.c",
94*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/src/main/*.c",
95*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/src/subsystem/*.c",
96*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/src/support/*.c",
97*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/src/X509/*.c",
98*5c591343SA. Cody Schuffelen    ],
99*5c591343SA. Cody Schuffelen    export_include_dirs: [
100*5c591343SA. Cody Schuffelen        "TPMCmd/Platform/include",
101*5c591343SA. Cody Schuffelen        "TPMCmd/Platform/include/prototypes",
102*5c591343SA. Cody Schuffelen        "TPMCmd/Simulator/include",
103*5c591343SA. Cody Schuffelen        "TPMCmd/Simulator/include/prototypes",
104*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/include",
105*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/include/Ossl",
106*5c591343SA. Cody Schuffelen        "TPMCmd/tpm/include/prototypes",
107*5c591343SA. Cody Schuffelen    ],
108*5c591343SA. Cody Schuffelen    target: {
109*5c591343SA. Cody Schuffelen        windows: {
110*5c591343SA. Cody Schuffelen            enabled: true,
111*5c591343SA. Cody Schuffelen            cflags: [
112*5c591343SA. Cody Schuffelen                "-Wno-unknown-pragmas",
113*5c591343SA. Cody Schuffelen            ],
114*5c591343SA. Cody Schuffelen            host_ldlibs: [
115*5c591343SA. Cody Schuffelen                "-lws2_32",
116*5c591343SA. Cody Schuffelen            ],
117*5c591343SA. Cody Schuffelen        },
118*5c591343SA. Cody Schuffelen    },
119*5c591343SA. Cody Schuffelen    defaults: [ "ms-tpm-20-ref-defaults" ],
120*5c591343SA. Cody Schuffelen}
121*5c591343SA. Cody Schuffelen
122*5c591343SA. Cody Schuffelencc_binary_host {
123*5c591343SA. Cody Schuffelen    name: "ms-tpm-20-ref",
124*5c591343SA. Cody Schuffelen    srcs: [
125*5c591343SA. Cody Schuffelen        "TPMCmd/Simulator/src/TPMCmds.c",
126*5c591343SA. Cody Schuffelen    ],
127*5c591343SA. Cody Schuffelen    static_libs: [
128*5c591343SA. Cody Schuffelen        "ms-tpm-20-ref-lib",
129*5c591343SA. Cody Schuffelen    ],
130*5c591343SA. Cody Schuffelen    defaults: [ "ms-tpm-20-ref-defaults" ],
131*5c591343SA. Cody Schuffelen}
132