Currently, a cros-sdk-based ChromeOS GN build will set a whole bunch of GN args in args.gn.
Unfortunately, when you explicitly set args in args.gn, they apply to *all* toolchains, unless the toolchain_args() explicitly overrides them.
This means that if you set `is_ozone=true` in args.gn, and then to a target_os="chromeos" build but depend on something using an android toolchain, the android toolchain will suddenly see is_ozone=true as well, even though that normally is never true and isn't wanted.
It's probably not feasible to explicitly turn off every possible arg in every toolchain_arg() invocation, so we need to figure out either if there's a way to get CrOS to stop explicitly specifying so many args, or we might need a better way to indicate which args should have affect in which toolchains.
A related issue is that we already have a bunch of toolchain-specific args for CrOS (like cros_target_cc and cros_host_cc) that reflect a similar problem. Maybe we can fix both at the same time.
Comment 1 by dpranke@chromium.org
, Apr 26 2018