|  | # Copyright 2016 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. | 
|  |  | 
|  | # CrOS builds must cross-compile on a Linux host for the actual CrOS | 
|  | # device target. There are many different CrOS devices so the build | 
|  | # system provides configuration variables that permit a CrOS build to | 
|  | # control the cross-compilation tool chain. However, requiring such | 
|  | # fine-grain specification is tedious for build-bots and developers. | 
|  | # Consequently, the CrOS build system defaults to a convenience | 
|  | # compilation mode where the compilation host is also the build target. | 
|  | # | 
|  | # Chrome can be compiled in this way with the gn variable: | 
|  | # | 
|  | # target_os = "chromeos" | 
|  | # | 
|  | # To perform a board-specific build, first obtain the correct system | 
|  | # root (http://goo.gl/aFB4XH) for the board. Then configure GN to use it | 
|  | # by setting appropriate cross-compilation variables. | 
|  | # | 
|  | # For example, to compile a Chrome source tree in /g/src for an | 
|  | # auron_paine CrOS device with the system root cached in /g/.cros_cache, | 
|  | # the following GN arguments must be provided to configure | 
|  | # cross-compilation with Goma acceleration. (NB: additional variables | 
|  | # will be necessary to successfully compile a working CrOS Chrome. See | 
|  | # the definition of GYP_DEFINES inside a sysroot shell.) | 
|  | # | 
|  | # goma_dir = "/g/.cros_cache/common/goma+2" | 
|  | # target_sysroot= /g/.cros_cache/chrome-sdk/tarballs/auron_paine+7644.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz" | 
|  | # cros_target_cc = "x86_64-cros-linux-gnu-gcc -B/g/.cros_cache/chrome-sdk/tarballs/auron_paine+7657.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/x86_64-cros-linux-gnu/binutils-bin/2.25.51-gold" | 
|  | # cros_target_cxx = "x86_64-cros-linux-gnu-g++ -B/g/.cros_cache/chrome-sdk/tarballs/auron_paine+7657.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/x86_64-cros-linux-gnu/binutils-bin/2.25.51-gold" | 
|  | # cros_target_ar = "x86_64-cros-linux-gnu-gcc-ar" | 
|  | # target_cpu = "x64" | 
|  |  | 
|  | declare_args() { | 
|  | # These must be specified for a board-specific build. | 
|  | cros_target_ar = "ar" | 
|  | cros_target_cc = "gcc" | 
|  | cros_target_cxx = "g++" | 
|  | cros_target_ld = "" | 
|  | cros_target_nm = "" | 
|  | cros_target_readelf = "" | 
|  |  | 
|  | # These can be optionally set. The "_cppflags"  will be applied to *both* | 
|  | # C and C++ files; use "_cxxflags" for C++-only flags. | 
|  | cros_target_extra_cflags = "" | 
|  | cros_target_extra_cppflags = "" | 
|  | cros_target_extra_cxxflags = "" | 
|  | cros_target_extra_ldflags = "" | 
|  |  | 
|  | # is_clang is used instead of cros_target_is_clang | 
|  |  | 
|  | cros_host_ar = "ar" | 
|  | cros_host_cc = "gcc" | 
|  | cros_host_cxx = "g++" | 
|  | cros_host_ld = "" | 
|  | cros_host_nm = "" | 
|  | cros_host_readelf = "" | 
|  | cros_host_extra_cflags = "" | 
|  | cros_host_extra_cppflags = "" | 
|  | cros_host_extra_cxxflags = "" | 
|  | cros_host_extra_ldflags = "" | 
|  | cros_host_is_clang = false | 
|  |  | 
|  | cros_v8_snapshot_ar = "ar" | 
|  | cros_v8_snapshot_cc = "gcc" | 
|  | cros_v8_snapshot_cxx = "g++" | 
|  | cros_v8_snapshot_ld = "" | 
|  | cros_v8_snapshot_nm = "" | 
|  | cros_v8_snapshot_readelf = "" | 
|  | cros_v8_snapshot_extra_cflags = "" | 
|  | cros_v8_snapshot_extra_cppflags = "" | 
|  | cros_v8_snapshot_extra_cxxflags = "" | 
|  | cros_v8_snapshot_extra_ldflags = "" | 
|  | cros_v8_snapshot_is_clang = false | 
|  |  | 
|  | cros_nacl_bootstrap_extra_cflags = "" | 
|  | cros_nacl_bootstrap_extra_cppflags = "" | 
|  | cros_nacl_bootstrap_extra_cxxflags = "" | 
|  | cros_nacl_bootstrap_extra_ldflags = "" | 
|  | } |