AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
January 1994

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date


The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems

Valid HTML 4.01!

1994.01.10 14:04 "libtiff 3.3 for mac THINK 6.01, PC MSC7.0 & Borland 3.x", by Alen Shapiro

A port of libtiff 3.3 for Apple Macintosh under THINK C 6.01 and
for PC under MSC7.0 is available at in /pub/alen. All
features compile (large arrays used to be a problem). Borland is
being worked on but, using the included project, features that will
not compile are disabled.

2 files are in
1) tiff3.3+.sea.bin a macbinary, self-extracting cpt archive of the sources
   and projects needed to build the 2 libtiff libraries (libtiff1 & libtiff2).
   Lines of source files in here are mac <CR> terminated. All files from the
   distribution are present.
2) tiff3.3+.tar.Z a Unix-compressed tar archive of the sources, again, all
   files from the distribution are present, however source lines are Unix
   <NL> terminated and any mac binary files are in MacBinary format.

PC/MSC users please note the warning at the end of the file CHANGES-v3.3+
which is included in this posting.

Any bug fixes, please email me at

I'll try to incorporate them. Rather than start another libtiff source
branch. If the "libtiff-guardians" would like to merge these changes
with the REAL distribution, the modifications are all marked with #ifdefs.
(HEAP_ARRAYS, CCITT_SUPPORT (in files that Borland cannot yet compile) and
__BORLANDC__ to auto switch the non-compilable borland features (in
tiffconf.h)). Makefile.msc is included for PC MSC7.0 but does not
yet automatically build the g3states.h file.

_____CHANGES-v3.3+ follows here_____

TIFF Software "Release" 3.30+ (UNOFFICIAL) (changes since 3.30)
General changes:
    o Not a release, just modifications to be more portable. Would
      someone official like to integrate this with a release?

mac o Now compiles and runs under THINK 6.01. Large compile-time
      arrays are not generated or used. Portability to DOS has
      been improved. To build the libraries, use "build library"
      from within THINK C projects libtiff1 and libtiff2. The
      resulting libraries should be linked with user-projects
      that have far-heap, far-code and seperate strings project options
      enabled. If you want to use the tiff_fax3 module facilities
      you will need to run mkg3state with the -a option to generate
      g3states.h (on its standard output). Then run mkg3res and direct
      its output to res.r. Do not include res.r in the libtiff2 project
      directly since it crashes the compiler. Use sarez (from THINK 5.1)
      to create a res.rsrc from res.r. The res.rsrc file is already
      placed in the libtiff2 project. 

      You don't have to do this if you have the res.rsrc file shipped
      with this archive. It was produced by mkg3res and has been converted
      by sarez.

pc  o Use makefile.msc to build a 32-bit libtiff.lib. Will be non 32-bit
      (but windoze dependent) when I get the mac-like resource code
      working under Borland C 3.x. The borland defines are configured
      to leave out the CCITT/fax code and no 32 bit or Windoze
      dependency is present. The configuring for Borland is automatically
      enabled in the file tiffconf.h.
      Complete Borland functionality is being worked on.

Changes in libtiff:
    o tiff_fax3.c #ifdef HEAP_ARRAYS code added to use data resources
      instead of expecting compile-time initialized arrays. Added
      #if defined(CCITT_SUPPORT) to auto ignore this file if necessary
      (so it can be left in a Borland project but not compiled)
    o tiff_ccitt.c Added #if defined(CCITT_SUPPORT)
    o tiff_fax4.c Added #if defined(CCITT_SUPPORT)
    o tiff_apple.c #ifdef HEAP_ARRAYS code added to read data resources
    o tiff_apple.h introduced resource name and numbers as #defines (used
      by both mkg3res and the tiff_apple.c)
    o tiffconf.h introduced #if defined(__BORLAND__) to automatically
      disable modules needing large arrays. Mac-like resource approach
      is being developed.

Changes in the tools:
    o changed mkg3state.c to optionally use and generate arrays smaller
      than 32k. Use with the -a option and compile mkg3states.c with
      #define HEAP_ARRAYS enabled.
    o converted mkg3state.c to generate mac resource source, called the
      conversion mkg3res.c.

Changes in the contrib software:
    o the fax2ps program is now more robust in decoding images with
      errors in the encoded data

BEWARE...I have noticed that tiff-rgb in the contrib/dbs directory
produced different results when compiled in MSC7.0 (PC) when compared
to THINK C (mac) and Borland C (PC). THINK & Borland produced identical
size files, MSC produced file is 728 bytes short and when, viewed, 
presents a small black blemish on the output. I do not know why this
happens and suspect a casting/conversion problem in the tiff library.

alen shapiro 1/7/94

--alen ... trying to turn a SPARC into a FLAME