// *** 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-ISC",
        "SPDX-license-identifier-MIT",
        "legacy_unencumbered",
    ],
}

cc_library_headers {
    name: "gfxstream_headers",
    host_supported: true,
    export_include_dirs: [
        ".",
        "include",
        "gl-host-common/include",
        "stream-servers",
        "stream-servers/gl",
        "stream-servers/gl/glestranslator/include",
        "stream-servers/vulkan",
        "utils/include",
    ],
    header_libs: [
        "aemu_common_headers",
        "gfxstream_magma_headers",
        "gfxstream_vulkan_headers",
    ],
    export_header_lib_headers: [
        "aemu_common_headers",
        "gfxstream_magma_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_library_headers {
    name: "gfxstream_magma_headers",
    host_supported: true,
    export_include_dirs: [
        "third-party/fuchsia/magma/include",
        // TODO(b/274956288): use consistent header paths
        "third-party/fuchsia/magma/include/lib",
    ],
    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",
    ],
}
