| # Copyright 2021 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| declare_args() { |
| # List of GN paths to source files to be instrumented by `profile` variants. |
| profile_source_files = [ |
| # https://fxbug.dev/42061298: profile all checked-in sources. |
| # (don't profile generated sources under out/) |
| "//*", |
| ] |
| |
| # List of GN paths to source files to NOT instrument by `profile` variants. |
| # These take precedence over `profile_source_files`. |
| dont_profile_source_files = [ |
| # Do not instrument system headers that are under //prebuilt. |
| "//prebuilt/*", |
| # https://fxbug.dev/42061298: don't profile //third_party. |
| # https://fxbug.dev/42067345: uncomment the below when issue is fixed. |
| # Also, change the expression to not reject //third_party/cobalt/* |
| #"//third_party/*", |
| ] |
| |
| # List GN path to files in Clang's `-fprofile-list` format describing files |
| # and functions to be instrumented by `profile` variants. |
| profile_source_files_list_files = [] |
| |
| # Profile data path that is used by PGO. |
| pgo_profile_path = "" |
| } |
| |
| # This helps build code discern whether all code is being instrumented by |
| # default or not. If it's true, then additional -fprofile-list=... switches |
| # may be required to ensure particular code (e.g. in tests) gets instrumented. |
| # |
| # Type: bool |
| selective_profiling = profile_source_files + dont_profile_source_files + |
| profile_source_files_list_files != [] |