• Morten Stenshorne's avatar
    Merge blink/renderer/core sub-targets into one large core target. · f307caf9
    Morten Stenshorne authored
    This is a continuation of tkent's work in
    https://chromium-review.googlesource.com/c/chromium/src/+/2397378
    
    The sub-directories of Blink core depend on each other, and we don't
    intend to make independent libraries for each of them. We want a
    single library containing everything.
    
    Currently we have build targets in each of them, and it's very
    difficult to declare their dependencies correctly in BUILD.gn
    due to the massive amount of circular dependencies.
    
    The new approach which this CL introduces:
    * A core sub-directory doesn't need BUILD.gn in most cases.
    * It should have build.gni instead, and build.gni should define
      source lists.
    * core/BUILD.gn refers to the lists. All dependencies will also be
      declared here, since there's no way to determine if a sub-directory
      has successfully declared all necessary dependencies (since it's part
      of one big target now).
    * Some of core sub-directories apply optimization flags different
      from others. core/BUILD.gn has 'core_hot' target for them.
    
    There are still a handful of sub-directories under renderer/core/ that
    have a BUILD.gn file, because they have special build flags or special
    targets. We might want to get rid of those eventually as well.
    
    typed_arrays/BUILD.gn is kept because it has no difficult dependencies,
    so it deserves to be a target on its own.
    
    Bug: 800764
    Change-Id: I92cd5bac949fe4c541f21131309cfc66743edb26
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2463919Reviewed-by: default avatarHiroki Nakagawa <nhiroki@chromium.org>
    Reviewed-by: default avatarKent Tamura <tkent@chromium.org>
    Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
    Reviewed-by: default avatarThomas Anderson <thomasanderson@chromium.org>
    Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#818418}
    f307caf9
.gn 15.2 KB