Index: third_party/libtiff/0000-build-config.patch |
diff --git a/third_party/libtiff/0000-build-config.patch b/third_party/libtiff/0000-build-config.patch |
new file mode 100644 |
index 0000000000000000000000000000000000000000..50af2db52980ecf02b84370f92200d1f1f6cbabb |
--- /dev/null |
+++ b/third_party/libtiff/0000-build-config.patch |
@@ -0,0 +1,337 @@ |
+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> |
+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,252 @@ |
++/* 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_ |
++ |
++#ifndef _FX_SYSTEM_H_ |
++# include "../../core/include/fxcrt/fx_system.h" |
++#endif |
++ |
++//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 |
++ |
++#define HAVE_SNPRINTF 1 |
++ |
++/* 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_ */ |