// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
//     CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
//     DEPENDING ON IT IN YOUR PROJECT. ***
package {
    default_applicable_licenses: ["device_generic_vulkan-cereal_license"],
}

// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
// See: http://go/android-license-faq
license {
    name: "device_generic_vulkan-cereal_license",
    visibility: [
        "//hardware/google/aemu:__subpackages__",
        ":__subpackages__",
    ],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-BSD",
        "SPDX-license-identifier-CC-BY",
        "SPDX-license-identifier-GPL",
        "SPDX-license-identifier-GPL-2.0",
        "SPDX-license-identifier-GPL-3.0",
        "SPDX-license-identifier-ISC",
        "SPDX-license-identifier-LGPL",
        "SPDX-license-identifier-MIT",
        "SPDX-license-identifier-OFL", // by exception only
        "SPDX-license-identifier-Zlib",
        "legacy_by_exception_only", // by exception only
        "legacy_notice",
        "legacy_unencumbered",
    ],
    // large-scale-change unable to identify any license_text files
}

cc_library_headers {
    name: "gfxstream_headers",
    host_supported: true,
    export_include_dirs: [
        ".",
        "include",
        "stream-servers",
        "stream-servers/gl",
        "stream-servers/gl/glestranslator/include",
        "stream-servers/vulkan",
        "utils/include",
    ],
    header_libs: [
        "aemu_common_headers",
        "gfxstream_vulkan_headers",
    ],
    export_header_lib_headers: [
        "aemu_common_headers",
        "gfxstream_vulkan_headers",
    ],
    apex_available: [
        "//apex_available:platform",
        "com.android.virt",
    ],
}

cc_library_headers {
    name: "gfxstream_x11_headers",
    host_supported: true,
    export_include_dirs: [
        "stream-servers/apigen-codec-common",
    ],
    apex_available: [
        "//apex_available:platform",
        "com.android.virt",
    ],
}

cc_defaults {
    name: "gfxstream_defaults",
    cflags: [
        // Android build system has some global cflags that we cannot override (e.g.
        // -Werror=return-type), so -Wno-return-type and -Wno-return-type-c-linkage will not work.
        // See build/soong/cc/config/global.go
        "-DUSING_ANDROID_BP",
        "-D_FILE_OFFSET_BITS=64",
        "-DVIRGL_RENDERER_UNSTABLE_APIS",
        "-Wno-unreachable-code-loop-increment",
        "-Wno-unused-parameter",
        "-Wno-unused-function",
        "-Wno-unused-variable",
        "-Wno-ignored-qualifiers",
        "-Wno-reorder-ctor",
        "-Wno-mismatched-tags",
        "-Wno-missing-field-initializers",
        "-Wno-implicit-fallthrough",
        "-Wno-unused-private-field",
        "-Wno-macro-redefined",
    ],
    header_libs: [
        "gfxstream_headers",
        "gfxstream_x11_headers",
    ],
    target: {
        host: {
            compile_multilib: "64",
            cflags: [
                "-U__ANDROID__",
                "-UANDROID",
            ]
        },
        android: {
            compile_multilib: "64",
            shared_libs: [ "libnativewindow", ],
        },
        linux_bionic_arm64: {
            enabled: true,
            cflags: [ "-Dandroidbionic", ],
        }
    },
    host_supported: true,

    apex_available: [
        "//apex_available:platform",
        "com.android.virt",
    ],
}
