| # Copyright 2019 The Chromium Authors. All rights reserved. | 
 | # Use of this source code is governed by a BSD-style license that can be | 
 | # found in the LICENSE file. | 
 |  | 
 | import("//build/config/chromeos/ui_mode.gni") | 
 |  | 
 | assert(is_chromeos_ash) | 
 |  | 
 | declare_args() { | 
 |   # The location to a file used to dump symbols ordered by Call-Chain Clustering (C3) | 
 |   # https://research.fb.com/wp-content/uploads/2017/01/cgo2017-hfsort-final1.pdf? | 
 |   # to a file, used for generating orderfiles in Chrome OS | 
 |   dump_call_chain_clustering_order = "" | 
 | } | 
 |  | 
 | declare_args() { | 
 |   # Whether or not we're using new pass manager to build and link Chrome | 
 |   use_new_pass_manager = dump_call_chain_clustering_order != "" | 
 | } | 
 |  | 
 | config("print_orderfile") { | 
 |   if (dump_call_chain_clustering_order != "") { | 
 |     _output_orderfile = | 
 |         rebase_path(dump_call_chain_clustering_order, root_build_dir) | 
 |     ldflags = [ "-Wl,--print-symbol-order=$_output_orderfile" ] | 
 |   } | 
 | } | 
 |  | 
 | config("compiler") { | 
 |   if (use_new_pass_manager) { | 
 |     cflags = [ "-fexperimental-new-pass-manager" ] | 
 |     ldflags = [ "-fexperimental-new-pass-manager" ] | 
 |   } | 
 | } |