GN: toolchain threading cleanup

Remove the thread-unsafe toolchain pointer on the otherwise-threadsafe Settings object. I replaced it with the toolchain label, and moved the is_default flag from the toolchain to the Settings object.

This required that I pass the toolchain around in a few more places, but also simplifies some other cases.

I removed the toolchain prefix from Ninja rules for the default toolchain since that's not necessary any more for GYP compat.

This fixes an annoying double-free in the toolchain manager. I think my current refactor will clean this up in a later phase.

R=scottmg@chromium.org

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=232657

Review URL: https://codereview.chromium.org/51693002

Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 132715e1e82b1f69fc5a67d3acedb24c12d02e2a
40 files changed
tree: 15861c6bca3b3ec80ffe6170829d001a4525052a
  1. tools/