| # 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", |
| ] |
| } |
| } |