Add yasm to the GN build.

This is forked off of https://codereview.chromium.org/266613002 The code to compile yasm itself is mostly from that patch, with a few updates for the other changes.

Adds a template for running compiled binaries. Compared to Albert's patch above, this assumes the binary is generated by the source tree so can have a cleaner interface (just specify the label of the tool you use).

The yasm rule is new compared to Albert's patch. It uses a special wrapper script instead of the new compiled_action templates so it can properly support depfiles. This also adds convenient support for defines and include dirs.

This adds some trivial ios changes to the content/public/browser. This should be a NOP now.

Fixes a bug in GN depfile creation. Previously, the .d file was emitted as an output of the script, but this confuses ninja. This change just removes that.

BUG=
R=ajwong@chromium.org

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

Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 137dff6d1b1817fd06a9c77e9b1b1ac0cf3f5edc
3 files changed