message: Update WebRTC style guide about GN.
  No-Try: True
  Cr-Commit-Position: refs/heads/main@{#38907}
diff: @@ -222,15 +222,26 @@ guide.
  ### <a name="webrtc-gn-templates"></a>WebRTC-specific GN templates
  -Use the following [GN templates][gn-templ] to ensure that all our
  -[GN targets][gn-target] are built with the same configuration:
  +As shown in the table below, for library targets (`source_set` and
  +`static_library`), you should default on using `rtc_library` (which abstracts
  +away the complexity of using the correct target type for Chromium component
  +builds).
  +
  +The general rule is for library targets is:
  +1. Use `rtc_library`.
  +2. If the library is a header only target use `rtc_source_set`.
  +3. If you really need to generate a static library, use `rtc_static_library`
  + (same for shared libraries, in such case use `rtc_shared_library`).
  +
  +To ensure that all our [GN targets][gn-target] are built with the same
  +configuration, only use the following [GN templates][gn-templ].
  | instead of | use |
  -|------------------|----------------------|
  +|------------------|-----------------------------------------------------------------------------------------|
  | `executable` | `rtc_executable` |
  | `shared_library` | `rtc_shared_library` |
  -| `source_set` | `rtc_source_set` |
  -| `static_library` | `rtc_static_library` |
  +| `source_set` | `rtc_source_set` (only for header only libraries, for everything else use `rtc_library` |
  +| `static_library` | `rtc_static_library` (use `rtc_library` unless you really need `rtc_static_library` |
  | `test` | `rtc_test` |
  