From 0810230da4dd4aa55e4065bed9f72ad9f1813d33 Mon Sep 17 00:00:00 2001 From: rylek Date: Mon, 8 Dec 2008 08:17:22 +0000 Subject: [PATCH] Updated LIBTIFF to current stable version 3.8.2 git-svn-id: svn://ultimatepp.org/upp/trunk@697 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/plugin/tif/lib/SConstruct | 182 +++++++---------------------- uppsrc/plugin/tif/lib/tif_config.h | 1 + uppsrc/plugin/tif/lib/tif_fax3.c | 6 - uppsrc/plugin/tif/lib/tiff.h | 2 - uppsrc/plugin/tif/lib/tiffconf.h | 2 +- 5 files changed, 44 insertions(+), 149 deletions(-) diff --git a/uppsrc/plugin/tif/lib/SConstruct b/uppsrc/plugin/tif/lib/SConstruct index 3285157bf..421ab2467 100644 --- a/uppsrc/plugin/tif/lib/SConstruct +++ b/uppsrc/plugin/tif/lib/SConstruct @@ -1,4 +1,4 @@ -# $Id: SConstruct,v 1.2 2006/03/23 14:54:00 dron Exp $ +# $Id: SConstruct,v 1.2 2006/03/23 14:54:02 dron Exp $ # Tag Image File Format (TIFF) Software # @@ -26,144 +26,46 @@ # This file contains rules to build software with the SCons tool # (see the http://www.scons.org/ for details on SCons). -import os +# Import globally defined options +Import([ 'env', 'idir_lib' ]) -env = Environment() +SRCS = [ \ + 'tif_aux.c', \ + 'tif_close.c', \ + 'tif_codec.c', \ + 'tif_color.c', \ + 'tif_compress.c', \ + 'tif_dir.c', \ + 'tif_dirinfo.c', \ + 'tif_dirread.c', \ + 'tif_dirwrite.c', \ + 'tif_dumpmode.c', \ + 'tif_error.c', \ + 'tif_extension.c', \ + 'tif_fax3.c', \ + 'tif_fax3sm.c', \ + 'tif_flush.c', \ + 'tif_getimage.c', \ + 'tif_jpeg.c', \ + 'tif_luv.c', \ + 'tif_lzw.c', \ + 'tif_next.c', \ + 'tif_ojpeg.c', \ + 'tif_open.c', \ + 'tif_packbits.c', \ + 'tif_pixarlog.c', \ + 'tif_predict.c', \ + 'tif_print.c', \ + 'tif_read.c', \ + 'tif_strip.c', \ + 'tif_swab.c', \ + 'tif_thunder.c', \ + 'tif_tile.c', \ + 'tif_unix.c', \ + 'tif_version.c', \ + 'tif_warning.c', \ + 'tif_write.c', \ + 'tif_zip.c' ] -# Read the user supplied options -opts = Options('libtiff.conf') -opts.Add(PathOption('PREFIX', \ - 'install architecture-independent files in this directory', \ - '/usr/local', PathOption.PathIsDirCreate)) -opts.Add(BoolOption('ccitt', \ - 'enable support for CCITT Group 3 & 4 algorithms', \ - 'yes')) -opts.Add(BoolOption('packbits', \ - 'enable support for Macintosh PackBits algorithm', \ - 'yes')) -opts.Add(BoolOption('lzw', \ - 'enable support for LZW algorithm', \ - 'yes')) -opts.Add(BoolOption('thunder', \ - 'enable support for ThunderScan 4-bit RLE algorithm', \ - 'yes')) -opts.Add(BoolOption('next', \ - 'enable support for NeXT 2-bit RLE algorithm', \ - 'yes')) -opts.Add(BoolOption('logluv', \ - 'enable support for LogLuv high dynamic range encoding', \ - 'yes')) -opts.Add(BoolOption('strip_chopping', \ - 'support for strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of ~8Kb to reduce memory usage)', \ - 'yes')) -opts.Add(BoolOption('extrasample_as_alpha', \ - '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', \ - 'yes')) -opts.Add(BoolOption('check_ycbcr_subsampling', \ - 'disable picking up YCbCr subsampling info from the JPEG data stream to support files lacking the tag', \ - 'yes')) -opts.Update(env) -opts.Save('libtiff.conf', env) -Help(opts.GenerateHelpText(env)) - -# Here are our installation paths: -idir_prefix = '$PREFIX' -idir_lib = '$PREFIX/lib' -idir_bin = '$PREFIX/bin' -idir_inc = '$PREFIX/include' -idir_doc = '$PREFIX/doc' -Export([ 'env', 'idir_prefix', 'idir_lib', 'idir_bin', 'idir_inc', 'idir_doc' ]) - -# Now proceed to system feature checks -target_cpu, target_vendor, target_kernel, target_os = \ - os.popen("./config.guess").readlines()[0].split("-") - -def Define(context, key, have): - import SCons.Conftest - SCons.Conftest._Have(context, key, have) - -def CheckCustomOption(context, name): - context.Message('Checking is the ' + name + ' option set... ') - ret = env[name] - Define(context, name + '_SUPPORT', ret) - context.Result(ret) - return ret - -def CheckFillorderOption(context): - context.Message('Checking for the native cpu bit order... ') - if target_cpu[0] == 'i' and target_cpu[2:] == '86': - Define(context, 'HOST_FILLORDER', 'FILLORDER_LSB2MSB') - context.Result('lsb2msb') - else: - Define(context, 'HOST_FILLORDER', 'FILLORDER_MSB2LSB') - context.Result('msb2lsb') - return 1 - -def CheckIEEEFPOption(context): - context.Message('Checking for the IEEE floating point format... ') - Define(context, 'HAVE_IEEEFP', 1) - context.Result(1) - return 1 - -def CheckOtherOption(context, name): - context.Message('Checking is the ' + name + ' option set... ') - ret = env[name] - Define(context, 'HAVE_' + name, ret) - context.Result(ret) - return ret - -custom_tests = { \ - 'CheckCustomOption' : CheckCustomOption, \ - 'CheckFillorderOption' : CheckFillorderOption, \ - 'CheckIEEEFPOption' : CheckIEEEFPOption, \ - 'CheckOtherOption' : CheckOtherOption \ - } -conf = Configure(env, custom_tests = custom_tests, \ - config_h = 'libtiff/tif_config.h') - -# Check for standard library -conf.CheckLib('c') -if target_os != 'cygwin' \ - and target_os != 'mingw32' \ - and target_os != 'beos' \ - and target_os != 'darwin': - conf.CheckLib('m') - -# Check for system headers -conf.CheckCHeader('assert.h') -conf.CheckCHeader('fcntl.h') -conf.CheckCHeader('limits.h') -conf.CheckCHeader('malloc.h') -conf.CheckCHeader('search.h') -conf.CheckCHeader('sys/time.h') -conf.CheckCHeader('unistd.h') - -# Check for standard library functions -conf.CheckFunc('floor') -conf.CheckFunc('isascii') -conf.CheckFunc('memmove') -conf.CheckFunc('memset') -conf.CheckFunc('mmap') -conf.CheckFunc('pow') -conf.CheckFunc('sqrt') -conf.CheckFunc('strchr') -conf.CheckFunc('strrchr') -conf.CheckFunc('strstr') -conf.CheckFunc('strtol') - -conf.CheckFillorderOption() -conf.CheckIEEEFPOption() -conf.CheckCustomOption('ccitt') -conf.CheckCustomOption('packbits') -conf.CheckCustomOption('lzw') -conf.CheckCustomOption('thunder') -conf.CheckCustomOption('next') -conf.CheckCustomOption('logluv') -conf.CheckOtherOption('strip_chopping') -conf.CheckOtherOption('extrasample_as_alpha') -conf.CheckOtherOption('check_ycbcr_subsampling') - -env = conf.Finish() - -# Ok, now go to build files in the subdirectories -SConscript(dirs = [ 'libtiff' ], name = 'SConstruct') +StaticLibrary('tiff', SRCS) +SharedLibrary('tiff', SRCS) diff --git a/uppsrc/plugin/tif/lib/tif_config.h b/uppsrc/plugin/tif/lib/tif_config.h index 55f3c09a2..3e0fa1f80 100644 --- a/uppsrc/plugin/tif/lib/tif_config.h +++ b/uppsrc/plugin/tif/lib/tif_config.h @@ -22,6 +22,7 @@ /* Define to 1 if you have the header file. */ #define HAVE_SEARCH_H 1 +#define HAVE_STRING_H 1 /* Set the native cpu bit order */ #define HOST_FILLORDER FILLORDER_LSB2MSB diff --git a/uppsrc/plugin/tif/lib/tif_fax3.c b/uppsrc/plugin/tif/lib/tif_fax3.c index 74c6ba9cc..83e7e2cfd 100644 --- a/uppsrc/plugin/tif/lib/tif_fax3.c +++ b/uppsrc/plugin/tif/lib/tif_fax3.c @@ -1082,12 +1082,6 @@ Fax3Cleanup(TIFF* tif) if (Fax3State(tif)->subaddress) _TIFFfree(Fax3State(tif)->subaddress); - -//Patch by cxl, 08-01-29 - if (Fax3State(tif)->faxdcs) - _TIFFfree(Fax3State(tif)->faxdcs); -//end of patch - _TIFFfree(tif->tif_data); tif->tif_data = NULL; diff --git a/uppsrc/plugin/tif/lib/tiff.h b/uppsrc/plugin/tif/lib/tiff.h index bd5143aba..6330795b6 100644 --- a/uppsrc/plugin/tif/lib/tiff.h +++ b/uppsrc/plugin/tif/lib/tiff.h @@ -27,8 +27,6 @@ #ifndef _TIFF_ #define _TIFF_ -#include - #include "tiffconf.h" /* diff --git a/uppsrc/plugin/tif/lib/tiffconf.h b/uppsrc/plugin/tif/lib/tiffconf.h index bf8893863..f8dcf5983 100644 --- a/uppsrc/plugin/tif/lib/tiffconf.h +++ b/uppsrc/plugin/tif/lib/tiffconf.h @@ -53,7 +53,7 @@ /* Support Old JPEG compresson (read contrib/ojpeg/README first! Compilation fails with unpatched IJG JPEG library) */ -/* #undef OJPEG_SUPPORT */ +#define OJPEG_SUPPORT 1 /* Support Macintosh PackBits algorithm */ #define PACKBITS_SUPPORT 1