Commit ea74dd59 authored by Daniel Bratell's avatar Daniel Bratell Committed by Commit Bot

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/727980Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarBruce Dawson <brucedawson@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#510155}
parent 6e01fbc9
...@@ -1467,16 +1467,26 @@ jumbo_component("platform") { ...@@ -1467,16 +1467,26 @@ jumbo_component("platform") {
get_target_outputs(":instrumentation_probes") + get_target_outputs(":instrumentation_probes") +
get_target_outputs(":runtime_enabled_features") get_target_outputs(":runtime_enabled_features")
if (is_win && is_component_build) { if (is_win) {
# 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 = [ jumbo_excluded_sources = [
"LinkHash.cpp", # https://crbug.com/775979 - Uses libjpeg_turbo which uses a
"weborigin/KURL.cpp", # "boolean" typedef which is different (int) from the Windows
"weborigin/OriginAccessEntry.cpp", # standard "boolean" typedef (unsigned char), resulting in
"weborigin/SecurityOrigin.cpp", # 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 += [ configs += [
":blink_platform_pch", ":blink_platform_pch",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment