xref: /aosp_15_r20/system/security/keystore-engine/Android.bp (revision e1997b9af69e3155ead6e072d106a0077849ffba)
1*e1997b9aSAndroid Build Coastguard Worker// Copyright (C) 2012 The Android Open Source Project
2*e1997b9aSAndroid Build Coastguard Worker//
3*e1997b9aSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*e1997b9aSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*e1997b9aSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*e1997b9aSAndroid Build Coastguard Worker//
7*e1997b9aSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*e1997b9aSAndroid Build Coastguard Worker//
9*e1997b9aSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*e1997b9aSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*e1997b9aSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*e1997b9aSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*e1997b9aSAndroid Build Coastguard Worker// limitations under the License.
14*e1997b9aSAndroid Build Coastguard Worker
15*e1997b9aSAndroid Build Coastguard Workerpackage {
16*e1997b9aSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
17*e1997b9aSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
18*e1997b9aSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "system_security_license"
19*e1997b9aSAndroid Build Coastguard Worker    // to get the below license kinds:
20*e1997b9aSAndroid Build Coastguard Worker    //   SPDX-license-identifier-BSD
21*e1997b9aSAndroid Build Coastguard Worker    default_applicable_licenses: ["system_security_license"],
22*e1997b9aSAndroid Build Coastguard Worker}
23*e1997b9aSAndroid Build Coastguard Worker
24*e1997b9aSAndroid Build Coastguard Worker// This is expected to be cc_test_library but due to issue mentioned in b/298668920, b/314110490
25*e1997b9aSAndroid Build Coastguard Worker// we are creating cc_library and using static library to link with `keystore_client_tests`.
26*e1997b9aSAndroid Build Coastguard Workercc_library {
27*e1997b9aSAndroid Build Coastguard Worker    name: "libkeystore-engine",
28*e1997b9aSAndroid Build Coastguard Worker
29*e1997b9aSAndroid Build Coastguard Worker    defaults: [
30*e1997b9aSAndroid Build Coastguard Worker        "keymint_use_latest_hal_aidl_ndk_static",
31*e1997b9aSAndroid Build Coastguard Worker        "keystore2_use_latest_aidl_ndk_static",
32*e1997b9aSAndroid Build Coastguard Worker    ],
33*e1997b9aSAndroid Build Coastguard Worker    srcs: [
34*e1997b9aSAndroid Build Coastguard Worker        "android_engine.cpp",
35*e1997b9aSAndroid Build Coastguard Worker        "keystore2_engine.cpp",
36*e1997b9aSAndroid Build Coastguard Worker    ],
37*e1997b9aSAndroid Build Coastguard Worker
38*e1997b9aSAndroid Build Coastguard Worker    cflags: [
39*e1997b9aSAndroid Build Coastguard Worker        "-fvisibility=hidden",
40*e1997b9aSAndroid Build Coastguard Worker        "-Wall",
41*e1997b9aSAndroid Build Coastguard Worker        "-Werror",
42*e1997b9aSAndroid Build Coastguard Worker    ],
43*e1997b9aSAndroid Build Coastguard Worker
44*e1997b9aSAndroid Build Coastguard Worker    shared_libs: [
45*e1997b9aSAndroid Build Coastguard Worker        "libbinder_ndk",
46*e1997b9aSAndroid Build Coastguard Worker        "libcrypto",
47*e1997b9aSAndroid Build Coastguard Worker        "libcutils",
48*e1997b9aSAndroid Build Coastguard Worker        "liblog",
49*e1997b9aSAndroid Build Coastguard Worker        "libbase",
50*e1997b9aSAndroid Build Coastguard Worker        "libutils",
51*e1997b9aSAndroid Build Coastguard Worker    ],
52*e1997b9aSAndroid Build Coastguard Worker
53*e1997b9aSAndroid Build Coastguard Worker}
54*e1997b9aSAndroid Build Coastguard Worker
55*e1997b9aSAndroid Build Coastguard Worker// This builds a variant of libkeystore-engine that is available vendor.
56*e1997b9aSAndroid Build Coastguard Worker// It used to use a HIDL interface to connect to keystore through wificond.
57*e1997b9aSAndroid Build Coastguard Worker// Now That Keystore 2.0 has a vintf stable interface this library is
58*e1997b9aSAndroid Build Coastguard Worker// actually identical to libkeystore-engine.
59*e1997b9aSAndroid Build Coastguard Workercc_library_shared {
60*e1997b9aSAndroid Build Coastguard Worker    name: "libkeystore-engine-wifi-hidl",
61*e1997b9aSAndroid Build Coastguard Worker
62*e1997b9aSAndroid Build Coastguard Worker    srcs: [
63*e1997b9aSAndroid Build Coastguard Worker        "android_engine.cpp",
64*e1997b9aSAndroid Build Coastguard Worker        "keystore2_engine.cpp",
65*e1997b9aSAndroid Build Coastguard Worker    ],
66*e1997b9aSAndroid Build Coastguard Worker
67*e1997b9aSAndroid Build Coastguard Worker    cflags: [
68*e1997b9aSAndroid Build Coastguard Worker        "-fvisibility=hidden",
69*e1997b9aSAndroid Build Coastguard Worker        "-Wall",
70*e1997b9aSAndroid Build Coastguard Worker        "-Werror",
71*e1997b9aSAndroid Build Coastguard Worker    ],
72*e1997b9aSAndroid Build Coastguard Worker
73*e1997b9aSAndroid Build Coastguard Worker    shared_libs: [
74*e1997b9aSAndroid Build Coastguard Worker        "android.system.keystore2-V1-ndk",
75*e1997b9aSAndroid Build Coastguard Worker        "libbase",
76*e1997b9aSAndroid Build Coastguard Worker        "libbinder_ndk",
77*e1997b9aSAndroid Build Coastguard Worker        "libcrypto",
78*e1997b9aSAndroid Build Coastguard Worker        "liblog",
79*e1997b9aSAndroid Build Coastguard Worker        "libcutils",
80*e1997b9aSAndroid Build Coastguard Worker        "libutils",
81*e1997b9aSAndroid Build Coastguard Worker    ],
82*e1997b9aSAndroid Build Coastguard Worker
83*e1997b9aSAndroid Build Coastguard Worker    vendor: true,
84*e1997b9aSAndroid Build Coastguard Worker}
85