// Copyright (C) 2017 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_library_headers {
    name: "libdvr_headers",
    owner: "google",
    export_include_dirs: ["include"],
}

cflags = [
    "-DLOG_TAG=\"libdvr\"",
]

srcs = [
    "dvr_api.cpp",
    "dvr_buffer.cpp",
    "dvr_buffer_queue.cpp",
    "dvr_display_manager.cpp",
    "dvr_hardware_composer_client.cpp",
    "dvr_surface.cpp",
    "dvr_vsync.cpp",
]

static_libs = [
    "libbufferhub",
    "libbufferhubqueue",
    "libdisplay",
    "libvrsensor",
    "libvirtualtouchpadclient",
    "libvr_hwc-impl",
    "libvr_hwc-binder",
    "libgrallocusage",
    "libpdx_default_transport",
]

shared_libs = [
    "android.hardware.graphics.bufferqueue@1.0",
    "android.hidl.token@1.0-utils",
    "libbase",
    "libbinder",
    "liblog",
    "libcutils",
    "libutils",
    "libnativewindow",
    "libgui",
    "libui",
]

cc_library_shared {
    name: "libdvr",
    owner: "google",
    cflags: cflags,
    header_libs: ["libdvr_headers"],
    export_header_lib_headers: ["libdvr_headers"],
    srcs: srcs,
    static_libs: static_libs,
    shared_libs: shared_libs,
    version_script: "exported_apis.lds",
}

// Also build a static libdvr for linking into tests. The linker script
// restricting function access in the shared lib makes it inconvenient to use in
// test code.
cc_library_static {
    name: "libdvr_static",
    owner: "google",
    cflags: cflags,
    header_libs: ["libdvr_headers"],
    export_header_lib_headers: ["libdvr_headers"],
    srcs: srcs,
    static_libs: static_libs,
    shared_libs: shared_libs,
}

subdirs = [
    "tests",
]