diff options
4 files changed, 76 insertions, 54 deletions
diff --git a/chromium/third_party/pdfium/core/fxcodec/BUILD.gn b/chromium/third_party/pdfium/core/fxcodec/BUILD.gn index 9f263313508..3027621e820 100644 --- a/chromium/third_party/pdfium/core/fxcodec/BUILD.gn +++ b/chromium/third_party/pdfium/core/fxcodec/BUILD.gn @@ -130,7 +130,7 @@ source_set("fxcodec") { "tiff/tiff_decoder.cpp", "tiff/tiff_decoder.h", ] - deps += [ "../../third_party:fx_tiff" ] + deps += [ "../../third_party:tiff" ] } } diff --git a/chromium/third_party/pdfium/core/fxcodec/tiff/tiff_decoder.cpp b/chromium/third_party/pdfium/core/fxcodec/tiff/tiff_decoder.cpp index e4dc603b9d3..808a4c71cc0 100644 --- a/chromium/third_party/pdfium/core/fxcodec/tiff/tiff_decoder.cpp +++ b/chromium/third_party/pdfium/core/fxcodec/tiff/tiff_decoder.cpp @@ -23,7 +23,11 @@ #include "third_party/base/numerics/safe_conversions.h" extern "C" { -#include "third_party/libtiff/tiffiop.h" +#ifdef USE_SYSTEM_LIBTIFF +#include <tiffio.h> +#else +#include "third_party/libtiff/tiffio.h" +#endif } // extern C namespace { @@ -190,7 +194,7 @@ TIFF* tiff_open(void* context, const char* mode) { tiff_write, tiff_seek, tiff_close, tiff_get_size, tiff_map, tiff_unmap); if (tif) { - tif->tif_fd = (int)(intptr_t)context; + TIFFSetFileno(tif, (int)(intptr_t)context); } return tif; } diff --git a/chromium/third_party/pdfium/pdfium.gni b/chromium/third_party/pdfium/pdfium.gni index e32464744d3..4a0b86ec5cf 100644 --- a/chromium/third_party/pdfium/pdfium.gni +++ b/chromium/third_party/pdfium/pdfium.gni @@ -69,6 +69,9 @@ declare_args() { # Don't build against bundled libpng. pdfium_use_system_libpng = false + # Don't build against bundled libtiff + pdfium_use_system_libtiff = false + # Enable SSE2 for MSVC builds. Ignored if it's not a MSVC build. msvc_use_sse2 = true diff --git a/chromium/third_party/pdfium/third_party/BUILD.gn b/chromium/third_party/pdfium/third_party/BUILD.gn index 57bd69e2068..5695e271214 100644 --- a/chromium/third_party/pdfium/third_party/BUILD.gn +++ b/chromium/third_party/pdfium/third_party/BUILD.gn @@ -520,58 +520,73 @@ source_set("fx_lpng") { } if (pdf_enable_xfa_tiff) { - source_set("fx_tiff") { - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ - "//build/config/compiler:no_chromium_code", - ":pdfium_third_party_config", - ] - if (is_win) { - # Need to undefine the macro since it is redefined in tif_jpeg.c. - configs -= [ "//build/config/win:lean_and_mean" ] + if (pdfium_use_system_libtiff) { + config("system_tiff_config") { + defines = [ "USE_SYSTEM_LIBTIFF" ] + libs = [ "tiff" ] + } + } else { + source_set("fx_tiff") { + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ + "//build/config/compiler:no_chromium_code", + ":pdfium_third_party_config", + ] + if (is_win) { + # Need to undefine the macro since it is redefined in tif_jpeg.c. + configs -= [ "//build/config/win:lean_and_mean" ] + } + deps = [ + ":zlib", + "../core/fxcrt", + "//third_party:jpeg", + ] + sources = [ + "libtiff/tif_aux.c", + "libtiff/tif_close.c", + "libtiff/tif_codec.c", + "libtiff/tif_color.c", + "libtiff/tif_compress.c", + "libtiff/tif_dir.c", + "libtiff/tif_dirinfo.c", + "libtiff/tif_dirread.c", + "libtiff/tif_dirwrite.c", + "libtiff/tif_dumpmode.c", + "libtiff/tif_error.c", + "libtiff/tif_extension.c", + "libtiff/tif_fax3.c", + "libtiff/tif_fax3sm.c", + "libtiff/tif_flush.c", + "libtiff/tif_getimage.c", + "libtiff/tif_jpeg.c", + "libtiff/tif_luv.c", + "libtiff/tif_lzw.c", + "libtiff/tif_next.c", + "libtiff/tif_open.c", + "libtiff/tif_packbits.c", + "libtiff/tif_pixarlog.c", + "libtiff/tif_predict.c", + "libtiff/tif_print.c", + "libtiff/tif_read.c", + "libtiff/tif_strip.c", + "libtiff/tif_swab.c", + "libtiff/tif_thunder.c", + "libtiff/tif_tile.c", + "libtiff/tif_version.c", + "libtiff/tif_warning.c", + "libtiff/tif_write.c", + "libtiff/tiffiop.h", + "libtiff/tiffvers.h", + ] + } + } + + group("tiff") { + if (pdfium_use_system_libtiff) { + public_configs = [ ":system_tiff_config" ] + } else { + public_deps = [ ":fx_tiff" ] } - deps = [ - ":zlib", - "../core/fxcrt", - "//third_party:jpeg", - ] - sources = [ - "libtiff/tif_aux.c", - "libtiff/tif_close.c", - "libtiff/tif_codec.c", - "libtiff/tif_color.c", - "libtiff/tif_compress.c", - "libtiff/tif_dir.c", - "libtiff/tif_dirinfo.c", - "libtiff/tif_dirread.c", - "libtiff/tif_dirwrite.c", - "libtiff/tif_dumpmode.c", - "libtiff/tif_error.c", - "libtiff/tif_extension.c", - "libtiff/tif_fax3.c", - "libtiff/tif_fax3sm.c", - "libtiff/tif_flush.c", - "libtiff/tif_getimage.c", - "libtiff/tif_jpeg.c", - "libtiff/tif_luv.c", - "libtiff/tif_lzw.c", - "libtiff/tif_next.c", - "libtiff/tif_open.c", - "libtiff/tif_packbits.c", - "libtiff/tif_pixarlog.c", - "libtiff/tif_predict.c", - "libtiff/tif_print.c", - "libtiff/tif_read.c", - "libtiff/tif_strip.c", - "libtiff/tif_swab.c", - "libtiff/tif_thunder.c", - "libtiff/tif_tile.c", - "libtiff/tif_version.c", - "libtiff/tif_warning.c", - "libtiff/tif_write.c", - "libtiff/tiffiop.h", - "libtiff/tiffvers.h", - ] } } |