Control: reassign src:freeimage 3.17.0+ds1-3

On Mon, Oct 17, 2016 at 05:35:55PM +0200, Boris Lesner wrote:
> Package: libfreeimage3
> Source: libfreeimage
> Version: 3.17.0+ds1-3

Combining Package with Source (moreover a non-existant one) is not going
to end well; this bug report ended up misfiled to a non-esitant package,
so reassigning it now.

> The patch 'Disable-vendored-dependencies.patch' removes the G3
> plug-in but this has unintended consequences on other
> plug-ins. J2K and WEBP images (but I believe that all images formats
> declared after FIF_FAXG3 in the FREE_IMAGE_FORMAT enum are
> impacted) are improperly recognized by FreeImage: their
> associated format returned by FreeImage_GetFileType() is
> wrong. In fact they are offset by -1.
> 
> Internally, the PluginList::AddNode function uses the size of the
> plug-in list to assign identifiers to plug-ins, when all plug-ins
> are added in the correct order, all is good since the list size
> matches exactly the FREE_IMAGE_FORMAT enum value. Unfortunately,
> removing the call to PluginList::AddNode(InitG3) in Plugin.cpp
> messes with this indexing. You'll find in attachment a
> modification of the Disable-vendored-dependencies.patch that
> fixes this. It includes two source modifications:
> 
> - allows to add a NULL plug-in to keep the numbering of image
>   formats consistent (I've added NULL checks here and there but
>   that code may need review).
> - where the G3 plug-in was added, replace it with a NULL plug-in.
> 
> Also attached is the code for a simple test case with a Jpeg2000
> test image (which produces this bug since FIF_J2K = 30 >=
> FIF_FAXG3 = 27).  The test shows that the J2K file is wrongly
> recognized as an EXR image. Due to the nature of the fix I
> believe (in the absence of suitable test images) that all formats
> whose FREE_IMAGE_TYPE >= FIF_FAXG3 are improperly recognized.
> 
> Compile and run the attached code with:
> $ gcc test_j2k.c -o test-j2k -lfreeimage
> $ ./test-j2k image.j2k
>   test-j2k: test_j2k.c:6: main: Assertion `fif == FIF_J2K' failed.
> 
> I ran a similar test on a WEBP image and it fails the same.
> 
> Please note that the attached patch also include updated
> fipMakefile.srcs and Makefile.srcs (generated with the
> appropriate scripts) that where required to properly build the
> package.
> 
> I've found this bug while backporting freeimage 3.17 to jessie.
> 
> Best regards,
> 
>     Boris Lesner

> From: Ghislain Antony Vaillant <ghisv...@gmail.com>
> Date: Tue, 3 Nov 2015 14:39:33 +0000
> Subject: Disable vendored dependencies.
> 
> This commit disables usage of the embedded dependencies for building
> FreeImage and FreeImagePlus. Functionalities which could not use the
> packaged dependencies are delibarately disabled for security reasons.
> 
> This patch is based on Fedora's FreeImage-3.17.0_unbundle patch.
> ---
>  Source/FreeImage.h                 | 15 ++++++-
>  Source/FreeImage/J2KHelper.cpp     |  2 +-
>  Source/FreeImage/Plugin.cpp        |  4 ++
>  Source/FreeImage/PluginEXR.cpp     | 20 +++++-----
>  Source/FreeImage/PluginJ2K.cpp     |  2 +-
>  Source/FreeImage/PluginJP2.cpp     |  2 +-
>  Source/FreeImage/PluginJPEG.cpp    |  6 +--
>  Source/FreeImage/PluginJXR.cpp     |  2 +-
>  Source/FreeImage/PluginPNG.cpp     |  4 +-
>  Source/FreeImage/PluginRAW.cpp     |  2 +-
>  Source/FreeImage/PluginTIFF.cpp    |  4 +-
>  Source/FreeImage/PluginWebP.cpp    |  8 ++--
>  Source/FreeImage/ZLibInterface.cpp |  5 +--
>  Source/Metadata/XTIFF.cpp          | 80 
> +++++++++++++++++++-------------------
>  genfipsrclist.sh                   |  9 +----
>  gensrclist.sh                      | 11 ++----
>  16 files changed, 89 insertions(+), 87 deletions(-)
> 
> Index: FreeImage/Source/FreeImage.h
> ===================================================================
> --- FreeImage.orig/Source/FreeImage.h
> +++ FreeImage/Source/FreeImage.h
> @@ -410,7 +410,11 @@ FI_ENUM(FREE_IMAGE_FORMAT) {
>       FIF_DDS         = 24,
>       FIF_GIF     = 25,
>       FIF_HDR         = 26,
> -     FIF_FAXG3       = 27,
> +/* Debian: The G3 fax format plugin is deliberately disabled in our build of
> +   FreeImage, since it requires usage of the vendored copy of libtiff. */
> +#if 0
> +     FIF_FAXG3       = 27,
> +#endif
>       FIF_SGI         = 28,
>       FIF_EXR         = 29,
>       FIF_J2K         = 30,
> @@ -473,6 +477,9 @@ FI_ENUM(FREE_IMAGE_DITHER) {
>       FID_BAYER16x16  = 6             //! Bayer ordered dispersed dot 
> dithering (order 4 dithering matrix)
>  };
>  
> +/* Debian: The JPEGTransform functions are deliberately disabled in our build
> +   of FreeImage, since they require usage of the vendored copy of libjpeg. */
> +#if 0
>  /** Lossless JPEG transformations
>  Constants used in FreeImage_JPEGTransform
>  */
> @@ -486,6 +493,7 @@ FI_ENUM(FREE_IMAGE_JPEG_OPERATION) {
>       FIJPEG_OP_ROTATE_180    = 6,    //! 180-degree rotation
>       FIJPEG_OP_ROTATE_270    = 7             //! 270-degree clockwise (or 90 
> ccw)
>  };
> +#endif
>  
>  /** Tone mapping operators.
>  Constants used in FreeImage_ToneMapping.
> @@ -1076,7 +1084,9 @@ DLL_API const char* DLL_CALLCONV FreeIma
>  // --------------------------------------------------------------------------
>  // JPEG lossless transformation routines
>  // --------------------------------------------------------------------------
> -
> +/* Debian: The JPEGTransform functions are deliberately disabled in our build
> +   of FreeImage, since they require usage of the vendored copy of libjpeg. */
> +#if 0
>  DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransform(const char *src_file, 
> const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect 
> FI_DEFAULT(TRUE));
>  DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformU(const wchar_t *src_file, 
> const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect 
> FI_DEFAULT(TRUE));
>  DLL_API BOOL DLL_CALLCONV FreeImage_JPEGCrop(const char *src_file, const 
> char *dst_file, int left, int top, int right, int bottom);
> @@ -1085,6 +1095,7 @@ DLL_API BOOL DLL_CALLCONV FreeImage_JPEG
>  DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombined(const char 
> *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* 
> left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE));
>  DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombinedU(const wchar_t 
> *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* 
> left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE));
>  DLL_API BOOL DLL_CALLCONV 
> FreeImage_JPEGTransformCombinedFromMemory(FIMEMORY* src_stream, FIMEMORY* 
> dst_stream, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* 
> right, int* bottom, BOOL perfect FI_DEFAULT(TRUE));
> +#endif
>  
>  
>  // --------------------------------------------------------------------------
> Index: FreeImage/Source/FreeImage/J2KHelper.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/J2KHelper.cpp
> +++ FreeImage/Source/FreeImage/J2KHelper.cpp
> @@ -21,7 +21,7 @@
>  
>  #include "FreeImage.h"
>  #include "Utilities.h"
> -#include "../LibOpenJPEG/openjpeg.h"
> +#include <openjpeg.h>
>  #include "J2KHelper.h"
>  
>  // --------------------------------------------------------------------------
> Index: FreeImage/Source/FreeImage/Plugin.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/Plugin.cpp
> +++ FreeImage/Source/FreeImage/Plugin.cpp
> @@ -134,7 +134,13 @@ PluginList::AddNode(FI_InitProc init_pro
>  
>               delete plugin;
>               delete node;
> -     }
> +     } else {
> +    //allows adding a NULL node in order to not mess up plugin
> +    //numbering when some are disabled. Otherwise there will be a
> +    //discrepancy between FREE_IMAGE_FORMAT enumerator values and the
> +    //actual format.
> +    m_plugin_map[(const int)m_plugin_map.size()] = 0;
> +  }
>  
>       return FIF_UNKNOWN;
>  }
> @@ -142,6 +148,9 @@ PluginList::AddNode(FI_InitProc init_pro
>  PluginNode *
>  PluginList::FindNodeFromFormat(const char *format) {
>       for (map<int, PluginNode *>::iterator i = m_plugin_map.begin(); i != 
> m_plugin_map.end(); ++i) {
> +    if (i->second == NULL) {
> +      continue;
> +    }
>               const char *the_format = ((*i).second->m_format != NULL) ? 
> (*i).second->m_format : (*i).second->m_plugin->format_proc();
>  
>               if ((*i).second->m_enabled) {
> @@ -157,6 +166,9 @@ PluginList::FindNodeFromFormat(const cha
>  PluginNode *
>  PluginList::FindNodeFromMime(const char *mime) {
>       for (map<int, PluginNode *>::iterator i = m_plugin_map.begin(); i != 
> m_plugin_map.end(); ++i) {
> +    if (i->second == NULL) {
> +      continue;
> +    }
>               const char *the_mime = ((*i).second->m_plugin->mime_proc != 
> NULL) ? (*i).second->m_plugin->mime_proc() : "";
>  
>               if ((*i).second->m_enabled) {
> @@ -192,6 +204,10 @@ PluginList::IsEmpty() const {
>  
>  PluginList::~PluginList() {
>       for (map<int, PluginNode *>::iterator i = m_plugin_map.begin(); i != 
> m_plugin_map.end(); ++i) {
> +    if (i->second == NULL) {
> +      continue;
> +    }
> +
>  #ifdef _WIN32
>               if ((*i).second->m_instance != NULL) {
>                       FreeLibrary((HINSTANCE)(*i).second->m_instance);
> @@ -263,7 +279,9 @@ FreeImage_Initialise(BOOL load_local_plu
>                       s_plugins->AddNode(InitDDS);
>               s_plugins->AddNode(InitGIF);
>               s_plugins->AddNode(InitHDR);
> -                     s_plugins->AddNode(InitG3);
> +/* The G3 fax format plugin is deliberately disabled in our build of 
> FreeImage
> +   since it requires usage of the vendored copy of libtiff. */
> +                     s_plugins->AddNode(NULL);
>                       s_plugins->AddNode(InitSGI);
>                       s_plugins->AddNode(InitEXR);
>                       s_plugins->AddNode(InitJ2K);
> @@ -358,7 +376,7 @@ FreeImage_DeInitialise() {
>  
>  void * DLL_CALLCONV
>  FreeImage_Open(PluginNode *node, FreeImageIO *io, fi_handle handle, BOOL 
> open_for_reading) {
> -     if (node->m_plugin->open_proc != NULL) {
> +     if (node && node->m_plugin->open_proc != NULL) {
>         return node->m_plugin->open_proc(io, handle, open_for_reading);
>       }
>  
> @@ -367,7 +385,7 @@ FreeImage_Open(PluginNode *node, FreeIma
>  
>  void DLL_CALLCONV
>  FreeImage_Close(PluginNode *node, FreeImageIO *io, fi_handle handle, void 
> *data) {
> -     if (node->m_plugin->close_proc != NULL) {
> +     if (node && node->m_plugin->close_proc != NULL) {
>               node->m_plugin->close_proc(io, handle, data);
>       }
>  }
> Index: FreeImage/Source/FreeImage/PluginEXR.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/PluginEXR.cpp
> +++ FreeImage/Source/FreeImage/PluginEXR.cpp
> @@ -28,16 +28,16 @@
>  #pragma warning (disable : 4800) // ImfVersion.h - 'const int' : forcing 
> value to bool 'true' or 'false' (performance warning)
>  #endif 
>  
> -#include "../OpenEXR/IlmImf/ImfIO.h"
> -#include "../OpenEXR/Iex/Iex.h"
> -#include "../OpenEXR/IlmImf/ImfOutputFile.h"
> -#include "../OpenEXR/IlmImf/ImfInputFile.h"
> -#include "../OpenEXR/IlmImf/ImfRgbaFile.h"
> -#include "../OpenEXR/IlmImf/ImfChannelList.h"
> -#include "../OpenEXR/IlmImf/ImfRgba.h"
> -#include "../OpenEXR/IlmImf/ImfArray.h"
> -#include "../OpenEXR/IlmImf/ImfPreviewImage.h"
> -#include "../OpenEXR/Half/half.h"
> +#include <OpenEXR/ImfIO.h>
> +#include <OpenEXR/Iex.h>
> +#include <OpenEXR/ImfOutputFile.h>
> +#include <OpenEXR/ImfInputFile.h>
> +#include <OpenEXR/ImfRgbaFile.h>
> +#include <OpenEXR/ImfChannelList.h>
> +#include <OpenEXR/ImfRgba.h>
> +#include <OpenEXR/ImfArray.h>
> +#include <OpenEXR/ImfPreviewImage.h>
> +#include <OpenEXR/half.h>
>  
>  
>  // ==========================================================
> Index: FreeImage/Source/FreeImage/PluginJ2K.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/PluginJ2K.cpp
> +++ FreeImage/Source/FreeImage/PluginJ2K.cpp
> @@ -21,7 +21,7 @@
>  
>  #include "FreeImage.h"
>  #include "Utilities.h"
> -#include "../LibOpenJPEG/openjpeg.h"
> +#include <openjpeg.h>
>  #include "J2KHelper.h"
>  
>  // ==========================================================
> Index: FreeImage/Source/FreeImage/PluginJP2.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/PluginJP2.cpp
> +++ FreeImage/Source/FreeImage/PluginJP2.cpp
> @@ -21,7 +21,7 @@
>  
>  #include "FreeImage.h"
>  #include "Utilities.h"
> -#include "../LibOpenJPEG/openjpeg.h"
> +#include <openjpeg.h>
>  #include "J2KHelper.h"
>  
>  // ==========================================================
> Index: FreeImage/Source/FreeImage/PluginJPEG.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/PluginJPEG.cpp
> +++ FreeImage/Source/FreeImage/PluginJPEG.cpp
> @@ -35,9 +35,9 @@ extern "C" {
>  #undef FAR
>  #include <setjmp.h>
>  
> -#include "../LibJPEG/jinclude.h"
> -#include "../LibJPEG/jpeglib.h"
> -#include "../LibJPEG/jerror.h"
> +#include <stdio.h>
> +#include <jpeglib.h>
> +#include <jerror.h>
>  }
>  
>  #include "FreeImage.h"
> Index: FreeImage/Source/FreeImage/PluginJXR.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/PluginJXR.cpp
> +++ FreeImage/Source/FreeImage/PluginJXR.cpp
> @@ -23,7 +23,7 @@
>  #include "Utilities.h"
>  #include "../Metadata/FreeImageTag.h"
>  
> -#include "../LibJXR/jxrgluelib/JXRGlue.h"
> +#include <JXRGlue.h>
>  
>  // ==========================================================
>  // Plugin Interface
> Index: FreeImage/Source/FreeImage/PluginPNG.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/PluginPNG.cpp
> +++ FreeImage/Source/FreeImage/PluginPNG.cpp
> @@ -40,8 +40,8 @@
>  
>  // ----------------------------------------------------------
>  
> -#include "../ZLib/zlib.h"
> -#include "../LibPNG/png.h"
> +#include <zlib.h>
> +#include <png.h>
>  
>  // ----------------------------------------------------------
>  
> Index: FreeImage/Source/FreeImage/PluginRAW.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/PluginRAW.cpp
> +++ FreeImage/Source/FreeImage/PluginRAW.cpp
> @@ -19,7 +19,7 @@
>  // Use at your own risk!
>  // ==========================================================
>  
> -#include "../LibRawLite/libraw/libraw.h"
> +#include <libraw/libraw.h>
>  
>  #include "FreeImage.h"
>  #include "Utilities.h"
> Index: FreeImage/Source/FreeImage/PluginTIFF.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/PluginTIFF.cpp
> +++ FreeImage/Source/FreeImage/PluginTIFF.cpp
> @@ -37,9 +37,9 @@
>  
>  #include "FreeImage.h"
>  #include "Utilities.h"
> -#include "../LibTIFF4/tiffiop.h"
> +#include <tiffio.h>
>  #include "../Metadata/FreeImageTag.h"
> -#include "../OpenEXR/Half/half.h"
> +#include <OpenEXR/half.h>
>  
>  #include "FreeImageIO.h"
>  #include "PSDParser.h"
> Index: FreeImage/Source/FreeImage/PluginWebP.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/PluginWebP.cpp
> +++ FreeImage/Source/FreeImage/PluginWebP.cpp
> @@ -24,10 +24,10 @@
>  
>  #include "../Metadata/FreeImageTag.h"
>  
> -#include "../LibWebP/src/webp/decode.h"
> -#include "../LibWebP/src/webp/encode.h"
> -#include "../LibWebP/src/enc/vp8enci.h"
> -#include "../LibWebP/src/webp/mux.h"
> +#include <webp/decode.h>
> +#include <webp/encode.h>
> +// #include "../LibWebP/src/enc/vp8enci.h"
> +#include <webp/mux.h>
>  
>  // ==========================================================
>  // Plugin Interface
> Index: FreeImage/Source/FreeImage/ZLibInterface.cpp
> ===================================================================
> --- FreeImage.orig/Source/FreeImage/ZLibInterface.cpp
> +++ FreeImage/Source/FreeImage/ZLibInterface.cpp
> @@ -19,10 +19,9 @@
>  // Use at your own risk!
>  // ==========================================================
>  
> -#include "../ZLib/zlib.h"
> +#include <zlib.h>
>  #include "FreeImage.h"
>  #include "Utilities.h"
> -#include "../ZLib/zutil.h"   /* must be the last header because of error 
> C3163 in VS2008 (_vsnprintf defined in stdio.h) */
>  
>  /**
>  Compresses a source buffer into a target buffer, using the ZLib library. 
> @@ -115,7 +114,7 @@ FreeImage_ZLibGZip(BYTE *target, DWORD t
>                       return 0;
>          case Z_OK: {
>              // patch header, setup crc and length (stolen from 
> mod_trace_output)
> -            BYTE *p = target + 8; *p++ = 2; *p = OS_CODE; // xflags, os_code
> +            BYTE *p = target + 8; *p++ = 2; *p = 0x03; // xflags, os_code 
> (unix)
>               crc = crc32(crc, source, source_size);
>               memcpy(target + 4 + dest_len, &crc, 4);
>               memcpy(target + 8 + dest_len, &source_size, 4);
> Index: FreeImage/Source/Metadata/XTIFF.cpp
> ===================================================================
> --- FreeImage.orig/Source/Metadata/XTIFF.cpp
> +++ FreeImage/Source/Metadata/XTIFF.cpp
> @@ -29,13 +29,18 @@
>  #pragma warning (disable : 4786) // identifier was truncated to 'number' 
> characters
>  #endif
>  
> -#include "../LibTIFF4/tiffiop.h"
> +#include <tiffio.h>
>  
>  #include "FreeImage.h"
>  #include "Utilities.h"
>  #include "FreeImageTag.h"
>  #include "FIRational.h"
>  
> +extern "C"
> +{
> +    int _TIFFDataSize(TIFFDataType type);
> +}
> +
>  // ----------------------------------------------------------
>  //   Extended TIFF Directory GEO Tag Support
>  // ----------------------------------------------------------
> @@ -224,6 +229,33 @@ tiff_write_geotiff_profile(TIFF *tif, FI
>  //   TIFF EXIF tag reading & writing
>  // ----------------------------------------------------------
>  
> +static uint32 exif_tag_ids[] = {
> +  EXIFTAG_EXPOSURETIME, EXIFTAG_FNUMBER, EXIFTAG_EXPOSUREPROGRAM,
> +  EXIFTAG_SPECTRALSENSITIVITY, EXIFTAG_ISOSPEEDRATINGS, EXIFTAG_OECF,
> +  EXIFTAG_EXIFVERSION, EXIFTAG_DATETIMEORIGINAL, EXIFTAG_DATETIMEDIGITIZED,
> +  EXIFTAG_COMPONENTSCONFIGURATION, EXIFTAG_COMPRESSEDBITSPERPIXEL,
> +  EXIFTAG_SHUTTERSPEEDVALUE, EXIFTAG_APERTUREVALUE,
> +  EXIFTAG_BRIGHTNESSVALUE, EXIFTAG_EXPOSUREBIASVALUE,
> +  EXIFTAG_MAXAPERTUREVALUE, EXIFTAG_SUBJECTDISTANCE, EXIFTAG_METERINGMODE,
> +  EXIFTAG_LIGHTSOURCE, EXIFTAG_FLASH, EXIFTAG_FOCALLENGTH,
> +  EXIFTAG_SUBJECTAREA, EXIFTAG_MAKERNOTE, EXIFTAG_USERCOMMENT,
> +  EXIFTAG_SUBSECTIME, EXIFTAG_SUBSECTIMEORIGINAL,
> +  EXIFTAG_SUBSECTIMEDIGITIZED, EXIFTAG_FLASHPIXVERSION, EXIFTAG_COLORSPACE,
> +  EXIFTAG_PIXELXDIMENSION, EXIFTAG_PIXELYDIMENSION,
> +  EXIFTAG_RELATEDSOUNDFILE, EXIFTAG_FLASHENERGY,
> +  EXIFTAG_SPATIALFREQUENCYRESPONSE, EXIFTAG_FOCALPLANEXRESOLUTION,
> +  EXIFTAG_FOCALPLANEYRESOLUTION, EXIFTAG_FOCALPLANERESOLUTIONUNIT,
> +  EXIFTAG_SUBJECTLOCATION, EXIFTAG_EXPOSUREINDEX, EXIFTAG_SENSINGMETHOD,
> +  EXIFTAG_FILESOURCE, EXIFTAG_SCENETYPE, EXIFTAG_CFAPATTERN,
> +  EXIFTAG_CUSTOMRENDERED, EXIFTAG_EXPOSUREMODE, EXIFTAG_WHITEBALANCE,
> +  EXIFTAG_DIGITALZOOMRATIO, EXIFTAG_FOCALLENGTHIN35MMFILM,
> +  EXIFTAG_SCENECAPTURETYPE, EXIFTAG_GAINCONTROL, EXIFTAG_CONTRAST,
> +  EXIFTAG_SATURATION, EXIFTAG_SHARPNESS, EXIFTAG_DEVICESETTINGDESCRIPTION,
> +  EXIFTAG_SUBJECTDISTANCERANGE, EXIFTAG_GAINCONTROL, EXIFTAG_GAINCONTROL,
> +  EXIFTAG_IMAGEUNIQUEID
> +};
> +static int nExifTags = sizeof(exif_tag_ids) / sizeof(exif_tag_ids[0]);
> +
>  /**
>  Read a single Exif tag
>  
> @@ -575,43 +607,10 @@ tiff_read_exif_tags(TIFF *tif, TagLib::M
>  
>       // loop over all Core Directory Tags
>       // ### uses private data, but there is no other way
> +     // -> Fedora: Best we can do without private headers is to hard-code a 
> list of known EXIF tags and read those
>       if(md_model == TagLib::EXIF_MAIN) {
> -             const TIFFDirectory *td = &tif->tif_dir;
> -
> -             uint32 lastTag = 0;     //<- used to prevent reading some tags 
> twice (as stored in tif_fieldinfo)
> -
> -             for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, 
> fi++) {
> -                     const TIFFField *fld = tif->tif_fields[fi];
> -
> -                     const uint32 tag_id = TIFFFieldTag(fld);
> -
> -                     if(tag_id == lastTag) {
> -                             continue;
> -                     }
> -
> -                     // test if tag value is set
> -                     // (lifted directly from LibTiff _TIFFWriteDirectory)
> -
> -                     if( fld->field_bit == FIELD_CUSTOM ) {
> -                             int is_set = FALSE;
> -
> -                             for(int ci = 0; ci < td->td_customValueCount; 
> ci++ ) {
> -                                     is_set |= (td->td_customValues[ci].info 
> == fld);
> -                             }
> -
> -                             if( !is_set ) {
> -                                     continue;
> -                             }
> -
> -                     } else if(!TIFFFieldSet(tif, fld->field_bit)) {
> -                             continue;
> -                     }
> -
> -                     // process *all* other tags (some will be ignored)
> -
> -                     tiff_read_exif_tag(tif, tag_id, dib, md_model);
> -
> -                     lastTag = tag_id;
> +             for (int i = 0; i < nExifTags; ++i) {
> +                     tiff_read_exif_tag(tif, exif_tag_ids[i], dib, md_model);
>               }
>  
>       }
> @@ -723,10 +722,9 @@ tiff_write_exif_tags(TIFF *tif, TagLib::
>       
>       TagLib& tag_lib = TagLib::instance();
>       
> -     for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, fi++) {
> -             const TIFFField *fld = tif->tif_fields[fi];
> -             
> -             const uint32 tag_id = TIFFFieldTag(fld);
> +     for (int fi = 0, nfi = nExifTags; nfi > 0; nfi--, fi++) {
> +             const uint32 tag_id = exif_tag_ids[fi];
> +             const TIFFField *fld = TIFFFieldWithTag(tif, tag_id);
>  
>               if(skip_write_field(tif, tag_id)) {
>                       // skip tags that are already handled by the LibTIFF 
> writing process
> Index: FreeImage/genfipsrclist.sh
> ===================================================================
> --- FreeImage.orig/genfipsrclist.sh
> +++ FreeImage/genfipsrclist.sh
> @@ -1,18 +1,13 @@
>  #!/bin/sh
>  
> -DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG 
> Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR 
> Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf 
> Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath 
> Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal 
> Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR 
> Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib 
> Wrapper/FreeImagePlus"
> +DIRLIST="Wrapper/FreeImagePlus"
>  
>  
>  echo "VER_MAJOR = 3" > fipMakefile.srcs
>  echo "VER_MINOR = 17.0" >> fipMakefile.srcs
>  
>  echo -n "SRCS = " >> fipMakefile.srcs
> -for DIR in $DIRLIST; do
> -     VCPRJS=`echo $DIR/*.2008.vcproj`
> -     if [ "$VCPRJS" != "$DIR/*.2008.vcproj" ]; then
> -             egrep 'RelativePath=.*\.(c|cpp)' $DIR/*.2008.vcproj | cut -d'"' 
> -f2 | tr '\\' '/' | awk '{print "'$DIR'/"$0}' | tr '\r\n' '  ' | tr -s ' ' >> 
> fipMakefile.srcs
> -     fi
> -done
> +find Wrapper/FreeImagePlus/src -name '*.cpp' -print | LC_ALL=C sort | xargs 
> echo -n >> fipMakefile.srcs
>  echo >> fipMakefile.srcs
>  
>  echo -n "INCLUDE =" >> fipMakefile.srcs
> Index: FreeImage/gensrclist.sh
> ===================================================================
> --- FreeImage.orig/gensrclist.sh
> +++ FreeImage/gensrclist.sh
> @@ -1,21 +1,16 @@
>  #!/bin/sh
>  
> -DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG 
> Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR 
> Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf 
> Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath 
> Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal 
> Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR 
> Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib"
> +DIRLIST=`find Source -type d | LC_ALL=C sort`
>  
>  echo "VER_MAJOR = 3" > Makefile.srcs
>  echo "VER_MINOR = 17.0" >> Makefile.srcs
>  
>  echo -n "SRCS = " >> Makefile.srcs
> -for DIR in $DIRLIST; do
> -     VCPRJS=`echo $DIR/*.2008.vcproj`
> -     if [ "$VCPRJS" != "$DIR/*.2008.vcproj" ]; then
> -             egrep 'RelativePath=.*\.(c|cpp)' $DIR/*.2008.vcproj | cut -d'"' 
> -f2 | tr '\\' '/' | awk '{print "'$DIR'/"$0}' | tr '\r\n' '  ' | tr -s ' ' >> 
> Makefile.srcs
> -     fi
> -done
> +find Source -name '*.c' -or -name '*.cpp' -not -name 'PluginG3.cpp' -not 
> -name 'JPEGTransform.cpp' | LC_ALL=C sort | xargs echo -n >> Makefile.srcs
>  echo >> Makefile.srcs
>  
>  echo -n "INCLS = " >> Makefile.srcs
> -find . -name "*.h" -print | xargs echo >> Makefile.srcs
> +find Source -name '*.h' | LC_ALL=C sort | xargs echo -n >> Makefile.srcs
>  echo >> Makefile.srcs
>  
>  echo -n "INCLUDE =" >> Makefile.srcs
> Index: FreeImage/Makefile.srcs
> ===================================================================
> --- FreeImage.orig/Makefile.srcs
> +++ FreeImage/Makefile.srcs
> @@ -1,6 +1,5 @@
>  VER_MAJOR = 3
>  VER_MINOR = 17.0
> -SRCS = ./Source/FreeImage/BitmapAccess.cpp 
> ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/FreeImage.cpp 
> ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp 
> ./Source/FreeImage/GetType.cpp ./Source/FreeImage/MemoryIO.cpp 
> ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp 
> ././Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp 
> ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp 
> ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp 
> ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp 
> ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp 
> ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp 
> ././Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp 
> ./Source/FreeImage/PluginJPEG.cpp ././Source/FreeImage/PluginJXR.cpp 
> ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp 
> ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp 
> ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp 
> ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp 
> ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp 
> ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp 
> ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp 
> ./Source/FreeImage/PluginWBMP.cpp ././Source/FreeImage/PluginWebP.cpp 
> ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp 
> ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp 
> ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp 
> ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp 
> ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp 
> ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp 
> ./Source/FreeImage/ConversionRGB16.cpp 
> ././Source/FreeImage/ConversionRGBA16.cpp 
> ././Source/FreeImage/ConversionRGBAF.cpp 
> ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp 
> ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp 
> ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp 
> ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp 
> ./Source/FreeImage/ToneMapping.cpp ././Source/FreeImage/LFPQuantizer.cpp 
> ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp 
> ./Source/DeprecationManager/Deprecated.cpp 
> ./Source/DeprecationManager/DeprecationMgr.cpp 
> ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp 
> ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp 
> ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp 
> ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp 
> ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp 
> ./Source/FreeImageToolkit/Background.cpp 
> ./Source/FreeImageToolkit/BSplineRotate.cpp 
> ./Source/FreeImageToolkit/Channels.cpp 
> ./Source/FreeImageToolkit/ClassicRotate.cpp 
> ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp 
> ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp 
> ./Source/FreeImageToolkit/JPEGTransform.cpp 
> ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp 
> ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp 
> Source/LibJPEG/./jaricom.c Source/LibJPEG/jcapimin.c 
> Source/LibJPEG/jcapistd.c Source/LibJPEG/./jcarith.c 
> Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c 
> Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c 
> Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c 
> Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c 
> Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c 
> Source/LibJPEG/./jdarith.c Source/LibJPEG/jdatadst.c 
> Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c 
> Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c 
> Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c 
> Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c 
> Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c 
> Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c 
> Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c 
> Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c 
> Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/./png.c 
> Source/LibPNG/./pngerror.c Source/LibPNG/./pngget.c Source/LibPNG/./pngmem.c 
> Source/LibPNG/./pngpread.c Source/LibPNG/./pngread.c Source/LibPNG/./pngrio.c 
> Source/LibPNG/./pngrtran.c Source/LibPNG/./pngrutil.c 
> Source/LibPNG/./pngset.c Source/LibPNG/./pngtrans.c Source/LibPNG/./pngwio.c 
> Source/LibPNG/./pngwrite.c Source/LibPNG/./pngwtran.c 
> Source/LibPNG/./pngwutil.c Source/LibTIFF4/./tif_aux.c 
> Source/LibTIFF4/./tif_close.c Source/LibTIFF4/./tif_codec.c 
> Source/LibTIFF4/./tif_color.c Source/LibTIFF4/./tif_compress.c 
> Source/LibTIFF4/./tif_dir.c Source/LibTIFF4/./tif_dirinfo.c 
> Source/LibTIFF4/./tif_dirread.c Source/LibTIFF4/./tif_dirwrite.c 
> Source/LibTIFF4/./tif_dumpmode.c Source/LibTIFF4/./tif_error.c 
> Source/LibTIFF4/./tif_extension.c Source/LibTIFF4/./tif_fax3.c 
> Source/LibTIFF4/./tif_fax3sm.c Source/LibTIFF4/./tif_flush.c 
> Source/LibTIFF4/./tif_getimage.c Source/LibTIFF4/./tif_jpeg.c 
> Source/LibTIFF4/./tif_luv.c Source/LibTIFF4/./tif_lzma.c 
> Source/LibTIFF4/./tif_lzw.c Source/LibTIFF4/./tif_next.c 
> Source/LibTIFF4/./tif_ojpeg.c Source/LibTIFF4/./tif_open.c 
> Source/LibTIFF4/./tif_packbits.c Source/LibTIFF4/./tif_pixarlog.c 
> Source/LibTIFF4/./tif_predict.c Source/LibTIFF4/./tif_print.c 
> Source/LibTIFF4/./tif_read.c Source/LibTIFF4/./tif_strip.c 
> Source/LibTIFF4/./tif_swab.c Source/LibTIFF4/./tif_thunder.c 
> Source/LibTIFF4/./tif_tile.c Source/LibTIFF4/./tif_version.c 
> Source/LibTIFF4/./tif_warning.c Source/LibTIFF4/./tif_write.c 
> Source/LibTIFF4/./tif_zip.c Source/ZLib/./adler32.c Source/ZLib/./compress.c 
> Source/ZLib/./crc32.c Source/ZLib/./deflate.c Source/ZLib/./gzclose.c 
> Source/ZLib/./gzlib.c Source/ZLib/./gzread.c Source/ZLib/./gzwrite.c 
> Source/ZLib/./infback.c Source/ZLib/./inffast.c Source/ZLib/./inflate.c 
> Source/ZLib/./inftrees.c Source/ZLib/./trees.c Source/ZLib/./uncompr.c 
> Source/ZLib/./zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c 
> Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c 
> Source/LibOpenJPEG/./function_list.c Source/LibOpenJPEG/image.c 
> Source/LibOpenJPEG/./invert.c Source/LibOpenJPEG/j2k.c 
> Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c 
> Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/./opj_clock.c 
> Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c 
> Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c 
> Source/OpenEXR/./IlmImf/b44ExpLogTable.cpp 
> Source/OpenEXR/./IlmImf/ImfAcesFile.cpp 
> Source/OpenEXR/./IlmImf/ImfAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfB44Compressor.cpp 
> Source/OpenEXR/./IlmImf/ImfBoxAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfChannelList.cpp 
> Source/OpenEXR/./IlmImf/ImfChannelListAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfChromaticities.cpp 
> Source/OpenEXR/./IlmImf/ImfChromaticitiesAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfCompositeDeepScanLine.cpp 
> Source/OpenEXR/./IlmImf/ImfCompressionAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfCompressor.cpp 
> Source/OpenEXR/./IlmImf/ImfConvert.cpp 
> Source/OpenEXR/./IlmImf/ImfCRgbaFile.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepCompositing.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepFrameBuffer.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepImageStateAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepScanLineInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepScanLineInputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepScanLineOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepScanLineOutputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepTiledInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepTiledInputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepTiledOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepTiledOutputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfDoubleAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfDwaCompressor.cpp 
> Source/OpenEXR/./IlmImf/ImfEnvmap.cpp 
> Source/OpenEXR/./IlmImf/ImfEnvmapAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfFastHuf.cpp 
> Source/OpenEXR/./IlmImf/ImfFloatAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfFloatVectorAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfFrameBuffer.cpp 
> Source/OpenEXR/./IlmImf/ImfFramesPerSecond.cpp 
> Source/OpenEXR/./IlmImf/ImfGenericInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfGenericOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfHeader.cpp Source/OpenEXR/./IlmImf/ImfHuf.cpp 
> Source/OpenEXR/./IlmImf/ImfInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfInputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfInputPartData.cpp 
> Source/OpenEXR/./IlmImf/ImfIntAttribute.cpp Source/OpenEXR/./IlmImf/ImfIO.cpp 
> Source/OpenEXR/./IlmImf/ImfKeyCode.cpp 
> Source/OpenEXR/./IlmImf/ImfKeyCodeAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfLineOrderAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfLut.cpp 
> Source/OpenEXR/./IlmImf/ImfMatrixAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfMisc.cpp 
> Source/OpenEXR/./IlmImf/ImfMultiPartInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfMultiPartOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfMultiView.cpp 
> Source/OpenEXR/./IlmImf/ImfOpaqueAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfOutputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfOutputPartData.cpp 
> Source/OpenEXR/./IlmImf/ImfPartType.cpp 
> Source/OpenEXR/./IlmImf/ImfPizCompressor.cpp 
> Source/OpenEXR/./IlmImf/ImfPreviewImage.cpp 
> Source/OpenEXR/./IlmImf/ImfPreviewImageAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfPxr24Compressor.cpp 
> Source/OpenEXR/./IlmImf/ImfRational.cpp 
> Source/OpenEXR/./IlmImf/ImfRationalAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfRgbaFile.cpp 
> Source/OpenEXR/./IlmImf/ImfRgbaYca.cpp Source/OpenEXR/./IlmImf/ImfRle.cpp 
> Source/OpenEXR/./IlmImf/ImfRleCompressor.cpp 
> Source/OpenEXR/./IlmImf/ImfScanLineInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfStandardAttributes.cpp 
> Source/OpenEXR/./IlmImf/ImfStdIO.cpp 
> Source/OpenEXR/./IlmImf/ImfStringAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfStringVectorAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfSystemSpecific.cpp 
> Source/OpenEXR/./IlmImf/ImfTestFile.cpp 
> Source/OpenEXR/./IlmImf/ImfThreading.cpp 
> Source/OpenEXR/./IlmImf/ImfTileDescriptionAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledInputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledMisc.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledOutputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledRgbaFile.cpp 
> Source/OpenEXR/./IlmImf/ImfTileOffsets.cpp 
> Source/OpenEXR/./IlmImf/ImfTimeCode.cpp 
> Source/OpenEXR/./IlmImf/ImfTimeCodeAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfVecAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfVersion.cpp Source/OpenEXR/./IlmImf/ImfWav.cpp 
> Source/OpenEXR/./IlmImf/ImfZip.cpp 
> Source/OpenEXR/./IlmImf/ImfZipCompressor.cpp 
> Source/OpenEXR/./Imath/ImathBox.cpp Source/OpenEXR/./Imath/ImathColorAlgo.cpp 
> Source/OpenEXR/./Imath/ImathFun.cpp 
> Source/OpenEXR/./Imath/ImathMatrixAlgo.cpp 
> Source/OpenEXR/./Imath/ImathRandom.cpp Source/OpenEXR/./Imath/ImathShear.cpp 
> Source/OpenEXR/./Imath/ImathVec.cpp Source/OpenEXR/./Iex/IexBaseExc.cpp 
> Source/OpenEXR/./Iex/IexThrowErrnoExc.cpp Source/OpenEXR/./Half/half.cpp 
> Source/OpenEXR/./IlmThread/IlmThread.cpp 
> Source/OpenEXR/./IlmThread/IlmThreadMutex.cpp 
> Source/OpenEXR/./IlmThread/IlmThreadPool.cpp 
> Source/OpenEXR/./IlmThread/IlmThreadSemaphore.cpp 
> Source/OpenEXR/./IexMath/IexMathFloatExc.cpp 
> Source/OpenEXR/./IexMath/IexMathFpu.cpp 
> Source/LibRawLite/./internal/dcraw_common.cpp 
> Source/LibRawLite/./internal/dcraw_fileio.cpp 
> Source/LibRawLite/./internal/demosaic_packs.cpp 
> Source/LibRawLite/./src/libraw_c_api.cpp 
> Source/LibRawLite/./src/libraw_cxx.cpp 
> Source/LibRawLite/./src/libraw_datastream.cpp 
> Source/LibWebP/./src/dec/dec.alpha.c Source/LibWebP/./src/dec/dec.buffer.c 
> Source/LibWebP/./src/dec/dec.frame.c Source/LibWebP/./src/dec/dec.idec.c 
> Source/LibWebP/./src/dec/dec.io.c Source/LibWebP/./src/dec/dec.quant.c 
> Source/LibWebP/./src/dec/dec.tree.c Source/LibWebP/./src/dec/dec.vp8.c 
> Source/LibWebP/./src/dec/dec.vp8l.c Source/LibWebP/./src/dec/dec.webp.c 
> Source/LibWebP/./src/dsp/dsp.alpha_processing.c 
> Source/LibWebP/./src/dsp/dsp.alpha_processing_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.alpha_processing_sse2.c 
> Source/LibWebP/./src/dsp/dsp.argb.c 
> Source/LibWebP/./src/dsp/dsp.argb_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.argb_sse2.c Source/LibWebP/./src/dsp/dsp.cost.c 
> Source/LibWebP/./src/dsp/dsp.cost_mips32.c 
> Source/LibWebP/./src/dsp/dsp.cost_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.cost_sse2.c Source/LibWebP/./src/dsp/dsp.cpu.c 
> Source/LibWebP/./src/dsp/dsp.dec.c 
> Source/LibWebP/./src/dsp/dsp.dec_clip_tables.c 
> Source/LibWebP/./src/dsp/dsp.dec_mips32.c 
> Source/LibWebP/./src/dsp/dsp.dec_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.dec_neon.c 
> Source/LibWebP/./src/dsp/dsp.dec_sse2.c Source/LibWebP/./src/dsp/dsp.enc.c 
> Source/LibWebP/./src/dsp/dsp.enc_avx2.c 
> Source/LibWebP/./src/dsp/dsp.enc_mips32.c 
> Source/LibWebP/./src/dsp/dsp.enc_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.enc_neon.c 
> Source/LibWebP/./src/dsp/dsp.enc_sse2.c 
> Source/LibWebP/./src/dsp/dsp.filters.c 
> Source/LibWebP/./src/dsp/dsp.filters_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.filters_sse2.c 
> Source/LibWebP/./src/dsp/dsp.lossless.c 
> Source/LibWebP/./src/dsp/dsp.lossless_mips32.c 
> Source/LibWebP/./src/dsp/dsp.lossless_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.lossless_neon.c 
> Source/LibWebP/./src/dsp/dsp.lossless_sse2.c 
> Source/LibWebP/./src/dsp/dsp.rescaler.c 
> Source/LibWebP/./src/dsp/dsp.rescaler_mips32.c 
> Source/LibWebP/./src/dsp/dsp.rescaler_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.upsampling.c 
> Source/LibWebP/./src/dsp/dsp.upsampling_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.upsampling_neon.c 
> Source/LibWebP/./src/dsp/dsp.upsampling_sse2.c 
> Source/LibWebP/./src/dsp/dsp.yuv.c Source/LibWebP/./src/dsp/dsp.yuv_mips32.c 
> Source/LibWebP/./src/dsp/dsp.yuv_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.yuv_sse2.c Source/LibWebP/./src/enc/enc.alpha.c 
> Source/LibWebP/./src/enc/enc.analysis.c 
> Source/LibWebP/./src/enc/enc.backward_references.c 
> Source/LibWebP/./src/enc/enc.config.c Source/LibWebP/./src/enc/enc.cost.c 
> Source/LibWebP/./src/enc/enc.filter.c Source/LibWebP/./src/enc/enc.frame.c 
> Source/LibWebP/./src/enc/enc.histogram.c 
> Source/LibWebP/./src/enc/enc.iterator.c 
> Source/LibWebP/./src/enc/enc.near_lossless.c 
> Source/LibWebP/./src/enc/enc.picture.c 
> Source/LibWebP/./src/enc/enc.picture_csp.c 
> Source/LibWebP/./src/enc/enc.picture_psnr.c 
> Source/LibWebP/./src/enc/enc.picture_rescale.c 
> Source/LibWebP/./src/enc/enc.picture_tools.c 
> Source/LibWebP/./src/enc/enc.quant.c Source/LibWebP/./src/enc/enc.syntax.c 
> Source/LibWebP/./src/enc/enc.token.c Source/LibWebP/./src/enc/enc.tree.c 
> Source/LibWebP/./src/enc/enc.vp8l.c Source/LibWebP/./src/enc/enc.webpenc.c 
> Source/LibWebP/./src/utils/utils.bit_reader.c 
> Source/LibWebP/./src/utils/utils.bit_writer.c 
> Source/LibWebP/./src/utils/utils.color_cache.c 
> Source/LibWebP/./src/utils/utils.filters.c 
> Source/LibWebP/./src/utils/utils.huffman.c 
> Source/LibWebP/./src/utils/utils.huffman_encode.c 
> Source/LibWebP/./src/utils/utils.quant_levels.c 
> Source/LibWebP/./src/utils/utils.quant_levels_dec.c 
> Source/LibWebP/./src/utils/utils.random.c 
> Source/LibWebP/./src/utils/utils.rescaler.c 
> Source/LibWebP/./src/utils/utils.thread.c 
> Source/LibWebP/./src/utils/utils.utils.c 
> Source/LibWebP/./src/mux/mux.anim_encode.c 
> Source/LibWebP/./src/mux/mux.muxedit.c 
> Source/LibWebP/./src/mux/mux.muxinternal.c 
> Source/LibWebP/./src/mux/mux.muxread.c 
> Source/LibWebP/./src/demux/demux.demux.c 
> Source/LibJXR/./image/decode/decode.c 
> Source/LibJXR/./image/decode/JXRTranscode.c 
> Source/LibJXR/./image/decode/postprocess.c 
> Source/LibJXR/./image/decode/segdec.c Source/LibJXR/./image/decode/strdec.c 
> Source/LibJXR/./image/decode/strdec_x86.c 
> Source/LibJXR/./image/decode/strInvTransform.c 
> Source/LibJXR/./image/decode/strPredQuantDec.c 
> Source/LibJXR/./image/encode/encode.c Source/LibJXR/./image/encode/segenc.c 
> Source/LibJXR/./image/encode/strenc.c 
> Source/LibJXR/./image/encode/strenc_x86.c 
> Source/LibJXR/./image/encode/strFwdTransform.c 
> Source/LibJXR/./image/encode/strPredQuantEnc.c 
> Source/LibJXR/./image/sys/adapthuff.c Source/LibJXR/./image/sys/image.c 
> Source/LibJXR/./image/sys/strcodec.c Source/LibJXR/./image/sys/strPredQuant.c 
> Source/LibJXR/./image/sys/strTransform.c Source/LibJXR/./jxrgluelib/JXRGlue.c 
> Source/LibJXR/./jxrgluelib/JXRGlueJxr.c 
> Source/LibJXR/./jxrgluelib/JXRGluePFC.c Source/LibJXR/./jxrgluelib/JXRMeta.c 
> -INCLS = ./Examples/OpenGL/TextureManager/TextureManager.h 
> ./Examples/Plugin/PluginCradle.h ./Examples/Generic/FIIO_Mem.h 
> ./Source/MapIntrospector.h ./Source/FreeImage - Copie.h ./Source/CacheFile.h 
> ./Source/LibTIFF/tiffconf.vc.h ./Source/LibTIFF/tif_config.h 
> ./Source/LibTIFF/tif_fax3.h ./Source/LibTIFF/tif_config.vc.h 
> ./Source/LibTIFF/tiffvers.h ./Source/LibTIFF/tiffio.h 
> ./Source/LibTIFF/tif_config.wince.h ./Source/LibTIFF/tiffconf.wince.h 
> ./Source/LibTIFF/tiff.h ./Source/LibTIFF/uvcode.h ./Source/LibTIFF/tif_dir.h 
> ./Source/LibTIFF/t4.h ./Source/LibTIFF/tif_predict.h 
> ./Source/LibTIFF/tiffiop.h ./Source/LibJPEG/cderror.h 
> ./Source/LibJPEG/jmorecfg.h ./Source/LibJPEG/transupp.h 
> ./Source/LibJPEG/jpeglib.h ./Source/LibJPEG/jversion.h 
> ./Source/LibJPEG/jinclude.h ./Source/LibJPEG/jerror.h 
> ./Source/LibJPEG/jconfig.h ./Source/LibJPEG/jdct.h ./Source/LibJPEG/cdjpeg.h 
> ./Source/LibJPEG/jmemsys.h ./Source/LibJPEG/jpegint.h ./Source/Plugin.h 
> ./Source/Metadata/FreeImageTag.h ./Source/Metadata/FIRational.h 
> ./Source/ToneMapping.h ./Source/LibTIFF4/tiffconf.vc.h 
> ./Source/LibTIFF4/tif_config.h ./Source/LibTIFF4/tif_fax3.h 
> ./Source/LibTIFF4/tif_config.vc.h ./Source/LibTIFF4/tiffvers.h 
> ./Source/LibTIFF4/tiffio.h ./Source/LibTIFF4/tif_config.wince.h 
> ./Source/LibTIFF4/tiffconf.wince.h ./Source/LibTIFF4/tiff.h 
> ./Source/LibTIFF4/uvcode.h ./Source/LibTIFF4/tif_dir.h ./Source/LibTIFF4/t4.h 
> ./Source/LibTIFF4/tif_predict.h ./Source/LibTIFF4/tiffiop.h 
> ./Source/LibTIFF4/tiffconf.h ./Source/LibWebP/src/dec/alphai.h 
> ./Source/LibWebP/src/dec/vp8li.h ./Source/LibWebP/src/dec/decode_vp8.h 
> ./Source/LibWebP/src/dec/webpi.h ./Source/LibWebP/src/dec/vp8i.h 
> ./Source/LibWebP/src/enc/vp8enci.h ./Source/LibWebP/src/enc/histogram.h 
> ./Source/LibWebP/src/enc/vp8li.h 
> ./Source/LibWebP/src/enc/backward_references.h 
> ./Source/LibWebP/src/enc/cost.h ./Source/LibWebP/src/utils/huffman_encode.h 
> ./Source/LibWebP/src/utils/rescaler.h ./Source/LibWebP/src/utils/bit_writer.h 
> ./Source/LibWebP/src/utils/huffman.h 
> ./Source/LibWebP/src/utils/quant_levels.h ./Source/LibWebP/src/utils/thread.h 
> ./Source/LibWebP/src/utils/filters.h ./Source/LibWebP/src/utils/random.h 
> ./Source/LibWebP/src/utils/quant_levels_dec.h 
> ./Source/LibWebP/src/utils/bit_reader_inl.h 
> ./Source/LibWebP/src/utils/color_cache.h 
> ./Source/LibWebP/src/utils/bit_reader.h 
> ./Source/LibWebP/src/utils/endian_inl.h ./Source/LibWebP/src/utils/utils.h 
> ./Source/LibWebP/src/mux/muxi.h ./Source/LibWebP/src/webp/mux.h 
> ./Source/LibWebP/src/webp/types.h 
> ./Source/LibWebP/src/webp/format_constants.h 
> ./Source/LibWebP/src/webp/demux.h ./Source/LibWebP/src/webp/encode.h 
> ./Source/LibWebP/src/webp/decode.h ./Source/LibWebP/src/webp/mux_types.h 
> ./Source/LibWebP/src/dsp/yuv.h ./Source/LibWebP/src/dsp/yuv_tables_sse2.h 
> ./Source/LibWebP/src/dsp/neon.h ./Source/LibWebP/src/dsp/mips_macro.h 
> ./Source/LibWebP/src/dsp/dsp.h ./Source/LibWebP/src/dsp/lossless.h 
> ./Source/FreeImageIO.h ./Source/LibMNG/libmng_data.h 
> ./Source/LibMNG/libmng_jpeg.h ./Source/LibMNG/libmng_conf.h 
> ./Source/LibMNG/libmng.h ./Source/LibMNG/libmng_trace.h 
> ./Source/LibMNG/libmng_zlib.h ./Source/LibMNG/libmng_read.h 
> ./Source/LibMNG/libmng_chunk_io.h ./Source/LibMNG/libmng_filter.h 
> ./Source/LibMNG/libmng_cms.h ./Source/LibMNG/libmng_chunks.h 
> ./Source/LibMNG/libmng_write.h ./Source/LibMNG/libmng_error.h 
> ./Source/LibMNG/libmng_types.h ./Source/LibMNG/libmng_objects.h 
> ./Source/LibMNG/libmng_chunk_prc.h ./Source/LibMNG/libmng_chunk_descr.h 
> ./Source/LibMNG/libmng_display.h ./Source/LibMNG/libmng_pixels.h 
> ./Source/LibMNG/libmng_object_prc.h ./Source/LibMNG/libmng_memory.h 
> ./Source/LibMNG/libmng_dither.h ./Source/FreeImage.h 
> ./Source/FreeImage/PSDParser.h ./Source/FreeImage/J2KHelper.h 
> ./Source/ZLib/trees.h ./Source/ZLib/inffixed.h ./Source/ZLib/inflate.h 
> ./Source/ZLib/zlib.h ./Source/ZLib/zconf.h ./Source/ZLib/inftrees.h 
> ./Source/ZLib/zutil.h ./Source/ZLib/inffast.h ./Source/ZLib/crc32.h 
> ./Source/ZLib/gzguts.h ./Source/ZLib/deflate.h ./Source/Quantizers.h 
> ./Source/LibOpenJPEG/cio.h ./Source/LibOpenJPEG/mqc.h 
> ./Source/LibOpenJPEG/cidx_manager.h ./Source/LibOpenJPEG/function_list.h 
> ./Source/LibOpenJPEG/indexbox_manager.h ./Source/LibOpenJPEG/opj_config.h 
> ./Source/LibOpenJPEG/opj_clock.h ./Source/LibOpenJPEG/event.h 
> ./Source/LibOpenJPEG/opj_codec.h ./Source/LibOpenJPEG/pi.h 
> ./Source/LibOpenJPEG/dwt.h ./Source/LibOpenJPEG/tgt.h 
> ./Source/LibOpenJPEG/invert.h ./Source/LibOpenJPEG/opj_malloc.h 
> ./Source/LibOpenJPEG/raw.h ./Source/LibOpenJPEG/jp2.h 
> ./Source/LibOpenJPEG/bio.h ./Source/LibOpenJPEG/t2.h 
> ./Source/LibOpenJPEG/mct.h ./Source/LibOpenJPEG/t1.h 
> ./Source/LibOpenJPEG/t1_luts.h ./Source/LibOpenJPEG/j2k.h 
> ./Source/LibOpenJPEG/opj_stdint.h ./Source/LibOpenJPEG/opj_config_private.h 
> ./Source/LibOpenJPEG/opj_includes.h ./Source/LibOpenJPEG/opj_intmath.h 
> ./Source/LibOpenJPEG/image.h ./Source/LibOpenJPEG/opj_inttypes.h 
> ./Source/LibOpenJPEG/openjpeg.h ./Source/LibOpenJPEG/tcd.h 
> ./Source/LibRawLite/libraw/libraw_version.h 
> ./Source/LibRawLite/libraw/libraw_const.h ./Source/LibRawLite/libraw/libraw.h 
> ./Source/LibRawLite/libraw/libraw_types.h 
> ./Source/LibRawLite/libraw/libraw_alloc.h 
> ./Source/LibRawLite/libraw/libraw_datastream.h 
> ./Source/LibRawLite/libraw/libraw_internal.h 
> ./Source/LibRawLite/internal/var_defines.h 
> ./Source/LibRawLite/internal/defines.h 
> ./Source/LibRawLite/internal/libraw_internal_funcs.h ./Source/LibPNG/png.h 
> ./Source/LibPNG/pngdebug.h ./Source/LibPNG/pnginfo.h 
> ./Source/LibPNG/pnglibconf.h ./Source/LibPNG/pngstruct.h 
> ./Source/LibPNG/pngpriv.h ./Source/LibPNG/pngconf.h 
> ./Source/LibJXR/common/include/wmspecstrings_strict.h 
> ./Source/LibJXR/common/include/wmspecstring.h 
> ./Source/LibJXR/common/include/guiddef.h 
> ./Source/LibJXR/common/include/wmsal.h 
> ./Source/LibJXR/common/include/wmspecstrings_undef.h 
> ./Source/LibJXR/common/include/wmspecstrings_adt.h 
> ./Source/LibJXR/jxrgluelib/JXRGlue.h ./Source/LibJXR/jxrgluelib/JXRMeta.h 
> ./Source/LibJXR/image/sys/xplatform_image.h 
> ./Source/LibJXR/image/sys/strTransform.h 
> ./Source/LibJXR/image/sys/windowsmediaphoto.h 
> ./Source/LibJXR/image/sys/strcodec.h ./Source/LibJXR/image/sys/ansi.h 
> ./Source/LibJXR/image/sys/perfTimer.h ./Source/LibJXR/image/sys/common.h 
> ./Source/LibJXR/image/decode/decode.h ./Source/LibJXR/image/x86/x86.h 
> ./Source/LibJXR/image/encode/encode.h ./Source/Utilities.h 
> ./Source/FreeImageToolkit/Resize.h ./Source/FreeImageToolkit/Filters.h 
> ./Source/OpenEXR/OpenEXRConfig.h ./Source/OpenEXR/IexMath/IexMathFloatExc.h 
> ./Source/OpenEXR/IexMath/IexMathFpu.h 
> ./Source/OpenEXR/IexMath/IexMathIeeeExc.h 
> ./Source/OpenEXR/IlmThread/IlmThread.h 
> ./Source/OpenEXR/IlmThread/IlmThreadMutex.h 
> ./Source/OpenEXR/IlmThread/IlmThreadForward.h 
> ./Source/OpenEXR/IlmThread/IlmThreadExport.h 
> ./Source/OpenEXR/IlmThread/IlmThreadSemaphore.h 
> ./Source/OpenEXR/IlmThread/IlmThreadPool.h 
> ./Source/OpenEXR/IlmThread/IlmThreadNamespace.h 
> ./Source/OpenEXR/Iex/IexErrnoExc.h ./Source/OpenEXR/Iex/IexMacros.h 
> ./Source/OpenEXR/Iex/IexForward.h ./Source/OpenEXR/Iex/IexExport.h 
> ./Source/OpenEXR/Iex/IexThrowErrnoExc.h ./Source/OpenEXR/Iex/IexNamespace.h 
> ./Source/OpenEXR/Iex/IexMathExc.h ./Source/OpenEXR/Iex/IexBaseExc.h 
> ./Source/OpenEXR/Iex/Iex.h ./Source/OpenEXR/Imath/ImathColorAlgo.h 
> ./Source/OpenEXR/Imath/ImathNamespace.h ./Source/OpenEXR/Imath/ImathVec.h 
> ./Source/OpenEXR/Imath/ImathGL.h ./Source/OpenEXR/Imath/ImathSphere.h 
> ./Source/OpenEXR/Imath/ImathEuler.h ./Source/OpenEXR/Imath/ImathLimits.h 
> ./Source/OpenEXR/Imath/ImathQuat.h ./Source/OpenEXR/Imath/ImathRoots.h 
> ./Source/OpenEXR/Imath/ImathFun.h ./Source/OpenEXR/Imath/ImathExport.h 
> ./Source/OpenEXR/Imath/ImathShear.h ./Source/OpenEXR/Imath/ImathPlane.h 
> ./Source/OpenEXR/Imath/ImathForward.h 
> ./Source/OpenEXR/Imath/ImathHalfLimits.h 
> ./Source/OpenEXR/Imath/ImathFrustumTest.h 
> ./Source/OpenEXR/Imath/ImathMatrixAlgo.h 
> ./Source/OpenEXR/Imath/ImathVecAlgo.h ./Source/OpenEXR/Imath/ImathInterval.h 
> ./Source/OpenEXR/Imath/ImathBox.h ./Source/OpenEXR/Imath/ImathFrame.h 
> ./Source/OpenEXR/Imath/ImathColor.h ./Source/OpenEXR/Imath/ImathMath.h 
> ./Source/OpenEXR/Imath/ImathLine.h ./Source/OpenEXR/Imath/ImathBoxAlgo.h 
> ./Source/OpenEXR/Imath/ImathFrustum.h ./Source/OpenEXR/Imath/ImathExc.h 
> ./Source/OpenEXR/Imath/ImathLineAlgo.h ./Source/OpenEXR/Imath/ImathRandom.h 
> ./Source/OpenEXR/Imath/ImathInt64.h ./Source/OpenEXR/Imath/ImathGLU.h 
> ./Source/OpenEXR/Imath/ImathPlatform.h ./Source/OpenEXR/Imath/ImathMatrix.h 
> ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.h 
> ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.h 
> ./Source/OpenEXR/IlmImf/ImfIO.h ./Source/OpenEXR/IlmImf/ImfStdIO.h 
> ./Source/OpenEXR/IlmImf/ImfPreviewImage.h 
> ./Source/OpenEXR/IlmImf/ImfAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfDwaCompressor.h 
> ./Source/OpenEXR/IlmImf/ImfChannelList.h ./Source/OpenEXR/IlmImf/ImfInt64.h 
> ./Source/OpenEXR/IlmImf/ImfGenericOutputFile.h 
> ./Source/OpenEXR/IlmImf/ImfHuf.h 
> ./Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h 
> ./Source/OpenEXR/IlmImf/b44ExpLogTable.h 
> ./Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.h 
> ./Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfFastHuf.h ./Source/OpenEXR/IlmImf/dwaLookups.h 
> ./Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.h 
> ./Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.h 
> ./Source/OpenEXR/IlmImf/ImfInputPartData.h 
> ./Source/OpenEXR/IlmImf/ImfAcesFile.h ./Source/OpenEXR/IlmImf/ImfRgbaYca.h 
> ./Source/OpenEXR/IlmImf/ImfThreading.h ./Source/OpenEXR/IlmImf/ImfWav.h 
> ./Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfDwaCompressorSimd.h 
> ./Source/OpenEXR/IlmImf/ImfNamespace.h 
> ./Source/OpenEXR/IlmImf/ImfMatrixAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfInputFile.h 
> ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.h 
> ./Source/OpenEXR/IlmImf/ImfFloatAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfPxr24Compressor.h 
> ./Source/OpenEXR/IlmImf/ImfCompressor.h 
> ./Source/OpenEXR/IlmImf/ImfCRgbaFile.h 
> ./Source/OpenEXR/IlmImf/ImfOutputFile.h 
> ./Source/OpenEXR/IlmImf/ImfTiledInputPart.h 
> ./Source/OpenEXR/IlmImf/ImfRationalAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfTileOffsets.h 
> ./Source/OpenEXR/IlmImf/ImfInputStreamMutex.h 
> ./Source/OpenEXR/IlmImf/ImfIntAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfTiledOutputPart.h 
> ./Source/OpenEXR/IlmImf/ImfPartType.h 
> ./Source/OpenEXR/IlmImf/ImfTiledInputFile.h 
> ./Source/OpenEXR/IlmImf/ImfStringAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.h 
> ./Source/OpenEXR/IlmImf/ImfRleCompressor.h 
> ./Source/OpenEXR/IlmImf/ImfChromaticities.h 
> ./Source/OpenEXR/IlmImf/ImfTestFile.h ./Source/OpenEXR/IlmImf/ImfInputPart.h 
> ./Source/OpenEXR/IlmImf/ImfXdr.h ./Source/OpenEXR/IlmImf/ImfOutputPart.h 
> ./Source/OpenEXR/IlmImf/ImfExport.h ./Source/OpenEXR/IlmImf/ImfRgba.h 
> ./Source/OpenEXR/IlmImf/ImfLineOrder.h 
> ./Source/OpenEXR/IlmImf/ImfCompression.h 
> ./Source/OpenEXR/IlmImf/ImfTiledMisc.h 
> ./Source/OpenEXR/IlmImf/ImfFramesPerSecond.h 
> ./Source/OpenEXR/IlmImf/ImfZipCompressor.h 
> ./Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfMultiPartInputFile.h 
> ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.h 
> ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.h 
> ./Source/OpenEXR/IlmImf/ImfRational.h 
> ./Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfChannelListAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfDeepCompositing.h 
> ./Source/OpenEXR/IlmImf/ImfOutputPartData.h 
> ./Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.h 
> ./Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfFrameBuffer.h 
> ./Source/OpenEXR/IlmImf/ImfDeepImageState.h 
> ./Source/OpenEXR/IlmImf/ImfOpaqueAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfEnvmapAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfPizCompressor.h 
> ./Source/OpenEXR/IlmImf/ImfStringVectorAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfMultiView.h ./Source/OpenEXR/IlmImf/ImfAutoArray.h 
> ./Source/OpenEXR/IlmImf/ImfLut.h ./Source/OpenEXR/IlmImf/ImfTiledOutputFile.h 
> ./Source/OpenEXR/IlmImf/ImfBoxAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfCheckedArithmetic.h 
> ./Source/OpenEXR/IlmImf/ImfB44Compressor.h 
> ./Source/OpenEXR/IlmImf/ImfSystemSpecific.h 
> ./Source/OpenEXR/IlmImf/ImfRgbaFile.h ./Source/OpenEXR/IlmImf/ImfTimeCode.h 
> ./Source/OpenEXR/IlmImf/ImfVecAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.h 
> ./Source/OpenEXR/IlmImf/ImfZip.h ./Source/OpenEXR/IlmImf/ImfConvert.h 
> ./Source/OpenEXR/IlmImf/ImfMisc.h ./Source/OpenEXR/IlmImf/ImfHeader.h 
> ./Source/OpenEXR/IlmImf/ImfForward.h ./Source/OpenEXR/IlmImf/ImfPartHelper.h 
> ./Source/OpenEXR/IlmImf/ImfKeyCode.h ./Source/OpenEXR/IlmImf/ImfVersion.h 
> ./Source/OpenEXR/IlmImf/ImfStandardAttributes.h 
> ./Source/OpenEXR/IlmImf/ImfPixelType.h ./Source/OpenEXR/IlmImf/ImfName.h 
> ./Source/OpenEXR/IlmImf/ImfSimd.h ./Source/OpenEXR/IlmImf/ImfArray.h 
> ./Source/OpenEXR/IlmImf/ImfOutputStreamMutex.h 
> ./Source/OpenEXR/IlmImf/ImfTiledRgbaFile.h ./Source/OpenEXR/IlmImf/ImfRle.h 
> ./Source/OpenEXR/IlmImf/ImfScanLineInputFile.h 
> ./Source/OpenEXR/IlmImf/ImfDoubleAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfGenericInputFile.h 
> ./Source/OpenEXR/IlmImf/ImfEnvmap.h 
> ./Source/OpenEXR/IlmImf/ImfLineOrderAttribute.h 
> ./Source/OpenEXR/IlmImf/ImfTileDescription.h 
> ./Source/OpenEXR/IlmImf/ImfCompressionAttribute.h 
> ./Source/OpenEXR/IlmBaseConfig.h ./Source/OpenEXR/Half/halfFunction.h 
> ./Source/OpenEXR/Half/halfExport.h ./Source/OpenEXR/Half/half.h 
> ./Source/OpenEXR/Half/eLut.h ./Source/OpenEXR/Half/halfLimits.h 
> ./Source/OpenEXR/Half/toFloat.h ./Source/DeprecationManager/DeprecationMgr.h 
> ./Wrapper/FreeImage.NET/cpp/FreeImageIO/FreeImageIO.Net.h 
> ./Wrapper/FreeImage.NET/cpp/FreeImageIO/Stdafx.h 
> ./Wrapper/FreeImage.NET/cpp/FreeImageIO/resource.h 
> ./Wrapper/FreeImagePlus/FreeImagePlus.h 
> ./Wrapper/FreeImagePlus/test/fipTest.h ./TestAPI/TestSuite.h
> -
> -INCLUDE = -I. -ISource -ISource/Metadata -ISource/FreeImageToolkit 
> -ISource/LibJPEG -ISource/LibPNG -ISource/LibTIFF4 -ISource/ZLib 
> -ISource/LibOpenJPEG -ISource/OpenEXR -ISource/OpenEXR/Half 
> -ISource/OpenEXR/Iex -ISource/OpenEXR/IlmImf -ISource/OpenEXR/IlmThread 
> -ISource/OpenEXR/Imath -ISource/OpenEXR/IexMath -ISource/LibRawLite 
> -ISource/LibRawLite/dcraw -ISource/LibRawLite/internal 
> -ISource/LibRawLite/libraw -ISource/LibRawLite/src -ISource/LibWebP 
> -ISource/LibJXR -ISource/LibJXR/common/include -ISource/LibJXR/image/sys 
> -ISource/LibJXR/jxrgluelib
> +SRCS = Source/DeprecationManager/Deprecated.cpp 
> Source/DeprecationManager/DeprecationMgr.cpp 
> Source/FreeImage/BitmapAccess.cpp Source/FreeImage/CacheFile.cpp 
> Source/FreeImage/ColorLookup.cpp Source/FreeImage/Conversion.cpp 
> Source/FreeImage/Conversion16_555.cpp Source/FreeImage/Conversion16_565.cpp 
> Source/FreeImage/Conversion24.cpp Source/FreeImage/Conversion32.cpp 
> Source/FreeImage/Conversion4.cpp Source/FreeImage/Conversion8.cpp 
> Source/FreeImage/ConversionFloat.cpp Source/FreeImage/ConversionRGB16.cpp 
> Source/FreeImage/ConversionRGBA16.cpp Source/FreeImage/ConversionRGBAF.cpp 
> Source/FreeImage/ConversionRGBF.cpp Source/FreeImage/ConversionType.cpp 
> Source/FreeImage/ConversionUINT16.cpp Source/FreeImage/FreeImage.cpp 
> Source/FreeImage/FreeImageC.c Source/FreeImage/FreeImageIO.cpp 
> Source/FreeImage/GetType.cpp Source/FreeImage/Halftoning.cpp 
> Source/FreeImage/J2KHelper.cpp Source/FreeImage/LFPQuantizer.cpp 
> Source/FreeImage/MNGHelper.cpp Source/FreeImage/MemoryIO.cpp 
> Source/FreeImage/MultiPage.cpp Source/FreeImage/NNQuantizer.cpp 
> Source/FreeImage/PSDParser.cpp Source/FreeImage/PixelAccess.cpp 
> Source/FreeImage/Plugin.cpp Source/FreeImage/PluginBMP.cpp 
> Source/FreeImage/PluginCUT.cpp Source/FreeImage/PluginDDS.cpp 
> Source/FreeImage/PluginEXR.cpp Source/FreeImage/PluginGIF.cpp 
> Source/FreeImage/PluginHDR.cpp Source/FreeImage/PluginICO.cpp 
> Source/FreeImage/PluginIFF.cpp Source/FreeImage/PluginJ2K.cpp 
> Source/FreeImage/PluginJNG.cpp Source/FreeImage/PluginJP2.cpp 
> Source/FreeImage/PluginJPEG.cpp Source/FreeImage/PluginJXR.cpp 
> Source/FreeImage/PluginKOALA.cpp Source/FreeImage/PluginMNG.cpp 
> Source/FreeImage/PluginPCD.cpp Source/FreeImage/PluginPCX.cpp 
> Source/FreeImage/PluginPFM.cpp Source/FreeImage/PluginPICT.cpp 
> Source/FreeImage/PluginPNG.cpp Source/FreeImage/PluginPNM.cpp 
> Source/FreeImage/PluginPSD.cpp Source/FreeImage/PluginRAS.cpp 
> Source/FreeImage/PluginRAW.cpp Source/FreeImage/PluginSGI.cpp 
> Source/FreeImage/PluginTARGA.cpp Source/FreeImage/PluginTIFF.cpp 
> Source/FreeImage/PluginWBMP.cpp Source/FreeImage/PluginWebP.cpp 
> Source/FreeImage/PluginXBM.cpp Source/FreeImage/PluginXPM.cpp 
> Source/FreeImage/TIFFLogLuv.cpp Source/FreeImage/ToneMapping.cpp 
> Source/FreeImage/WuQuantizer.cpp Source/FreeImage/ZLibInterface.cpp 
> Source/FreeImage/tmoColorConvert.cpp Source/FreeImage/tmoDrago03.cpp 
> Source/FreeImage/tmoFattal02.cpp Source/FreeImage/tmoReinhard05.cpp 
> Source/FreeImageToolkit/BSplineRotate.cpp 
> Source/FreeImageToolkit/Background.cpp Source/FreeImageToolkit/Channels.cpp 
> Source/FreeImageToolkit/ClassicRotate.cpp Source/FreeImageToolkit/Colors.cpp 
> Source/FreeImageToolkit/CopyPaste.cpp Source/FreeImageToolkit/Display.cpp 
> Source/FreeImageToolkit/Flip.cpp 
> Source/FreeImageToolkit/MultigridPoissonSolver.cpp 
> Source/FreeImageToolkit/Rescale.cpp Source/FreeImageToolkit/Resize.cpp 
> Source/Metadata/Exif.cpp Source/Metadata/FIRational.cpp 
> Source/Metadata/FreeImageTag.cpp Source/Metadata/IPTC.cpp 
> Source/Metadata/TagConversion.cpp Source/Metadata/TagLib.cpp 
> Source/Metadata/XTIFF.cpp
> +INCLS = Source/CacheFile.h Source/DeprecationManager/DeprecationMgr.h 
> Source/FreeImage.h Source/FreeImage/J2KHelper.h Source/FreeImage/PSDParser.h 
> Source/FreeImageIO.h Source/FreeImageToolkit/Filters.h 
> Source/FreeImageToolkit/Resize.h Source/MapIntrospector.h 
> Source/Metadata/FIRational.h Source/Metadata/FreeImageTag.h Source/Plugin.h 
> Source/Quantizers.h Source/ToneMapping.h Source/Utilities.h
> +INCLUDE = -ISource -ISource/DeprecationManager -ISource/FreeImage 
> -ISource/FreeImageLib -ISource/FreeImageToolkit -ISource/Metadata
> Index: FreeImage/fipMakefile.srcs
> ===================================================================
> --- FreeImage.orig/fipMakefile.srcs
> +++ FreeImage/fipMakefile.srcs
> @@ -1,4 +1,4 @@
>  VER_MAJOR = 3
>  VER_MINOR = 17.0
> -SRCS = ./Source/FreeImage/BitmapAccess.cpp 
> ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/FreeImage.cpp 
> ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp 
> ./Source/FreeImage/GetType.cpp ./Source/FreeImage/MemoryIO.cpp 
> ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp 
> ././Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp 
> ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp 
> ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp 
> ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp 
> ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp 
> ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp 
> ././Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp 
> ./Source/FreeImage/PluginJPEG.cpp ././Source/FreeImage/PluginJXR.cpp 
> ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp 
> ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp 
> ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp 
> ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp 
> ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp 
> ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp 
> ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp 
> ./Source/FreeImage/PluginWBMP.cpp ././Source/FreeImage/PluginWebP.cpp 
> ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp 
> ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp 
> ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp 
> ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp 
> ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp 
> ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp 
> ./Source/FreeImage/ConversionRGB16.cpp 
> ././Source/FreeImage/ConversionRGBA16.cpp 
> ././Source/FreeImage/ConversionRGBAF.cpp 
> ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp 
> ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp 
> ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp 
> ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp 
> ./Source/FreeImage/ToneMapping.cpp ././Source/FreeImage/LFPQuantizer.cpp 
> ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp 
> ./Source/DeprecationManager/Deprecated.cpp 
> ./Source/DeprecationManager/DeprecationMgr.cpp 
> ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp 
> ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp 
> ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp 
> ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp 
> ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp 
> ./Source/FreeImageToolkit/Background.cpp 
> ./Source/FreeImageToolkit/BSplineRotate.cpp 
> ./Source/FreeImageToolkit/Channels.cpp 
> ./Source/FreeImageToolkit/ClassicRotate.cpp 
> ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp 
> ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp 
> ./Source/FreeImageToolkit/JPEGTransform.cpp 
> ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp 
> ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp 
> Source/LibJPEG/./jaricom.c Source/LibJPEG/jcapimin.c 
> Source/LibJPEG/jcapistd.c Source/LibJPEG/./jcarith.c 
> Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c 
> Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c 
> Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c 
> Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c 
> Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c 
> Source/LibJPEG/./jdarith.c Source/LibJPEG/jdatadst.c 
> Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c 
> Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c 
> Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c 
> Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c 
> Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c 
> Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c 
> Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c 
> Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c 
> Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/./png.c 
> Source/LibPNG/./pngerror.c Source/LibPNG/./pngget.c Source/LibPNG/./pngmem.c 
> Source/LibPNG/./pngpread.c Source/LibPNG/./pngread.c Source/LibPNG/./pngrio.c 
> Source/LibPNG/./pngrtran.c Source/LibPNG/./pngrutil.c 
> Source/LibPNG/./pngset.c Source/LibPNG/./pngtrans.c Source/LibPNG/./pngwio.c 
> Source/LibPNG/./pngwrite.c Source/LibPNG/./pngwtran.c 
> Source/LibPNG/./pngwutil.c Source/LibTIFF4/./tif_aux.c 
> Source/LibTIFF4/./tif_close.c Source/LibTIFF4/./tif_codec.c 
> Source/LibTIFF4/./tif_color.c Source/LibTIFF4/./tif_compress.c 
> Source/LibTIFF4/./tif_dir.c Source/LibTIFF4/./tif_dirinfo.c 
> Source/LibTIFF4/./tif_dirread.c Source/LibTIFF4/./tif_dirwrite.c 
> Source/LibTIFF4/./tif_dumpmode.c Source/LibTIFF4/./tif_error.c 
> Source/LibTIFF4/./tif_extension.c Source/LibTIFF4/./tif_fax3.c 
> Source/LibTIFF4/./tif_fax3sm.c Source/LibTIFF4/./tif_flush.c 
> Source/LibTIFF4/./tif_getimage.c Source/LibTIFF4/./tif_jpeg.c 
> Source/LibTIFF4/./tif_luv.c Source/LibTIFF4/./tif_lzma.c 
> Source/LibTIFF4/./tif_lzw.c Source/LibTIFF4/./tif_next.c 
> Source/LibTIFF4/./tif_ojpeg.c Source/LibTIFF4/./tif_open.c 
> Source/LibTIFF4/./tif_packbits.c Source/LibTIFF4/./tif_pixarlog.c 
> Source/LibTIFF4/./tif_predict.c Source/LibTIFF4/./tif_print.c 
> Source/LibTIFF4/./tif_read.c Source/LibTIFF4/./tif_strip.c 
> Source/LibTIFF4/./tif_swab.c Source/LibTIFF4/./tif_thunder.c 
> Source/LibTIFF4/./tif_tile.c Source/LibTIFF4/./tif_version.c 
> Source/LibTIFF4/./tif_warning.c Source/LibTIFF4/./tif_write.c 
> Source/LibTIFF4/./tif_zip.c Source/ZLib/./adler32.c Source/ZLib/./compress.c 
> Source/ZLib/./crc32.c Source/ZLib/./deflate.c Source/ZLib/./gzclose.c 
> Source/ZLib/./gzlib.c Source/ZLib/./gzread.c Source/ZLib/./gzwrite.c 
> Source/ZLib/./infback.c Source/ZLib/./inffast.c Source/ZLib/./inflate.c 
> Source/ZLib/./inftrees.c Source/ZLib/./trees.c Source/ZLib/./uncompr.c 
> Source/ZLib/./zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c 
> Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c 
> Source/LibOpenJPEG/./function_list.c Source/LibOpenJPEG/image.c 
> Source/LibOpenJPEG/./invert.c Source/LibOpenJPEG/j2k.c 
> Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c 
> Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/./opj_clock.c 
> Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c 
> Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c 
> Source/OpenEXR/./IlmImf/b44ExpLogTable.cpp 
> Source/OpenEXR/./IlmImf/ImfAcesFile.cpp 
> Source/OpenEXR/./IlmImf/ImfAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfB44Compressor.cpp 
> Source/OpenEXR/./IlmImf/ImfBoxAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfChannelList.cpp 
> Source/OpenEXR/./IlmImf/ImfChannelListAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfChromaticities.cpp 
> Source/OpenEXR/./IlmImf/ImfChromaticitiesAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfCompositeDeepScanLine.cpp 
> Source/OpenEXR/./IlmImf/ImfCompressionAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfCompressor.cpp 
> Source/OpenEXR/./IlmImf/ImfConvert.cpp 
> Source/OpenEXR/./IlmImf/ImfCRgbaFile.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepCompositing.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepFrameBuffer.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepImageStateAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepScanLineInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepScanLineInputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepScanLineOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepScanLineOutputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepTiledInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepTiledInputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepTiledOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfDeepTiledOutputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfDoubleAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfDwaCompressor.cpp 
> Source/OpenEXR/./IlmImf/ImfEnvmap.cpp 
> Source/OpenEXR/./IlmImf/ImfEnvmapAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfFastHuf.cpp 
> Source/OpenEXR/./IlmImf/ImfFloatAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfFloatVectorAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfFrameBuffer.cpp 
> Source/OpenEXR/./IlmImf/ImfFramesPerSecond.cpp 
> Source/OpenEXR/./IlmImf/ImfGenericInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfGenericOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfHeader.cpp Source/OpenEXR/./IlmImf/ImfHuf.cpp 
> Source/OpenEXR/./IlmImf/ImfInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfInputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfInputPartData.cpp 
> Source/OpenEXR/./IlmImf/ImfIntAttribute.cpp Source/OpenEXR/./IlmImf/ImfIO.cpp 
> Source/OpenEXR/./IlmImf/ImfKeyCode.cpp 
> Source/OpenEXR/./IlmImf/ImfKeyCodeAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfLineOrderAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfLut.cpp 
> Source/OpenEXR/./IlmImf/ImfMatrixAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfMisc.cpp 
> Source/OpenEXR/./IlmImf/ImfMultiPartInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfMultiPartOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfMultiView.cpp 
> Source/OpenEXR/./IlmImf/ImfOpaqueAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfOutputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfOutputPartData.cpp 
> Source/OpenEXR/./IlmImf/ImfPartType.cpp 
> Source/OpenEXR/./IlmImf/ImfPizCompressor.cpp 
> Source/OpenEXR/./IlmImf/ImfPreviewImage.cpp 
> Source/OpenEXR/./IlmImf/ImfPreviewImageAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfPxr24Compressor.cpp 
> Source/OpenEXR/./IlmImf/ImfRational.cpp 
> Source/OpenEXR/./IlmImf/ImfRationalAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfRgbaFile.cpp 
> Source/OpenEXR/./IlmImf/ImfRgbaYca.cpp Source/OpenEXR/./IlmImf/ImfRle.cpp 
> Source/OpenEXR/./IlmImf/ImfRleCompressor.cpp 
> Source/OpenEXR/./IlmImf/ImfScanLineInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfStandardAttributes.cpp 
> Source/OpenEXR/./IlmImf/ImfStdIO.cpp 
> Source/OpenEXR/./IlmImf/ImfStringAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfStringVectorAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfSystemSpecific.cpp 
> Source/OpenEXR/./IlmImf/ImfTestFile.cpp 
> Source/OpenEXR/./IlmImf/ImfThreading.cpp 
> Source/OpenEXR/./IlmImf/ImfTileDescriptionAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledInputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledInputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledMisc.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledOutputFile.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledOutputPart.cpp 
> Source/OpenEXR/./IlmImf/ImfTiledRgbaFile.cpp 
> Source/OpenEXR/./IlmImf/ImfTileOffsets.cpp 
> Source/OpenEXR/./IlmImf/ImfTimeCode.cpp 
> Source/OpenEXR/./IlmImf/ImfTimeCodeAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfVecAttribute.cpp 
> Source/OpenEXR/./IlmImf/ImfVersion.cpp Source/OpenEXR/./IlmImf/ImfWav.cpp 
> Source/OpenEXR/./IlmImf/ImfZip.cpp 
> Source/OpenEXR/./IlmImf/ImfZipCompressor.cpp 
> Source/OpenEXR/./Imath/ImathBox.cpp Source/OpenEXR/./Imath/ImathColorAlgo.cpp 
> Source/OpenEXR/./Imath/ImathFun.cpp 
> Source/OpenEXR/./Imath/ImathMatrixAlgo.cpp 
> Source/OpenEXR/./Imath/ImathRandom.cpp Source/OpenEXR/./Imath/ImathShear.cpp 
> Source/OpenEXR/./Imath/ImathVec.cpp Source/OpenEXR/./Iex/IexBaseExc.cpp 
> Source/OpenEXR/./Iex/IexThrowErrnoExc.cpp Source/OpenEXR/./Half/half.cpp 
> Source/OpenEXR/./IlmThread/IlmThread.cpp 
> Source/OpenEXR/./IlmThread/IlmThreadMutex.cpp 
> Source/OpenEXR/./IlmThread/IlmThreadPool.cpp 
> Source/OpenEXR/./IlmThread/IlmThreadSemaphore.cpp 
> Source/OpenEXR/./IexMath/IexMathFloatExc.cpp 
> Source/OpenEXR/./IexMath/IexMathFpu.cpp 
> Source/LibRawLite/./internal/dcraw_common.cpp 
> Source/LibRawLite/./internal/dcraw_fileio.cpp 
> Source/LibRawLite/./internal/demosaic_packs.cpp 
> Source/LibRawLite/./src/libraw_c_api.cpp 
> Source/LibRawLite/./src/libraw_cxx.cpp 
> Source/LibRawLite/./src/libraw_datastream.cpp 
> Source/LibWebP/./src/dec/dec.alpha.c Source/LibWebP/./src/dec/dec.buffer.c 
> Source/LibWebP/./src/dec/dec.frame.c Source/LibWebP/./src/dec/dec.idec.c 
> Source/LibWebP/./src/dec/dec.io.c Source/LibWebP/./src/dec/dec.quant.c 
> Source/LibWebP/./src/dec/dec.tree.c Source/LibWebP/./src/dec/dec.vp8.c 
> Source/LibWebP/./src/dec/dec.vp8l.c Source/LibWebP/./src/dec/dec.webp.c 
> Source/LibWebP/./src/dsp/dsp.alpha_processing.c 
> Source/LibWebP/./src/dsp/dsp.alpha_processing_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.alpha_processing_sse2.c 
> Source/LibWebP/./src/dsp/dsp.argb.c 
> Source/LibWebP/./src/dsp/dsp.argb_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.argb_sse2.c Source/LibWebP/./src/dsp/dsp.cost.c 
> Source/LibWebP/./src/dsp/dsp.cost_mips32.c 
> Source/LibWebP/./src/dsp/dsp.cost_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.cost_sse2.c Source/LibWebP/./src/dsp/dsp.cpu.c 
> Source/LibWebP/./src/dsp/dsp.dec.c 
> Source/LibWebP/./src/dsp/dsp.dec_clip_tables.c 
> Source/LibWebP/./src/dsp/dsp.dec_mips32.c 
> Source/LibWebP/./src/dsp/dsp.dec_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.dec_neon.c 
> Source/LibWebP/./src/dsp/dsp.dec_sse2.c Source/LibWebP/./src/dsp/dsp.enc.c 
> Source/LibWebP/./src/dsp/dsp.enc_avx2.c 
> Source/LibWebP/./src/dsp/dsp.enc_mips32.c 
> Source/LibWebP/./src/dsp/dsp.enc_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.enc_neon.c 
> Source/LibWebP/./src/dsp/dsp.enc_sse2.c 
> Source/LibWebP/./src/dsp/dsp.filters.c 
> Source/LibWebP/./src/dsp/dsp.filters_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.filters_sse2.c 
> Source/LibWebP/./src/dsp/dsp.lossless.c 
> Source/LibWebP/./src/dsp/dsp.lossless_mips32.c 
> Source/LibWebP/./src/dsp/dsp.lossless_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.lossless_neon.c 
> Source/LibWebP/./src/dsp/dsp.lossless_sse2.c 
> Source/LibWebP/./src/dsp/dsp.rescaler.c 
> Source/LibWebP/./src/dsp/dsp.rescaler_mips32.c 
> Source/LibWebP/./src/dsp/dsp.rescaler_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.upsampling.c 
> Source/LibWebP/./src/dsp/dsp.upsampling_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.upsampling_neon.c 
> Source/LibWebP/./src/dsp/dsp.upsampling_sse2.c 
> Source/LibWebP/./src/dsp/dsp.yuv.c Source/LibWebP/./src/dsp/dsp.yuv_mips32.c 
> Source/LibWebP/./src/dsp/dsp.yuv_mips_dsp_r2.c 
> Source/LibWebP/./src/dsp/dsp.yuv_sse2.c Source/LibWebP/./src/enc/enc.alpha.c 
> Source/LibWebP/./src/enc/enc.analysis.c 
> Source/LibWebP/./src/enc/enc.backward_references.c 
> Source/LibWebP/./src/enc/enc.config.c Source/LibWebP/./src/enc/enc.cost.c 
> Source/LibWebP/./src/enc/enc.filter.c Source/LibWebP/./src/enc/enc.frame.c 
> Source/LibWebP/./src/enc/enc.histogram.c 
> Source/LibWebP/./src/enc/enc.iterator.c 
> Source/LibWebP/./src/enc/enc.near_lossless.c 
> Source/LibWebP/./src/enc/enc.picture.c 
> Source/LibWebP/./src/enc/enc.picture_csp.c 
> Source/LibWebP/./src/enc/enc.picture_psnr.c 
> Source/LibWebP/./src/enc/enc.picture_rescale.c 
> Source/LibWebP/./src/enc/enc.picture_tools.c 
> Source/LibWebP/./src/enc/enc.quant.c Source/LibWebP/./src/enc/enc.syntax.c 
> Source/LibWebP/./src/enc/enc.token.c Source/LibWebP/./src/enc/enc.tree.c 
> Source/LibWebP/./src/enc/enc.vp8l.c Source/LibWebP/./src/enc/enc.webpenc.c 
> Source/LibWebP/./src/utils/utils.bit_reader.c 
> Source/LibWebP/./src/utils/utils.bit_writer.c 
> Source/LibWebP/./src/utils/utils.color_cache.c 
> Source/LibWebP/./src/utils/utils.filters.c 
> Source/LibWebP/./src/utils/utils.huffman.c 
> Source/LibWebP/./src/utils/utils.huffman_encode.c 
> Source/LibWebP/./src/utils/utils.quant_levels.c 
> Source/LibWebP/./src/utils/utils.quant_levels_dec.c 
> Source/LibWebP/./src/utils/utils.random.c 
> Source/LibWebP/./src/utils/utils.rescaler.c 
> Source/LibWebP/./src/utils/utils.thread.c 
> Source/LibWebP/./src/utils/utils.utils.c 
> Source/LibWebP/./src/mux/mux.anim_encode.c 
> Source/LibWebP/./src/mux/mux.muxedit.c 
> Source/LibWebP/./src/mux/mux.muxinternal.c 
> Source/LibWebP/./src/mux/mux.muxread.c 
> Source/LibWebP/./src/demux/demux.demux.c 
> Source/LibJXR/./image/decode/decode.c 
> Source/LibJXR/./image/decode/JXRTranscode.c 
> Source/LibJXR/./image/decode/postprocess.c 
> Source/LibJXR/./image/decode/segdec.c Source/LibJXR/./image/decode/strdec.c 
> Source/LibJXR/./image/decode/strdec_x86.c 
> Source/LibJXR/./image/decode/strInvTransform.c 
> Source/LibJXR/./image/decode/strPredQuantDec.c 
> Source/LibJXR/./image/encode/encode.c Source/LibJXR/./image/encode/segenc.c 
> Source/LibJXR/./image/encode/strenc.c 
> Source/LibJXR/./image/encode/strenc_x86.c 
> Source/LibJXR/./image/encode/strFwdTransform.c 
> Source/LibJXR/./image/encode/strPredQuantEnc.c 
> Source/LibJXR/./image/sys/adapthuff.c Source/LibJXR/./image/sys/image.c 
> Source/LibJXR/./image/sys/strcodec.c Source/LibJXR/./image/sys/strPredQuant.c 
> Source/LibJXR/./image/sys/strTransform.c Source/LibJXR/./jxrgluelib/JXRGlue.c 
> Source/LibJXR/./jxrgluelib/JXRGlueJxr.c 
> Source/LibJXR/./jxrgluelib/JXRGluePFC.c Source/LibJXR/./jxrgluelib/JXRMeta.c 
> Wrapper/FreeImagePlus/src/fipImage.cpp 
> Wrapper/FreeImagePlus/src/fipMemoryIO.cpp 
> Wrapper/FreeImagePlus/src/fipMetadataFind.cpp 
> Wrapper/FreeImagePlus/src/fipMultiPage.cpp 
> Wrapper/FreeImagePlus/src/fipTag.cpp 
> Wrapper/FreeImagePlus/src/fipWinImage.cpp 
> Wrapper/FreeImagePlus/src/FreeImagePlus.cpp 
> -INCLUDE = -I. -ISource -ISource/Metadata -ISource/FreeImageToolkit 
> -ISource/LibJPEG -ISource/LibPNG -ISource/LibTIFF4 -ISource/ZLib 
> -ISource/LibOpenJPEG -ISource/OpenEXR -ISource/OpenEXR/Half 
> -ISource/OpenEXR/Iex -ISource/OpenEXR/IlmImf -ISource/OpenEXR/IlmThread 
> -ISource/OpenEXR/Imath -ISource/OpenEXR/IexMath -ISource/LibRawLite 
> -ISource/LibRawLite/dcraw -ISource/LibRawLite/internal 
> -ISource/LibRawLite/libraw -ISource/LibRawLite/src -ISource/LibWebP 
> -ISource/LibJXR -ISource/LibJXR/common/include -ISource/LibJXR/image/sys 
> -ISource/LibJXR/jxrgluelib -IWrapper/FreeImagePlus
> +SRCS = Wrapper/FreeImagePlus/src/FreeImagePlus.cpp 
> Wrapper/FreeImagePlus/src/fipImage.cpp 
> Wrapper/FreeImagePlus/src/fipMemoryIO.cpp 
> Wrapper/FreeImagePlus/src/fipMetadataFind.cpp 
> Wrapper/FreeImagePlus/src/fipMultiPage.cpp 
> Wrapper/FreeImagePlus/src/fipTag.cpp Wrapper/FreeImagePlus/src/fipWinImage.cpp
> +INCLUDE = -IWrapper/FreeImagePlus

> #include "FreeImage.h"
> #include <assert.h>
> 
> int main(int argc, char** argv) {
>   FREE_IMAGE_FORMAT fif = FreeImage_GetFileType(argv[1], 0);
>   assert(fif == FIF_RAW); //passes: BUG
>   assert(fif == FIF_WEBP); //do not passes but was expected to
> }



-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-

Attachment: signature.asc
Description: PGP signature

Reply via email to