// Copyright 2010 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: "libgui_headers",
    vendor_available: true,
    export_include_dirs: ["include"],
}

cc_library_shared {
    name: "libgui",
    vendor_available: true,
    vndk: {
        enabled: true,
    },

    clang: true,
    cppflags: [
        "-Weverything",
        "-Werror",

        // The static constructors and destructors in this library have not been noted to
        // introduce significant overheads
        "-Wno-exit-time-destructors",
        "-Wno-global-constructors",

        // We only care about compiling as C++14
        "-Wno-c++98-compat-pedantic",

        // We don't need to enumerate every case in a switch as long as a default case
        // is present
        "-Wno-switch-enum",

        // Allow calling variadic macros without a __VA_ARGS__ list
        "-Wno-gnu-zero-variadic-macro-arguments",

        // Don't warn about struct padding
        "-Wno-padded",

        // We are aware of the risks inherent in comparing floats for equality
        "-Wno-float-equal",

        // Pure abstract classes trigger this warning
        "-Wno-weak-vtables",

        // Allow four-character integer literals
	"-Wno-four-char-constants",

        // Allow documentation warnings
        "-Wno-documentation",

        "-DDEBUG_ONLY_CODE=0",
    ],

    product_variables: {
        brillo: {
            cflags: ["-DHAVE_NO_SURFACE_FLINGER"],
        },
        eng: {
            cppflags: [
                "-UDEBUG_ONLY_CODE",
                "-DDEBUG_ONLY_CODE=1",
            ],
        },
    },

    srcs: [
        "BitTube.cpp",
        "BufferItem.cpp",
        "BufferItemConsumer.cpp",
        "BufferQueue.cpp",
        "BufferQueueConsumer.cpp",
        "BufferQueueCore.cpp",
        "BufferQueueProducer.cpp",
        "BufferSlot.cpp",
        "ConsumerBase.cpp",
        "CpuConsumer.cpp",
        "DisplayEventReceiver.cpp",
        "FrameTimestamps.cpp",
        "GLConsumer.cpp",
        "GuiConfig.cpp",
        "IDisplayEventConnection.cpp",
        "IConsumerListener.cpp",
        "IGraphicBufferConsumer.cpp",
        "IGraphicBufferProducer.cpp",
        "IProducerListener.cpp",
        "ISurfaceComposer.cpp",
        "ISurfaceComposerClient.cpp",
        "LayerState.cpp",
        "OccupancyTracker.cpp",
        "StreamSplitter.cpp",
        "Surface.cpp",
        "SurfaceControl.cpp",
        "SurfaceComposerClient.cpp",
        "SyncFeatures.cpp",
        "view/Surface.cpp",
        "bufferqueue/1.0/B2HProducerListener.cpp",
        "bufferqueue/1.0/H2BGraphicBufferProducer.cpp"
    ],

    shared_libs: [
        "libsync",
        "libbinder",
        "libcutils",
        "libEGL",
        "libGLESv2",
        "libui",
        "libutils",
        "libnativewindow",
        "liblog",
        "libhidlbase",
        "libhidltransport",
        "android.hidl.token@1.0-utils",
        "android.hardware.graphics.bufferqueue@1.0",
        "android.hardware.configstore@1.0",
        "android.hardware.configstore-utils",
    ],

    header_libs: [
        "libnativebase_headers",
        "libgui_headers",
    ],

    export_shared_lib_headers: [
        "libbinder",
        "libEGL",
        "libnativewindow",
        "libui",
        "android.hidl.token@1.0-utils",
        "android.hardware.graphics.bufferqueue@1.0",
    ],

    export_header_lib_headers: [
        "libgui_headers",
    ],

    export_include_dirs: [
        "include",
    ],
}

subdirs = ["tests"]
