/*
 * Copyright (C) 2020 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at:
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

cc_test {
    name: "CVE-2019-2134",
    defaults: ["cts_hostsidetests_securitybulletin_defaults"],
    srcs: [
        "poc.cpp",
    ],
    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            include_dirs: [
                "packages/apps/Nfc/nci/jni/extns/pn54x/src/mifare/",
                "packages/apps/Nfc/nci/jni/extns/pn54x/src/common/",
                "packages/apps/Nfc/nci/jni/extns/pn54x/inc/",
                "system/nfc/src/nfa/include/",
                "system/nfc/src/gki/common/",
                "system/nfc/src/include/",
                "system/nfc/src/gki/ulinux/",
                "system/nfc/src/nfc/include/",
            ],
            shared_libs: [
                "libnfc_nci_jni",
            ],
            suffix: "64",
        },
    },
}
