xref: /aosp_15_r20/external/angle/third_party/OpenCL-CTS/gn/spir/BUILD.gn (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1# Copyright 2024 The ANGLE Project Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//third_party/OpenCL-CTS/gn/angle_ocl_cts.gni")
6
7ocl_cts_source_set("spir") {
8  # TODO: The main.cpp file #includes ../math_brute_force/function_list.cpp, which is not easily
9  # allowed.  It's best to change this file to .h upstream, create a target with that include and
10  # add it to deps.  In the meantime, make gn not complain about this.  http://anglebug.com/42266967
11  check_includes = false
12
13  include_dirs =
14      [ "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir" ]
15  sources = [
16    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/datagen.cpp",
17    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/kernelargs.cpp",
18    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/main.cpp",
19    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/run_build_test.cpp",
20    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/run_services.cpp",
21  ]
22  if (is_win) {
23    cflags = [
24      "/GR",
25      "/EHs",
26      "/EHc",
27    ]
28  } else {
29    cflags = [
30      "-fexceptions",
31      "-frtti",
32    ]
33  }
34  deps = [ ":copy_spir" ]
35}
36
37copy("copy_spir") {
38  sources = [
39    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/api.zip",
40    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/atomics.zip",
41    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/basic.zip",
42    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/binary_type.zip",
43    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/commonfns.zip",
44    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/compile_and_link.zip",
45    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/conversions.zip",
46    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/enum_values.zip",
47    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/geometrics.zip",
48    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/half.zip",
49    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/images_kernel_read_write.zip",
50    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/images_samplerlessRead.zip",
51    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/integer_ops.zip",
52    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/kernel_attributes.zip",
53    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/kernel_image_methods.zip",
54    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/khr.csv",
55    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/math_brute_force.zip",
56    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/printf.zip",
57    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/profiling.zip",
58    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/relationals.zip",
59    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/sampler_enumeration.zip",
60    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/select.zip",
61    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/vec_align.zip",
62    "$angle_root/third_party/OpenCL-CTS/src/test_conformance/spir/vec_step.zip",
63  ]
64  outputs = [ "$root_out_dir/{{source_file_part}}" ]
65}
66