| diff a/third_party/libtiff/tiffiop.h b/third_party/libtiff/tiffiop.h | 
 | --- a/third_party/libtiff/tiffiop.h | 
 | +++ b/third_party/libtiff/tiffiop.h | 
 | @@ -30,7 +30,7 @@ | 
 |   * ``Library-private'' definitions. | 
 |   */ | 
 |   | 
 | -#include "tif_config.h" | 
 | +#include "tiffconf.h" | 
 |   | 
 |  #ifdef HAVE_FCNTL_H | 
 |  # include <fcntl.h> | 
 | @@ -59,8 +59,7 @@ | 
 |   | 
 |  #if !defined(HAVE_SNPRINTF) && !defined(HAVE__SNPRINTF) | 
 |  #undef snprintf | 
 | -#define snprintf _TIFF_snprintf_f | 
 | -extern int snprintf(char* str, size_t size, const char* format, ...); | 
 | +#define snprintf FXSYS_snprintf | 
 |  #endif | 
 |   | 
 |  #include "tiffio.h" | 
 | diff a/third_party/libtiff/tif_jpeg.c b/third_party/libtiff/tif_jpeg.c | 
 | --- a/third_party/libtiff/tif_jpeg.c | 
 | +++ b/third_party/libtiff/tif_jpeg.c | 
 | @@ -85,8 +85,16 @@ | 
 |  # define HAVE_BOOLEAN            /* prevent jmorecfg.h from redefining it */ | 
 |  #endif | 
 |   | 
 | -#include "jpeglib.h" | 
 | -#include "jerror.h" | 
 | +#if defined(USE_SYSTEM_LIBJPEG) | 
 | +#include <jerror.h> | 
 | +#include <jpeglib.h> | 
 | +#elif defined(USE_LIBJPEG_TURBO) | 
 | +#include "third_party/libjpeg_turbo/jerror.h" | 
 | +#include "third_party/libjpeg_turbo/jpeglib.h" | 
 | +#else | 
 | +#include "third_party/libjpeg/jerror.h" | 
 | +#include "third_party/libjpeg/jpeglib.h" | 
 | +#endif | 
 |   | 
 |  /*  | 
 |   * Do we want to do special processing suitable for when JSAMPLE is a | 
 | diff a/third_party/libtiff/tif_ojpeg.c b/third_party/libtiff/tif_ojpeg.c | 
 | --- a/third_party/libtiff/tif_ojpeg.c | 
 | +++ b/third_party/libtiff/tif_ojpeg.c | 
 | @@ -214,8 +214,17 @@ | 
 |  # define HAVE_BOOLEAN            /* prevent jmorecfg.h from redefining it */ | 
 |  #endif | 
 |   | 
 | -#include "jpeglib.h" | 
 | -#include "jerror.h" | 
 | +#if defined(USE_SYSTEM_LIBJPEG) | 
 | +#include <jerror.h> | 
 | +#include <jpeglib.h> | 
 | +#elif defined(USE_LIBJPEG_TURBO) | 
 | +#include "third_party/libjpeg_turbo/jerror.h" | 
 | +#include "third_party/libjpeg_turbo/jpeglib.h" | 
 | +#else | 
 | +#include "third_party/libjpeg/jerror.h" | 
 | +#include "third_party/libjpeg/jpeglib.h" | 
 | +#endif | 
 | + | 
 |   | 
 |  typedef struct jpeg_error_mgr jpeg_error_mgr; | 
 |  typedef struct jpeg_common_struct jpeg_common_struct; | 
 | diff a/third_party/libtiff/tif_pixarlog.c b/third_party/libtiff/tif_pixarlog.c | 
 | --- a/third_party/libtiff/tif_pixarlog.c | 
 | +++ b/third_party/libtiff/tif_pixarlog.c | 
 | @@ -90,7 +90,7 @@ | 
 |   */ | 
 |   | 
 |  #include "tif_predict.h" | 
 | -#include "zlib.h" | 
 | +#include "../zlib_v128/zlib.h" | 
 |   | 
 |  #include <stdio.h> | 
 |  #include <stdlib.h> | 
 | diff a/third_party/libtiff/tif_zip.c b/third_party/libtiff/tif_zip.c | 
 | --- a/third_party/libtiff/tif_zip.c | 
 | +++ b/third_party/libtiff/tif_zip.c | 
 | @@ -47,7 +47,7 @@ | 
 |   * last found at ftp://ftp.uu.net/pub/archiving/zip/zlib/zlib-0.99.tar.gz. | 
 |   */ | 
 |  #include "tif_predict.h" | 
 | -#include "zlib.h" | 
 | +#include "../zlib_v128/zlib.h" | 
 |   | 
 |  #include <stdio.h> | 
 |   | 
 | diff a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h | 
 | --- /dev/null | 
 | +++ b/third_party/libtiff/tiffconf.h | 
 | @@ -0,0 +1,248 @@ | 
 | +/* libtiff/tiffconf.h.  Generated by configure.  */ | 
 | +/* | 
 | +  Configuration defines for installed libtiff. | 
 | +  This file maintained for backward compatibility. Do not use definitions | 
 | +  from this file in your programs. | 
 | +*/ | 
 | +#ifndef _TIFFCONF_ | 
 | +#define _TIFFCONF_ | 
 | + | 
 | +#include "core/include/fxcrt/fx_system.h" | 
 | + | 
 | +//NOTE: The tiff codec requires an ANSI C compiler environment for building and  | 
 | +//		presumes an ANSI C environment for use. | 
 | + | 
 | +/* Define to 1 if you have the <fcntl.h> header file. */ | 
 | +/* Define to 1 if you have the <sys/types.h> header file. */ | 
 | +#if _FX_OS_ == _FX_WIN32_MOBILE_ | 
 | +# define O_RDONLY       0x0000  /* open for reading only */ | 
 | +# define O_WRONLY       0x0001  /* open for writing only */ | 
 | +# define O_RDWR         0x0002  /* open for reading and writing */ | 
 | +# define O_CREAT        0x0100  /* create and open file */ | 
 | +# define O_TRUNC        0x0200  /* open and truncate */ | 
 | +#else | 
 | +# define HAVE_SYS_TYPES_H 1 | 
 | +# define HAVE_FCNTL_H 1 | 
 | +#endif | 
 | + | 
 | +/* Compatibility stuff. */ | 
 | + | 
 | +/* Define to 1 if you have the <assert.h> header file. */ | 
 | +#define HAVE_ASSERT_H 1 | 
 | + | 
 | +/* Define as 0 or 1 according to the floating point format suported by the | 
 | +   machine */ | 
 | +#define HAVE_IEEEFP 1 | 
 | + | 
 | +/* Define to 1 if you have the <string.h> header file. */ | 
 | +//#define HAVE_STRING_H 1 | 
 | +//fx_system.h already include the string.h in ANSIC | 
 | + | 
 | +/* Define to 1 if you have the <search.h> header file. */ | 
 | +/*#define HAVE_SEARCH_H 1 */ | 
 | + | 
 | +/* The size of a `int', as computed by sizeof. */ | 
 | +/* According typedef int	int32_t; in the fx_system.h*/ | 
 | +#define SIZEOF_INT 4 | 
 | + | 
 | +/* Sunliang.Liu 20110325. We should config the correct long size for tif  | 
 | +   fax4decode optimize in tif_fax3.c  -- Linux64 decode issue.  | 
 | +   TESTDOC: Bug #23661 - z1.tif. */ | 
 | +#if _FX_CPU_ == _FX_WIN64_ || _FX_CPU_ == _FX_X64_ || _FX_CPU_ == _FX_IA64_ | 
 | +/* The size of `unsigned long', as computed by sizeof. */ | 
 | +#define SIZEOF_UNSIGNED_LONG 8 | 
 | +#else | 
 | +#define SIZEOF_UNSIGNED_LONG 4 | 
 | +#endif | 
 | + | 
 | +/* Signed 8-bit type */ | 
 | +#define TIFF_INT8_T signed char | 
 | + | 
 | +/* Unsigned 8-bit type */ | 
 | +#define TIFF_UINT8_T unsigned char | 
 | + | 
 | +/* Signed 16-bit type */ | 
 | +#define TIFF_INT16_T signed short | 
 | + | 
 | +/* Unsigned 16-bit type */ | 
 | +#define TIFF_UINT16_T unsigned short | 
 | + | 
 | +/* Signed 32-bit type */ | 
 | +#define TIFF_INT32_T signed int | 
 | + | 
 | +/* Unsigned 32-bit type */ | 
 | +#define TIFF_UINT32_T unsigned int | 
 | + | 
 | +/* Signed 32-bit type formatter */ | 
 | +#define TIFF_INT32_FORMAT "%d" | 
 | + | 
 | +/* Unsigned 32-bit type formatter */ | 
 | +#define TIFF_UINT32_FORMAT "%u" | 
 | + | 
 | +#ifdef _MSC_VER		// windows | 
 | + | 
 | +/* Signed 64-bit type formatter */ | 
 | +#define TIFF_INT64_FORMAT "%I64d" | 
 | + | 
 | +/* Unsigned 64-bit type formatter */ | 
 | +#define TIFF_UINT64_FORMAT "%I64u" | 
 | + | 
 | +/* Signed 64-bit type */ | 
 | +#define TIFF_INT64_T signed __int64 | 
 | + | 
 | +/* Unsigned 64-bit type */ | 
 | +#define TIFF_UINT64_T unsigned __int64 | 
 | + | 
 | +#else						// linux/unix | 
 | + | 
 | +#if 0 //_FX_CPU_ == _FX_X64_	// linux/unix 64 | 
 | + | 
 | +/* Signed 64-bit type formatter */ | 
 | +#define TIFF_INT64_FORMAT "%ld" | 
 | + | 
 | +/* Unsigned 64-bit type formatter */ | 
 | +#define TIFF_UINT64_FORMAT "%lu" | 
 | + | 
 | +/* Signed 64-bit type */ | 
 | +#define TIFF_INT64_T signed long | 
 | + | 
 | +#else						// linux/unix 32 | 
 | + | 
 | +/* Signed 64-bit type formatter */ | 
 | +#define TIFF_INT64_FORMAT "%lld" | 
 | + | 
 | +/* Unsigned 64-bit type formatter */ | 
 | +#define TIFF_UINT64_FORMAT "%llu" | 
 | + | 
 | +/* Signed 64-bit type */ | 
 | +#define TIFF_INT64_T signed long long | 
 | + | 
 | +#endif						// end _FX_CPU_ | 
 | + | 
 | +/* Unsigned 64-bit type */ | 
 | +#define TIFF_UINT64_T unsigned long long | 
 | + | 
 | +#endif | 
 | + | 
 | + | 
 | +/* Signed size type */ | 
 | +#ifdef _MSC_VER | 
 | + | 
 | +#if defined(_WIN64) | 
 | +#define TIFF_SSIZE_T signed __int64 | 
 | +#else | 
 | +#define TIFF_SSIZE_T signed int | 
 | +#endif | 
 | + | 
 | +#else | 
 | + | 
 | +#define TIFF_SSIZE_T signed long | 
 | + | 
 | +#endif | 
 | + | 
 | +/* Signed size type formatter */ | 
 | +#if defined(_WIN64) | 
 | +#define TIFF_SSIZE_FORMAT "%I64d" | 
 | +#else | 
 | +#define TIFF_SSIZE_FORMAT "%ld" | 
 | +#endif | 
 | + | 
 | +/* Pointer difference type */ | 
 | +#ifdef _MSC_VER | 
 | +#define TIFF_PTRDIFF_T long | 
 | +#else | 
 | +#define TIFF_PTRDIFF_T ptrdiff_t | 
 | +#endif | 
 | + | 
 | +/* Signed 64-bit type */ | 
 | +/*#define TIFF_INT64_T signed __int64*/ | 
 | + | 
 | +/* Unsigned 64-bit type */ | 
 | +/*#define TIFF_UINT64_T unsigned __int64*/ | 
 | + | 
 | +/* Define to `__inline__' or `__inline' if that's what the C compiler | 
 | +   calls it, or to nothing if 'inline' is not supported under any name.  */ | 
 | +#ifndef __cplusplus | 
 | +# ifndef inline | 
 | +#  define inline __inline | 
 | +# endif | 
 | +#endif | 
 | + | 
 | +#define lfind _lfind | 
 | + | 
 | +#define BSDTYPES | 
 | + | 
 | +/* Set the native cpu bit order (FILLORDER_LSB2MSB or FILLORDER_MSB2LSB) */ | 
 | +#define HOST_FILLORDER FILLORDER_LSB2MSB | 
 | + | 
 | +/* Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian | 
 | +   (Intel) */ | 
 | +#if _FX_ENDIAN_ == _FX_BIG_ENDIAN_ | 
 | +# define HOST_BIGENDIAN 1 | 
 | +#else | 
 | +# define HOST_BIGENDIAN 0 | 
 | +#endif | 
 | + | 
 | +/* Support CCITT Group 3 & 4 algorithms */ | 
 | +#define CCITT_SUPPORT 1 | 
 | + | 
 | +/* Support JPEG compression (requires IJG JPEG library) */ | 
 | +#define JPEG_SUPPORT 1 | 
 | + | 
 | +/* Support LogLuv high dynamic range encoding */ | 
 | +#define LOGLUV_SUPPORT 1 | 
 | + | 
 | +/* Support LZW algorithm */ | 
 | +#define LZW_SUPPORT 1 | 
 | + | 
 | +/* Support NeXT 2-bit RLE algorithm */ | 
 | +#define NEXT_SUPPORT 1 | 
 | + | 
 | +/* Support Old JPEG compresson (read contrib/ojpeg/README first! Compilation | 
 | +   fails with unpatched IJG JPEG library) */ | 
 | +#define  OJPEG_SUPPORT	1 | 
 | + | 
 | +/* Support Macintosh PackBits algorithm */ | 
 | +#define PACKBITS_SUPPORT 1 | 
 | + | 
 | +/* Support Pixar log-format algorithm (requires Zlib) */ | 
 | +#define PIXARLOG_SUPPORT 1 | 
 | + | 
 | +/* Support ThunderScan 4-bit RLE algorithm */ | 
 | +#define THUNDER_SUPPORT 1 | 
 | + | 
 | +/* Support Deflate compression */ | 
 | +#define ZIP_SUPPORT 1 | 
 | + | 
 | +/* Support strip chopping (whether or not to convert single-strip uncompressed | 
 | +   images to mutiple strips of ~8Kb to reduce memory usage) */ | 
 | +#define STRIPCHOP_DEFAULT TIFF_STRIPCHOP | 
 | + | 
 | +/* Enable SubIFD tag (330) support */ | 
 | +#define SUBIFD_SUPPORT 1 | 
 | + | 
 | +/* Treat extra sample as alpha (default enabled). The RGBA interface will | 
 | +   treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many | 
 | +   packages produce RGBA files but don't mark the alpha properly. */ | 
 | +#define DEFAULT_EXTRASAMPLE_AS_ALPHA 1 | 
 | + | 
 | +/* Pick up YCbCr subsampling info from the JPEG data stream to support files | 
 | +   lacking the tag (default enabled). */ | 
 | +#define CHECK_JPEG_YCBCR_SUBSAMPLING 1 | 
 | + | 
 | +/* Support MS MDI magic number files as TIFF */ | 
 | +#define MDI_SUPPORT 1 | 
 | + | 
 | +/* | 
 | + * Feature support definitions. | 
 | + * XXX: These macros are obsoleted. Don't use them in your apps! | 
 | + * Macros stays here for backward compatibility and should be always defined. | 
 | + */ | 
 | +#define COLORIMETRY_SUPPORT | 
 | +#define YCBCR_SUPPORT | 
 | +#define CMYK_SUPPORT | 
 | +#define ICC_SUPPORT | 
 | +#define PHOTOSHOP_SUPPORT | 
 | +#define IPTC_SUPPORT | 
 | + | 
 | +#endif /* _TIFFCONF_ */ |