Add a 'configs_exclude' option to the generated GN 'create_tests' template.

Chromium uses GN's default configs feature which makes all targets default to a
set of configs. It then expects third_party code to take one of them
(chromium_code) out and put in a different one (no_chromium_code).

Because of that, we need a way to tell the template to emit -= lines. Add a
separate option for that.

(It may be worth making us clean against the chromium_code config rather than
the no_chromium_code one, but I'll explore that separately in case making the C
code clean ends up being a rabbithole.)

BUG=chromium:607294

Change-Id: I2aa179665ab17439cc123fc86a7af9690cd4bcd6
Reviewed-on: https://boringssl-review.googlesource.com/7795
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/util/generate_build_files.py b/util/generate_build_files.py
index 63e09a0..a3721fe 100644
--- a/util/generate_build_files.py
+++ b/util/generate_build_files.py
@@ -272,6 +272,9 @@
         out.write('      "%s",\n' % test)
         out.write('    ]\n')
         out.write('    sources += _test_support_sources\n')
+        out.write('    if (defined(invoker.configs_exclude)) {\n')
+        out.write('      configs -= invoker.configs_exclude\n')
+        out.write('    }\n')
         out.write('    configs += invoker.configs\n')
         out.write('    deps = invoker.deps\n')
         out.write('  }\n')