// ANDROIDMK TRANSLATION ERROR: unsupported conditional
// ifneq ($(filter hikey960, $(TARGET_DEVICE)),)

soong_namespace {}

cc_prebuilt_library_shared {
    name: "libGLES_mali",
    notice: "END_USER_LICENCE_AGREEMENT.txt",
    strip: {
        none: true,
    },
    arch: {
        arm: {
            srcs: ["lib/egl/libGLES_mali.so"],
        },
        arm64: {
            srcs: ["lib64/egl/libGLES_mali.so"],
        },
    },
    vendor: true,
    relative_install_path: "egl",

    compile_multilib: "both",
    shared_libs: [
        "android.hardware.graphics.common@1.0",
        "libz",
        "libnativewindow",
        "libc++",
        "liblog",
        "libm",
        "libc",
        "libdl",
    ],
}

cc_prebuilt_library_shared {
    name: "libbccArm",
    notice: "END_USER_LICENCE_AGREEMENT.txt",
    strip: {
        none: true,
    },
    arch: {
        arm64: {
            srcs: ["lib64/libbccArm.so"],
        },
    },
    vendor: true,
    compile_multilib: "64",
    // Bypass prebuilt ELF check because libLLVM is not a module (it is copied by
    // PRODUCT_COPY_FILES instead).
    check_elf_files: false,
}

cc_prebuilt_library_shared {
    name: "libRSDriverArm",
    notice: "END_USER_LICENCE_AGREEMENT.txt",
    strip: {
        none: true,
    },
    arch: {
        arm: {
            srcs: ["lib/libRSDriverArm.so"],
        },
        arm64: {
            srcs: ["lib64/libRSDriverArm.so"],
        },
    },
    vendor: true,
    compile_multilib: "both",
    shared_libs: [
        "libRS_internal",
        "libRSCpuRef",
        "liblog",
        "libnativewindow",
        "libbcinfo",
        "libdl",
        "libc++",
        "libc",
        "libm",
    ],
}

cc_prebuilt_library_shared {
    name: "libmalicore.bc",
    notice: "END_USER_LICENCE_AGREEMENT.txt",

    strip: {
        none: true,
    },
    arch: {
        arm: {
            srcs: ["lib/libmalicore.bc"],
        },
        arm64: {
            srcs: ["lib64/libmalicore.bc"],
        },
    },
   vendor: true,
   compile_multilib: "both",
}

cc_prebuilt_library_shared {
    name: "vulkan.hikey960",
    notice: "END_USER_LICENCE_AGREEMENT.txt",

    strip: {
        none: true,
    },
    arch: {
        arm: {
            srcs: ["lib/hw/vulkan.hikey960.so"],
        },
        arm64: {
            srcs: ["lib64/hw/vulkan.hikey960.so"],
        },
    },
    vendor: true,
    relative_install_path: "hw",
    compile_multilib: "both",
    shared_libs: [
        "android.hardware.graphics.common@1.0",
        "libz",
        "libnativewindow",
        "libc++",
        "liblog",
        "libm",
        "libc",
        "libdl",
    ],
    // Bypass prebuilt ELF check because the DT_SONAME "libGLES_mali.so" is
    // different from LOCAL_MODULE "vulkan.hikey960.so".
    check_elf_files: false,
}

// ANDROIDMK TRANSLATION ERROR: endif from unsupported conditional
// endif
