// *** 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: ["external_OpenCL-CTS_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: "external_OpenCL-CTS_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-BSD",
        "SPDX-license-identifier-MIT",
        "SPDX-license-identifier-Unlicense",
        "legacy_by_exception_only", // by exception only
        "legacy_proprietary", // by exception only
        "legacy_unencumbered",
    ],
    license_text: [
        "LICENSE.txt",
    ],
}

cc_library_headers {
    name: "ocl-harness-headers",
    export_include_dirs: [
        "test_common/harness",
        "test_common"
    ]
}

cc_defaults {
    name: "ocl-harness-defaults",
    header_libs: [
        "ocl-harness-headers",
    ],
    export_header_lib_headers: [
        "ocl-harness-headers",
    ],
    cflags: [
        "-DCL_EXPERIMENTAL",
        "-DCL_TARGET_OPENCL_VERSION=300",
        "-Wno-#warnings",
        "-Wno-absolute-value",
        "-Wno-asm-operand-widths",
        "-Wno-c++11-narrowing",
        "-Wno-dangling-else",
        "-Wno-date-time",
        "-Wno-deprecated-declarations",
        "-Wno-format",
        "-Wno-ignored-pragmas",
        "-Wno-ignored-qualifiers",
        "-Wno-implicit-fallthrough",
        "-Wno-logical-op-parentheses",
        "-Wno-macro-redefined",
        "-Wno-missing-braces",
        "-Wno-missing-declarations",
        "-Wno-missing-field-initializers",
        "-Wno-non-virtual-dtor",
        "-Wno-overloaded-virtual",
        "-Wno-parentheses",
        "-Wno-parentheses-equality",
        "-Wno-reorder-ctor",
        "-Wno-return-stack-address",
        "-Wno-shift-negative-value",
        "-Wno-sometimes-uninitialized",
        "-Wno-switch",
        "-Wno-unknown-pragmas",
        "-Wno-unneeded-internal-declaration",
        "-Wno-unused-function",
        "-Wno-unused-label",
        "-Wno-unused-parameter",
        "-Wno-unused-variable",
        "-Wno-writable-strings",
        "-fexceptions",
    ],
    static_libs: [
        "ocl-stubs"
    ],
}

cc_library {
    name: "ocl-harness",
    srcs: [ "test_common/harness/*.cpp", ],
    defaults: [ "ocl-harness-defaults" ],
}

cc_defaults {
    name: "ocl-test-defaults",
    defaults: [ "ocl-harness-defaults" ],
    static_libs: [ "ocl-harness" ],
    compile_multilib: "64",
    multilib: {
        lib64: {
            suffix: "64",
        },
    },
}

cc_defaults {
    name: "ocl-test-image-defaults",
    srcs: [ "test_conformance/images/common.cpp" ],
    export_include_dirs: [ "test_conformance/images" ],
    defaults: [ "ocl-test-defaults" ],
}