// Copyright (C) 2016 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.

// Headers module is in frameworks/native/vulkan/Android.bp.
ndk_library {
    name: "libvulkan",
    symbol_file: "libvulkan.map.txt",
    first_version: "24",
    unversioned_until: "current",
}

cc_library_shared {
    name: "libvulkan",
    clang: true,
    sanitize: {
        misc_undefined: ["integer"],
    },

    cflags: [
        "-DLOG_TAG=\"vulkan\"",
        "-DVK_USE_PLATFORM_ANDROID_KHR",
        "-DVK_NO_PROTOTYPES",
        "-fvisibility=hidden",
        "-fstrict-aliasing",
        "-Weverything",
        "-Werror",
        "-Wno-padded",
        "-Wno-switch-enum",
        "-Wno-undef",

        //"-DLOG_NDEBUG=0",
    ],

    cppflags: [
        "-std=c++14",
        "-Wno-c99-extensions",
        "-Wno-c++98-compat-pedantic",
        "-Wno-exit-time-destructors",
        "-Wno-float-equal",
        "-Wno-global-constructors",
        "-Wno-zero-length-array",
    ],

    srcs: [
        "api.cpp",
        "api_gen.cpp",
        "debug_report.cpp",
        "driver.cpp",
        "driver_gen.cpp",
        "layers_extensions.cpp",
        "stubhal.cpp",
        "swapchain.cpp",
        "vulkan_loader_data.cpp",
    ],

    export_header_lib_headers: ["vulkan_headers"],
    header_libs: [
        "vulkan_headers",
    ],
    shared_libs: [
        "libziparchive",
        "libhardware",
        "libsync",
        "libbase",
        "liblog",
        "libui",
        "libutils",
        "libcutils",
        "libz",
        "libnativewindow",
    ],
    static_libs: ["libgrallocusage"],
}
