• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2020 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#
5# Contains the build rules for confidential trace tests.
6
7import("../../../gni/angle.gni")
8
9angle_shared_library("angle_restricted_trace_loader") {
10  sources = [
11    "restricted_traces_autogen.h",
12    "restricted_traces_export.h",
13    "trace_egl_loader_autogen.cpp",
14    "trace_egl_loader_autogen.h",
15    "trace_gles_loader_autogen.cpp",
16    "trace_gles_loader_autogen.h",
17  ]
18  defines = [ "ANGLE_TRACE_LOADER_IMPLEMENTATION" ]
19  deps = [ "$angle_root:includes" ]
20}
21
22angle_trace_fixture("angle_restricted_trace_fixture") {
23  gl_header = "angle_trace_gl.h"
24  public_deps = [
25    ":angle_restricted_trace_loader",
26    "$angle_root/util:angle_util",
27  ]
28  public_configs = [ "$angle_root:no_gl_prototypes" ]
29}
30
31# Imports "angle_restricted_traces"
32import("restricted_traces_autogen.gni")
33_traces = []
34_trace_headers = []
35
36foreach(_trace_data, angle_restricted_traces) {
37  _trace = _trace_data[0]
38  _trace_ctx = _trace_data[1]
39  _target = "angle_restricted_trace_${_trace}"
40
41  angle_trace(_target) {
42    sources = _trace_data[2]
43    data = _trace_data[3]
44    trace_prefix = _trace_data[4]
45    fixture = ":angle_restricted_trace_fixture"
46  }
47
48  _traces += [ ":${_target}" ]
49  _trace_headers += [ ":${_target}_headers" ]
50}
51
52angle_shared_library("angle_restricted_traces") {
53  testonly = true
54
55  sources = [
56    "restricted_traces_autogen.cpp",
57    "restricted_traces_autogen.h",
58    "restricted_traces_export.h",
59  ]
60
61  data = [ "restricted_traces.json" ]
62
63  data_deps = _traces
64  defines = [ "ANGLE_TRACE_IMPLEMENTATION" ]
65
66  deps = [
67           "$angle_root:angle_common",
68           "$angle_root/util:angle_util",
69         ] + _trace_headers
70
71  public_deps = [ ":angle_restricted_trace_loader" ]
72}
73
74group("goldctl") {
75  data = []
76
77  # Because this links to a CIPD dependency, which is a symlink on Unix
78  # platforms, refer to the actual executable rather than the whole directory;
79  # copying the whole directory doesn't work, at least with "mb.py zip".
80  if (is_win) {
81    data += [ "${skia_root_dir}/tools/skia_goldctl/win/goldctl.exe" ]
82  } else if (is_mac) {
83    data += [ "${skia_root_dir}/tools/skia_goldctl/mac/goldctl" ]
84  } else {
85    data += [ "${skia_root_dir}/tools/skia_goldctl/linux/goldctl" ]
86  }
87}
88
89group("angle_restricted_trace_gold_tests") {
90  testonly = true
91  data_deps = [
92    ":goldctl",
93    "$angle_root/src/tests:angle_perftests",
94    "$angle_root/src/tests:angle_system_info_test",
95  ]
96  data = [
97    "restricted_trace_gold_tests.py",
98    "restricted_traces.json",
99    "../skia_gold/",
100    "${skia_root_dir}/build/skia_gold_common/",
101    "${skia_root_dir}/testing/scripts/common.py",
102    "${skia_root_dir}/testing/xvfb.py",
103  ]
104}
105