Support spaces in Mac GN build output names.

We can't use object paths with spaces in them due to a mismatch between Ninja and the Mac LD's filelist parameter (explained in more detail in a comment added in the mac toolchain GN file). In order to support output_names with spaces, the object file directory must be based on something else.

Adds a new substitution "{{target_label}}" to the tool that expands to the target name after the colon, not overridden by the output_name. This makes more sense from a directory structure perspective, and label names won't have spaces (they can but don't, and with this change won't work on Mac).

Also adds quoting for Mac tool commands so spaces will work in names.

I made the change in the Mac toolchain definition for testing, but it is currently commented out pending the binary roll. After the binary roll, we should uncomment this and update the other toolchains to match.

BUG=546894

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

Cr-Original-Commit-Position: refs/heads/master@{#358792}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 782b1bc8562e9adbb1ea7d98929d6709ff7290b9
6 files changed
tree: eb4b64156efe03df2f56c5121547063e3e6b696c
  1. tools/