1package {
2    // See: http://go/android-license-faq
3    // A large-scale-change added 'default_applicable_licenses' to import
4    // all of the 'license_kinds' from "system_security_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-Apache-2.0
7    default_applicable_licenses: ["system_security_license"],
8}
9
10cc_defaults {
11    name: "identity_defaults",
12    cflags: [
13        "-Wall",
14        // "-Werror",
15        "-Wextra",
16        "-Wunused",
17        "-Wno-deprecated-declarations",
18    ],
19    sanitize: {
20        misc_undefined : ["integer"],
21    },
22    clang : true,
23}
24
25cc_binary {
26    name: "credstore",
27    defaults: ["identity_defaults"],
28
29    srcs: [
30        "main.cpp",
31        "CredentialStore.cpp",
32        "CredentialStoreFactory.cpp",
33        "WritableCredential.cpp",
34        "Credential.cpp",
35        "CredentialData.cpp",
36        "Util.cpp",
37    ],
38    init_rc: ["credstore.rc"],
39    shared_libs: [
40        "libbase",
41        "libbinder",
42        "libbinder_ndk",
43        "android.hardware.keymaster@4.0",
44        "libcredstore_aidl",
45        "libcrypto",
46        "libutils",
47        "libhidlbase",
48        "android.hardware.identity-support-lib",
49        "libkeymaster4support",
50        "libkeystore-attestation-application-id",
51        "android.hardware.security.keymint-V1-ndk_platform",
52        "android.security.authorization-ndk_platform",
53    ],
54    static_libs: [
55        "android.hardware.identity-V3-cpp",
56        "android.hardware.keymaster-V3-cpp",
57        "libcppbor_external",
58    ]
59}
60
61filegroup {
62    name: "credstore_aidl",
63    srcs: [
64        "binder/android/security/identity/ICredential.aidl",
65        "binder/android/security/identity/IWritableCredential.aidl",
66        "binder/android/security/identity/ICredentialStore.aidl",
67        "binder/android/security/identity/AccessControlProfileParcel.aidl",
68        "binder/android/security/identity/EntryNamespaceParcel.aidl",
69        "binder/android/security/identity/EntryParcel.aidl",
70        "binder/android/security/identity/RequestNamespaceParcel.aidl",
71        "binder/android/security/identity/RequestEntryParcel.aidl",
72        "binder/android/security/identity/ResultNamespaceParcel.aidl",
73        "binder/android/security/identity/ResultEntryParcel.aidl",
74        "binder/android/security/identity/GetEntriesResultParcel.aidl",
75        "binder/android/security/identity/AuthKeyParcel.aidl",
76        "binder/android/security/identity/SecurityHardwareInfoParcel.aidl",
77        "binder/android/security/identity/ICredentialStoreFactory.aidl",
78    ],
79    path: "binder",
80}
81
82cc_library_shared {
83    name: "libcredstore_aidl",
84    srcs: [
85        ":credstore_aidl",
86        ],
87    aidl: {
88        export_aidl_headers: true,
89        include_dirs: [
90            "system/security/identity/binder",
91        ],
92    },
93    shared_libs: [
94        "libbinder",
95        "libutils",
96        "libkeymaster4support",
97    ],
98    export_shared_lib_headers: [
99        "libbinder",
100    ],
101}
102