Fix Windows jumbo compilation by excluding the jpeg decoder [chromium/src : master]

0 views
Skip to first unread message

Daniel Bratell (Gerrit)

unread,
Oct 19, 2017, 5:36:31 AM10/19/17
to blink-...@chromium.org, kinuko...@chromium.org, Kentaro Hara, Bruce Dawson, Commit Bot, chromium...@chromium.org

haraken, can you please take a look? This seems to be the least bad fix.

View Change

    To view, visit change 727980. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: I268e0890dfc2fae79d0abe54bbd7bf5c0c23226f
    Gerrit-Change-Number: 727980
    Gerrit-PatchSet: 2
    Gerrit-Owner: Daniel Bratell <bra...@opera.com>
    Gerrit-Reviewer: Daniel Bratell <bra...@opera.com>
    Gerrit-Reviewer: Kentaro Hara <har...@chromium.org>
    Gerrit-CC: Bruce Dawson <bruce...@chromium.org>
    Gerrit-CC: Commit Bot <commi...@chromium.org>
    Gerrit-Comment-Date: Thu, 19 Oct 2017 09:36:23 +0000
    Gerrit-HasComments: No
    Gerrit-HasLabels: No

    Daniel Bratell (Gerrit)

    unread,
    Oct 19, 2017, 5:36:43 AM10/19/17
    to Kentaro Hara, blink-...@chromium.org, kinuko...@chromium.org, Bruce Dawson, chromium...@chromium.org, Commit Bot

    Daniel Bratell uploaded patch set #3 to this change.

    View Change

    Fix Windows jumbo compilation by excluding the jpeg decoder

    The jpeg decoder uses libjpeg_turbo which uses a "boolean" type
    defined to be int. At the same time Windows has "boolean" type
    which is unsigned char. If those headers meet in a
    translation unit you get compilation errors.

    An alternative fix would be to redefine libjpeg_turbo to use
    unsigned char for its boolean type.

    Bug: 775979
    Change-Id: I268e0890dfc2fae79d0abe54bbd7bf5c0c23226f
    ---
    M third_party/WebKit/Source/platform/BUILD.gn
    1 file changed, 18 insertions(+), 8 deletions(-)

    To view, visit change 727980. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: newpatchset
    Gerrit-Change-Id: I268e0890dfc2fae79d0abe54bbd7bf5c0c23226f
    Gerrit-Change-Number: 727980
    Gerrit-PatchSet: 3

    Kentaro Hara (Gerrit)

    unread,
    Oct 19, 2017, 7:12:55 AM10/19/17
    to Daniel Bratell, blink-...@chromium.org, kinuko...@chromium.org, Bruce Dawson, Commit Bot, chromium...@chromium.org

    I'm not really happy but I agree that this would be the least bad fix. LGTM.

    Patch set 3:Code-Review +1

    View Change

      To view, visit change 727980. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: chromium/src
      Gerrit-Branch: master
      Gerrit-MessageType: comment
      Gerrit-Change-Id: I268e0890dfc2fae79d0abe54bbd7bf5c0c23226f
      Gerrit-Change-Number: 727980
      Gerrit-PatchSet: 3
      Gerrit-Owner: Daniel Bratell <bra...@opera.com>
      Gerrit-Reviewer: Daniel Bratell <bra...@opera.com>
      Gerrit-Reviewer: Kentaro Hara <har...@chromium.org>
      Gerrit-CC: Bruce Dawson <bruce...@chromium.org>
      Gerrit-CC: Commit Bot <commi...@chromium.org>
      Gerrit-Comment-Date: Thu, 19 Oct 2017 11:12:48 +0000
      Gerrit-HasComments: No
      Gerrit-HasLabels: Yes

      Daniel Bratell (Gerrit)

      unread,
      Oct 19, 2017, 7:54:43 AM10/19/17
      to blink-...@chromium.org, kinuko...@chromium.org, Kentaro Hara, Bruce Dawson, Commit Bot, chromium...@chromium.org

      Patch set 3:Commit-Queue +2

      View Change

        To view, visit change 727980. To unsubscribe, or for help writing mail filters, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: I268e0890dfc2fae79d0abe54bbd7bf5c0c23226f
        Gerrit-Change-Number: 727980
        Gerrit-PatchSet: 3
        Gerrit-Owner: Daniel Bratell <bra...@opera.com>
        Gerrit-Reviewer: Daniel Bratell <bra...@opera.com>
        Gerrit-Reviewer: Kentaro Hara <har...@chromium.org>
        Gerrit-CC: Bruce Dawson <bruce...@chromium.org>
        Gerrit-CC: Commit Bot <commi...@chromium.org>
        Gerrit-Comment-Date: Thu, 19 Oct 2017 11:54:38 +0000
        Gerrit-HasComments: No
        Gerrit-HasLabels: Yes

        Bruce Dawson (Gerrit)

        unread,
        Oct 19, 2017, 1:43:32 PM10/19/17
        to Daniel Bratell, blink-...@chromium.org, kinuko...@chromium.org, Kentaro Hara, Commit Bot, chromium...@chromium.org

        Patch set 3:Code-Review +1

        View Change

          To view, visit change 727980. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: comment
          Gerrit-Change-Id: I268e0890dfc2fae79d0abe54bbd7bf5c0c23226f
          Gerrit-Change-Number: 727980
          Gerrit-PatchSet: 3
          Gerrit-Owner: Daniel Bratell <bra...@opera.com>
          Gerrit-Reviewer: Bruce Dawson <bruce...@chromium.org>
          Gerrit-Reviewer: Daniel Bratell <bra...@opera.com>
          Gerrit-Reviewer: Kentaro Hara <har...@chromium.org>
          Gerrit-CC: Commit Bot <commi...@chromium.org>
          Gerrit-Comment-Date: Thu, 19 Oct 2017 17:43:26 +0000
          Gerrit-HasComments: No
          Gerrit-HasLabels: Yes

          Commit Bot (Gerrit)

          unread,
          Oct 19, 2017, 3:23:00 PM10/19/17
          to Daniel Bratell, blink-...@chromium.org, kinuko...@chromium.org, Bruce Dawson, Kentaro Hara, chromium...@chromium.org

          Commit Bot merged this change.

          View Change

          Approvals: Kentaro Hara: Looks good to me Bruce Dawson: Looks good to me Daniel Bratell: Commit
          Fix Windows jumbo compilation by excluding the jpeg decoder

          The jpeg decoder uses libjpeg_turbo which uses a "boolean" type
          defined to be int. At the same time Windows has "boolean" type
          which is unsigned char. If those headers meet in a
          translation unit you get compilation errors.

          An alternative fix would be to redefine libjpeg_turbo to use
          unsigned char for its boolean type.

          Bug: 775979
          Change-Id: I268e0890dfc2fae79d0abe54bbd7bf5c0c23226f
          Reviewed-on: https://chromium-review.googlesource.com/727980
          Reviewed-by: Kentaro Hara <har...@chromium.org>
          Reviewed-by: Bruce Dawson <bruce...@chromium.org>
          Commit-Queue: Daniel Bratell <bra...@opera.com>
          Cr-Commit-Position: refs/heads/master@{#510155}

          ---
          M third_party/WebKit/Source/platform/BUILD.gn
          1 file changed, 18 insertions(+), 8 deletions(-)

          diff --git a/third_party/WebKit/Source/platform/BUILD.gn b/third_party/WebKit/Source/platform/BUILD.gn
          index 6871e69..1704419 100644
          --- a/third_party/WebKit/Source/platform/BUILD.gn
          +++ b/third_party/WebKit/Source/platform/BUILD.gn
          @@ -1467,16 +1467,26 @@
          get_target_outputs(":instrumentation_probes") +
          get_target_outputs(":runtime_enabled_features")

          - if (is_win && is_component_build) {
          - # https://crbug.com/764823 - Mixing certain //url/ headers and
          - # using url::RawCanonOutputT<char> in one translation unit breaks
          - # the Windows component build. These files use RawCanonOutput.
          + if (is_win) {
          jumbo_excluded_sources = [
          - "LinkHash.cpp",
          - "weborigin/KURL.cpp",
          - "weborigin/OriginAccessEntry.cpp",
          - "weborigin/SecurityOrigin.cpp",
          + # https://crbug.com/775979 - Uses libjpeg_turbo which uses a
          + # "boolean" typedef which is different (int) from the Windows
          + # standard "boolean" typedef (unsigned char), resulting in
          + # compilation errors when both are joined in a translation unit.
          + "image-decoders/jpeg/JPEGImageDecoder.cpp",
          ]
          +
          + if (is_component_build) {
          + # https://crbug.com/764823 - Mixing certain //url/ headers and
          + # using url::RawCanonOutputT<char> in one translation unit breaks
          + # the Windows component build. These files use RawCanonOutput.
          + jumbo_excluded_sources += [
          + "LinkHash.cpp",
          + "weborigin/KURL.cpp",
          + "weborigin/OriginAccessEntry.cpp",
          + "weborigin/SecurityOrigin.cpp",
          + ]
          + }
          }
          configs += [
          ":blink_platform_pch",

          To view, visit change 727980. To unsubscribe, or for help writing mail filters, visit settings.

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: merged
          Gerrit-Change-Id: I268e0890dfc2fae79d0abe54bbd7bf5c0c23226f
          Gerrit-Change-Number: 727980
          Gerrit-PatchSet: 4
          Gerrit-Owner: Daniel Bratell <bra...@opera.com>
          Gerrit-Reviewer: Bruce Dawson <bruce...@chromium.org>
          Gerrit-Reviewer: Commit Bot <commi...@chromium.org>
          Gerrit-Reviewer: Daniel Bratell <bra...@opera.com>
          Gerrit-Reviewer: Kentaro Hara <har...@chromium.org>
          Reply all
          Reply to author
          Forward
          0 new messages