]>
git.saurik.com Git - wxWidgets.git/blob - src/tiff/SConstruct 
   1  # $Id: SConstruct,v 1.2 2006/03/23 14:54:00 dron Exp $    3  # Tag Image File Format (TIFF) Software    5  # Copyright (C) 2005, Andrey Kiselev <dron@ak4719.spb.edu>    7  # Permission to use, copy, modify, distribute, and sell this software and     8  # its documentation for any purpose is hereby granted without fee, provided    9  # that (i) the above copyright notices and this permission notice appear in   10  # all copies of the software and related documentation, and (ii) the names of   11  # Sam Leffler and Silicon Graphics may not be used in any advertising or   12  # publicity relating to the software without the specific, prior written   13  # permission of Sam Leffler and Silicon Graphics.   15  # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,    16  # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY    17  # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.     19  # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR   20  # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,   21  # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,   22  # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF    23  # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE    26  # This file contains rules to build software with the SCons tool   27  # (see the http://www.scons.org/ for details on SCons).   33  # Read the user supplied options   34  opts 
=  Options ( 'libtiff.conf' )   35  opts
. Add ( PathOption ( 'PREFIX' ,  \
  36      'install architecture-independent files in this directory' ,  \
  37      '/usr/local' ,  PathOption
. PathIsDirCreate
))   38  opts
. Add ( BoolOption ( 'ccitt' ,  \
  39      'enable support for CCITT Group 3 & 4 algorithms' ,  \
  41  opts
. Add ( BoolOption ( 'packbits' ,  \
  42      'enable support for Macintosh PackBits algorithm' ,  \
  44  opts
. Add ( BoolOption ( 'lzw' ,  \
  45      'enable support for LZW algorithm' ,  \
  47  opts
. Add ( BoolOption ( 'thunder' ,  \
  48      'enable support for ThunderScan 4-bit RLE algorithm' ,  \
  50  opts
. Add ( BoolOption ( 'next' ,  \
  51      'enable support for NeXT 2-bit RLE algorithm' ,  \
  53  opts
. Add ( BoolOption ( 'logluv' ,  \
  54      'enable support for LogLuv high dynamic range encoding' ,  \
  56  opts
. Add ( BoolOption ( 'strip_chopping' ,  \
  57      'support for strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of ~8Kb to reduce memory usage)' ,  \
  59  opts
. Add ( BoolOption ( 'extrasample_as_alpha' ,  \
  60      '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' ,  \
  62  opts
. Add ( BoolOption ( 'check_ycbcr_subsampling' ,  \
  63      'disable picking up YCbCr subsampling info from the JPEG data stream to support files lacking the tag' ,  \
  66  opts
. Save ( 'libtiff.conf' ,  env
)   67  Help ( opts
. GenerateHelpText ( env
))   69  # Here are our installation paths:   70  idir_prefix 
=  '$PREFIX'   71  idir_lib 
=  '$PREFIX/lib'   72  idir_bin 
=  '$PREFIX/bin'   73  idir_inc 
=  '$PREFIX/include'   74  idir_doc 
=  '$PREFIX/doc'   75  Export ([  'env' ,  'idir_prefix' ,  'idir_lib' ,  'idir_bin' ,  'idir_inc' ,  'idir_doc'  ])   77  # Now proceed to system feature checks   78  target_cpu
,  target_vendor
,  target_kernel
,  target_os 
=  \
  79      os
. popen ( "./config.guess" ). readlines ()[ 0 ]. split ( "-" )   81  def  Define ( context
,  key
,  have
):   83      SCons
. Conftest
._ Have
( context
,  key
,  have
)   85  def  CheckCustomOption ( context
,  name
):   86      context
. Message ( 'Checking is the '  +  name 
+  ' option set... ' )   88      Define ( context
,  name 
+  '_SUPPORT' ,  ret
)   92  def  CheckFillorderOption ( context
):   93      context
. Message ( 'Checking for the native cpu bit order... ' )   94      if  target_cpu
[ 0 ] ==  'i'  and  target_cpu
[ 2 :] ==  '86' :   95          Define ( context
,  'HOST_FILLORDER' ,  'FILLORDER_LSB2MSB' )   96          context
. Result ( 'lsb2msb' )   98          Define ( context
,  'HOST_FILLORDER' ,  'FILLORDER_MSB2LSB' )   99          context
. Result ( 'msb2lsb' )  102  def  CheckIEEEFPOption ( context
):  103      context
. Message ( 'Checking for the IEEE floating point format... ' )  104      Define ( context
,  'HAVE_IEEEFP' ,  1 )  108  def  CheckOtherOption ( context
,  name
):  109      context
. Message ( 'Checking is the '  +  name 
+  ' option set... ' )  111      Define ( context
,  'HAVE_'  +  name
,  ret
)  116      'CheckCustomOption'  :  CheckCustomOption
,  \
 117      'CheckFillorderOption'  :  CheckFillorderOption
,  \
 118      'CheckIEEEFPOption'  :  CheckIEEEFPOption
,  \
 119      'CheckOtherOption'  :  CheckOtherOption \
 121  conf 
=  Configure ( env
,  custom_tests 
=  custom_tests
,  \
 122      config_h 
=  'libtiff/tif_config.h' )  124  # Check for standard library  126  if  target_os 
!=  'cygwin'  \
 127      and  target_os 
!=  'mingw32'  \
 128      and  target_os 
!=  'beos'  \
 129      and  target_os 
!=  'darwin' :  132  # Check for system headers  133  conf
. CheckCHeader ( 'assert.h' )  134  conf
. CheckCHeader ( 'fcntl.h' )  135  conf
. CheckCHeader ( 'limits.h' )  136  conf
. CheckCHeader ( 'malloc.h' )  137  conf
. CheckCHeader ( 'search.h' )  138  conf
. CheckCHeader ( 'sys/time.h' )  139  conf
. CheckCHeader ( 'unistd.h' )  141  # Check for standard library functions  142  conf
. CheckFunc ( 'floor' )  143  conf
. CheckFunc ( 'isascii' )  144  conf
. CheckFunc ( 'memmove' )  145  conf
. CheckFunc ( 'memset' )  146  conf
. CheckFunc ( 'mmap' )  147  conf
. CheckFunc ( 'pow' )  148  conf
. CheckFunc ( 'sqrt' )  149  conf
. CheckFunc ( 'strchr' )  150  conf
. CheckFunc ( 'strrchr' )  151  conf
. CheckFunc ( 'strstr' )  152  conf
. CheckFunc ( 'strtol' )  154  conf
. CheckFillorderOption ()  155  conf
. CheckIEEEFPOption ()  156  conf
. CheckCustomOption ( 'ccitt' )  157  conf
. CheckCustomOption ( 'packbits' )  158  conf
. CheckCustomOption ( 'lzw' )  159  conf
. CheckCustomOption ( 'thunder' )  160  conf
. CheckCustomOption ( 'next' )  161  conf
. CheckCustomOption ( 'logluv' )  162  conf
. CheckOtherOption ( 'strip_chopping' )  163  conf
. CheckOtherOption ( 'extrasample_as_alpha' )  164  conf
. CheckOtherOption ( 'check_ycbcr_subsampling' )  168  # Ok, now go to build files in the subdirectories  169  SConscript ( dirs 
= [  'libtiff'  ],  name 
=  'SConstruct' )