Implement net in GN build.

This does the net target. I started doing some more that are commented out at the bottom, and there are a few more after that do do. The deps of these targets started to build up to an unreasonable level and this should be a good checkpoint.

Fix grit rule.

Fix SSL dependent configs

Add TLD cleanup

Add gconf and gio targets for Linux.

Add sources filtering for ChromeOS, .rc, and .mm files. Remove built-in code that removes .rc and .mm files (this wasn't quite complete so causes problems).

BUG=
[email protected]

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263967 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/crypto/BUILD.gn b/crypto/BUILD.gn
index 110868d..455169c2 100644
--- a/crypto/BUILD.gn
+++ b/crypto/BUILD.gn
@@ -264,8 +264,16 @@
     if (is_linux) {
       # On Linux, we use the system NSS (excepting SSL where we always use our
       # own).
+      #
+      # We always need our SSL header search path to come before the system one
+      # so our versions are used. The libssl target will add the search path we
+      # want, but according to GN's ordering rules, direct_dependent_configs'
+      # search path will get applied before ones inherited from our
+      # dependencies. Therefore, we need to explicitly list our custom libssl's
+      # config here before the system one.
       direct_dependent_configs = [
-        "//third_party/nss:system_nss_no_ssl_config"
+        "//net/third_party/nss/ssl:ssl_config",
+        "//third_party/nss:system_nss_no_ssl_config",
       ]
     } else {
       # Non-Linux platforms use the hermetic NSS from the tree.