Define SIZEOF_VOIDP and other cleanup in tiffconf

This CL uses sizeof to calculate sizes in tiffconf. It adds SIZEOF_VOIDP
to allow LibTIFF to take codepaths reducing OOMs. Finally, it gets rid
of _FX_WIN32_MOBILE_ since it's never defined.

Bug: chromium:718494
Change-Id: I9e6fb2812487ccd7d08e56fd1954c716ddccd07b
Reviewed-on: https://pdfium-review.googlesource.com/9410
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
diff --git a/core/fxcrt/cfx_datetime.cpp b/core/fxcrt/cfx_datetime.cpp
index b59aabc..a6d4636 100644
--- a/core/fxcrt/cfx_datetime.cpp
+++ b/core/fxcrt/cfx_datetime.cpp
@@ -92,8 +92,7 @@
 
 void CFX_DateTime::Now() {
   FXUT_SYSTEMTIME utLocal;
-#if _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN32_MOBILE_ || \
-    _FX_OS_ == _FX_WIN64_
+#if _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_
   ::GetLocalTime((LPSYSTEMTIME)&utLocal);
 #elif _FX_OS_ != _FX_EMBEDDED_
   timeval curTime;
@@ -109,8 +108,7 @@
   utLocal.wMinute = st.tm_min;
   utLocal.wSecond = st.tm_sec;
   utLocal.wMillisecond = curTime.tv_usec / 1000;
-#endif  // _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN32_MOBILE_ ||
-        // _FX_OS_ == _FX_WIN64_
+#endif  // _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_
 
   year_ = utLocal.wYear;
   month_ = static_cast<uint8_t>(utLocal.wMonth);
diff --git a/core/fxcrt/cfx_seekablestreamproxy.cpp b/core/fxcrt/cfx_seekablestreamproxy.cpp
index 8cf8552..9b44f95 100644
--- a/core/fxcrt/cfx_seekablestreamproxy.cpp
+++ b/core/fxcrt/cfx_seekablestreamproxy.cpp
@@ -6,8 +6,7 @@
 
 #include "core/fxcrt/cfx_seekablestreamproxy.h"
 
-#if _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN32_MOBILE_ || \
-    _FX_OS_ == _FX_WIN64_
+#if _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_
 #include <io.h>
 #endif
 
diff --git a/third_party/libtiff/0000-build-config.patch b/third_party/libtiff/0000-build-config.patch
index a422b37..60f79b7 100644
--- a/third_party/libtiff/0000-build-config.patch
+++ b/third_party/libtiff/0000-build-config.patch
@@ -68,7 +68,7 @@
 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 @@
+@@ -0,0 +1,239 @@
 +/* libtiff/tiffconf.h.  Generated by configure.  */
 +/*
 +  Configuration defines for installed libtiff.
@@ -81,20 +81,10 @@
 +#include "core/fxcrt/fx_system.h"
 +
 +//NOTE: The tiff codec requires an ANSI C compiler environment for building and 
-+//		presumes an ANSI C environment for use.
++//    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. */
 +
@@ -110,22 +100,24 @@
 +//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
++#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ && _MSC_VER >= 1900
++// search.h is always available in VS 2015 and above, and may be
++// available in earlier versions.
++#define HAVE_SEARCH_H 1
 +#endif
 +
++static const size_t sizeOfInt = sizeof(int);
++/* The size of a `int', as computed by sizeof. */
++#define SIZEOF_INT sizeOfInt
++
++static const size_t sizeOfULong = sizeof(unsigned long);
++/* The size of `unsigned long', as computed by sizeof. */
++#define SIZEOF_UNSIGNED_LONG sizeOfULong
++
++static const size_t sizeOfVoidP = sizeof(void*);
++/* The size of void* as computed by sizeof. */
++#define SIZEOF_VOIDP sizeOfVoidP
++
 +/* Signed 8-bit type */
 +#define TIFF_INT8_T signed char
 +
@@ -150,7 +142,7 @@
 +/* Unsigned 32-bit type formatter */
 +#define TIFF_UINT32_FORMAT "%u"
 +
-+#ifdef _MSC_VER		// windows
++#ifdef _MSC_VER   // windows
 +
 +/* Signed 64-bit type formatter */
 +#define TIFF_INT64_FORMAT "%I64d"
@@ -164,9 +156,9 @@
 +/* Unsigned 64-bit type */
 +#define TIFF_UINT64_T unsigned __int64
 +
-+#else						// linux/unix
++#else           // linux/unix
 +
-+#if 0 //_FX_CPU_ == _FX_X64_	// linux/unix 64
++#if 0 //_FX_CPU_ == _FX_X64_  // linux/unix 64
 +
 +/* Signed 64-bit type formatter */
 +#define TIFF_INT64_FORMAT "%ld"
@@ -177,7 +169,7 @@
 +/* Signed 64-bit type */
 +#define TIFF_INT64_T signed long
 +
-+#else						// linux/unix 32
++#else           // linux/unix 32
 +
 +/* Signed 64-bit type formatter */
 +#define TIFF_INT64_FORMAT "%lld"
@@ -188,7 +180,7 @@
 +/* Signed 64-bit type */
 +#define TIFF_INT64_T signed long long
 +
-+#endif						// end _FX_CPU_
++#endif            // end _FX_CPU_
 +
 +/* Unsigned 64-bit type */
 +#define TIFF_UINT64_T unsigned long long
@@ -271,7 +263,7 @@
 +
 +/* Support Old JPEG compresson (read contrib/ojpeg/README first! Compilation
 +   fails with unpatched IJG JPEG library) */
-+#define  OJPEG_SUPPORT	1
++#define  OJPEG_SUPPORT  1
 +
 +/* Support Macintosh PackBits algorithm */
 +#define PACKBITS_SUPPORT 1
diff --git a/third_party/libtiff/0001-build-config.patch b/third_party/libtiff/0001-build-config.patch
deleted file mode 100644
index c393154..0000000
--- a/third_party/libtiff/0001-build-config.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h
-index bcc0bc5..ca749da 100644
---- a/third_party/libtiff/tiffconf.h
-+++ b/third_party/libtiff/tiffconf.h
-@@ -39,7 +39,11 @@
- //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 */
-+#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ && _MSC_VER >= 1900
-+// search.h is always available in VS 2015 and above, and may be
-+// available in earlier versions.
-+#define HAVE_SEARCH_H 1
-+#endif
- 
- /* The size of a `int', as computed by sizeof. */
- /* According typedef int	int32_t; in the fx_system.h*/
diff --git a/third_party/libtiff/tiffconf.h b/third_party/libtiff/tiffconf.h
index 26de163..2a88cb7 100644
--- a/third_party/libtiff/tiffconf.h
+++ b/third_party/libtiff/tiffconf.h
@@ -12,18 +12,8 @@
 //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. */
 
@@ -45,19 +35,17 @@
 #define HAVE_SEARCH_H 1
 #endif
 
+static const size_t sizeOfInt = sizeof(int);
 /* The size of a `int', as computed by sizeof. */
-/* According typedef int	int32_t; in the fx_system.h*/
-#define SIZEOF_INT 4
+#define SIZEOF_INT sizeOfInt
 
-/* 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_
+static const size_t sizeOfULong = sizeof(unsigned long);
 /* The size of `unsigned long', as computed by sizeof. */
-#define SIZEOF_UNSIGNED_LONG 8
-#else
-#define SIZEOF_UNSIGNED_LONG 4
-#endif
+#define SIZEOF_UNSIGNED_LONG sizeOfULong
+
+static const size_t sizeOfVoidP = sizeof(void*);
+/* The size of void* as computed by sizeof. */
+#define SIZEOF_VOIDP sizeOfVoidP
 
 /* Signed 8-bit type */
 #define TIFF_INT8_T signed char