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