chromium-src-build/toolchain
dpranke 5cb2ea1147 Rework the way ChromiumOS toolchains will work in GN.
This CL reworks the way ChromiumOS toolchains work in GN, in such a way
that they might actually have all the flags they need for the
ChromiumOS ebuild files to be able to set all of the flags it needs
(though there are still some missing GN build_args).

Specifically, the ebuild will now need to set the following in args.gn:

  host_toolchain = "//build/toolchain/cros:host"
  v8_snapshot_toolchain = "//build/toolchain/cros:v8_snapshot"

in order to support boards other than the amd64-generic build. The
ebuild should actually set these variables all the time; it just
happens that the amd64-generic build will work at the moment without
the variables, but that will not be guaranteed to remain true in the future.

This CL also adds the following optional build args that do pretty
much what you'd expect them to do:

  cros_target_ld, cros_target_extra_cflags, cros_target_extra_cppflags,
  cros_target_extra_cxx_flags, cros_target_extra_ldflags,
  cros_host_ar, cros_host_cc, cros_host_cxx, cros_host_ld,
  cros_host_is_clang, cros_host_extra_cflags, cros_host_extra_cppflags,
  cros_host_extra_cxx_flags, cros_host_extra_ldflags,
  cros_v8_snapshot_ar, cros_v8_snapshot_cc, cros_v8_snapshot_cxx,
  cros_v8_snapshot_ld, cros_v8_snapshot_extra_cflags,
  cros_v8_snapshot_extra_cppflags, cros_v8_snapshot_extra_cxx_flags,
  cros_v8_snapshot_extra_ldflags

This CL should be backwards-compatible with the existing linux desktop
ChromiumOS builds and the amd64-generic simplechrome/ebuild (i.e., it
can be landed and reverted w/o requiring any other changes to be made).
It is a big hammer intended to un-block the ChromiumOS GN migration
while we continue thinking about how to best support ChromiumOS.

R=stevenjb@chromium.org, brettw@chromium.org
BUG=608596, 595653

Review-Url: https://codereview.chromium.org/1983613002
Cr-Original-Commit-Position: refs/heads/master@{#394534}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8ad2f49335feaddddbd3f318fc6f4d13eb52760b
2016-05-18 20:34:27 +00:00
..
android MIPS64: Fix MIPS64 related issues in GN files 2016-05-18 10:49:24 +00:00
cros Rework the way ChromiumOS toolchains will work in GN. 2016-05-18 20:34:27 +00:00
linux Add option cc_wrapper to GN 2016-02-24 09:29:19 +00:00
mac [Mac/GN] Set up the component build. 2016-05-11 02:14:57 +00:00
nacl Add option cc_wrapper to GN 2016-02-24 09:29:19 +00:00
win win toolchain: Always use ; for all env vars except PATH, even on non-Windows. 2016-05-10 19:17:57 +00:00
OWNERS Add dpranke, scottmg as owners for GN-related files in src/build. 2014-12-12 18:56:50 +00:00
cc_wrapper.gni Add option cc_wrapper to GN 2016-02-24 09:29:19 +00:00
gcc_ar_wrapper.py GN: Make PNaCl toolchains work on Windows 2015-12-01 22:19:02 +00:00
gcc_link_wrapper.py GN: Make PNaCl toolchains work on Windows 2015-12-01 22:19:02 +00:00
gcc_solink_wrapper.py GN: Make PNaCl toolchains work on Windows 2015-12-01 22:19:02 +00:00
gcc_toolchain.gni Rework the way ChromiumOS toolchains will work in GN. 2016-05-18 20:34:27 +00:00
get_concurrent_links.py Reserve more RAM per Gold process. 2016-05-18 15:19:04 +00:00
goma.gni Use c:\goma\goma-win64 as default gomadir on Windows. 2016-03-07 06:39:39 +00:00
nacl_toolchain.gni Release clobber error fixes 2016-05-05 11:10:35 +00:00
toolchain.gni Replacing hard-coded clang version by a common variable. 2016-05-03 20:36:57 +00:00