| # 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. | 
 |  | 
 | config("compiler") { | 
 |   configs = [ | 
 |     ":include_dirs", | 
 |     ":cpp_standard", | 
 |     ":objc_use_arc", | 
 |     ":objc_abi_version", | 
 |   ] | 
 | } | 
 |  | 
 | config("shared_binary") { | 
 |   if (current_os == "ios" || current_os == "mac") { | 
 |     configs = [ ":rpath_config" ] | 
 |   } | 
 | } | 
 |  | 
 | config("objc_abi_version") { | 
 |   cflags_objc = [ "-fobjc-abi-version=2" ] | 
 |   cflags_objcc = cflags_objc | 
 |   ldflags = [ | 
 |     "-Xlinker", | 
 |     "-objc_abi_version", | 
 |     "-Xlinker", | 
 |     "2", | 
 |   ] | 
 | } | 
 |  | 
 | config("include_dirs") { | 
 |   include_dirs = [ | 
 |     "//", | 
 |     root_out_dir, | 
 |   ] | 
 | } | 
 |  | 
 | config("objc_use_arc") { | 
 |   cflags_objc = [ | 
 |     "-fobjc-arc", | 
 |     "-fobjc-weak", | 
 |   ] | 
 |   cflags_objcc = cflags_objc | 
 | } | 
 |  | 
 | config("cpp_standard") { | 
 |   cflags_c = [ "--std=c11" ] | 
 |   cflags_cc = [ | 
 |     "--std=c++17", | 
 |     "--stdlib=libc++", | 
 |   ] | 
 |   ldflags = [ "--stdlib=libc++" ] | 
 | } | 
 |  | 
 | if (current_os == "ios" || current_os == "mac") { | 
 |   config("rpath_config") { | 
 |     ldflags = [ | 
 |       "-Xlinker", | 
 |       "-rpath", | 
 |       "-Xlinker", | 
 |       "@executable_path/Frameworks", | 
 |       "-Xlinker", | 
 |       "-rpath", | 
 |       "-Xlinker", | 
 |       "@loader_path/Frameworks", | 
 |     ] | 
 |   } | 
 | } |