| # Copyright 2020 The ANGLE Project Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # |
| # Contains the build rules for confidential trace tests. |
| |
| import("../../../gni/angle.gni") |
| |
| angle_shared_library("angle_restricted_trace_loader") { |
| sources = [ |
| "restricted_traces_autogen.h", |
| "restricted_traces_export.h", |
| "trace_egl_loader_autogen.cpp", |
| "trace_egl_loader_autogen.h", |
| "trace_gles_loader_autogen.cpp", |
| "trace_gles_loader_autogen.h", |
| ] |
| defines = [ "ANGLE_TRACE_LOADER_IMPLEMENTATION" ] |
| deps = [ "$angle_root:includes" ] |
| } |
| |
| angle_trace_fixture("angle_restricted_trace_fixture") { |
| gl_header = "angle_trace_gl.h" |
| public_deps = [ |
| ":angle_restricted_trace_loader", |
| "$angle_root/util:angle_util", |
| ] |
| public_configs = [ "$angle_root:no_gl_prototypes" ] |
| } |
| |
| # Imports "angle_restricted_traces" |
| import("restricted_traces_autogen.gni") |
| _traces = [] |
| _trace_headers = [] |
| |
| foreach(_trace_data, angle_restricted_traces) { |
| _trace = _trace_data[0] |
| _trace_ctx = _trace_data[1] |
| _target = "angle_restricted_trace_${_trace}" |
| |
| angle_trace(_target) { |
| sources = _trace_data[2] |
| data = _trace_data[3] |
| trace_prefix = _trace_data[4] |
| fixture = ":angle_restricted_trace_fixture" |
| } |
| |
| _traces += [ ":${_target}" ] |
| _trace_headers += [ ":${_target}_headers" ] |
| } |
| |
| angle_shared_library("angle_restricted_traces") { |
| testonly = true |
| |
| sources = [ |
| "restricted_traces_autogen.cpp", |
| "restricted_traces_autogen.h", |
| "restricted_traces_export.h", |
| ] |
| |
| data = [ "restricted_traces.json" ] |
| |
| data_deps = _traces |
| defines = [ "ANGLE_TRACE_IMPLEMENTATION" ] |
| |
| deps = [ |
| "$angle_root:angle_common", |
| "$angle_root/util:angle_util", |
| ] + _trace_headers |
| |
| public_deps = [ ":angle_restricted_trace_loader" ] |
| } |
| |
| group("goldctl") { |
| data = [] |
| |
| # Because this links to a CIPD dependency, which is a symlink on Unix |
| # platforms, refer to the actual executable rather than the whole directory; |
| # copying the whole directory doesn't work, at least with "mb.py zip". |
| if (is_win) { |
| data += [ "//tools/skia_goldctl/win/goldctl.exe" ] |
| } else if (is_mac) { |
| data += [ "//tools/skia_goldctl/mac/goldctl" ] |
| } else { |
| data += [ "//tools/skia_goldctl/linux/goldctl" ] |
| } |
| } |
| |
| group("angle_restricted_trace_gold_tests") { |
| testonly = true |
| data_deps = [ |
| ":goldctl", |
| "$angle_root/src/tests:angle_perftests", |
| "$angle_root/src/tests:angle_system_info_test", |
| ] |
| data = [ |
| "restricted_trace_gold_tests.py", |
| "restricted_traces.json", |
| "../skia_gold/", |
| "//build/skia_gold_common/", |
| "//testing/scripts/common.py", |
| "//testing/xvfb.py", |
| ] |
| } |