Files
jens 6e95530335 Initial import
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/libtiff@1 b431acfa-c32f-4a4a-93f1-934dc6c82436
2014-07-19 07:44:42 +00:00
..
2014-07-19 07:44:42 +00:00
2014-07-19 07:44:42 +00:00
2014-07-19 07:44:42 +00:00

This mail from Scott describes changes to the library that I have

not made because I couldn't figure out exactly where they went.

Anything not in this file has either been placed in the appropriate

directory (e.g. libtiff/tif_win32.c) or applied to the current

source code (e.g. libtiff/tiffiop.h).



Note that the Window NT/Window 95 support is untested; Scott's work

was done with an earlier version of the library.  Hopefully this'll

get cleaned up soon.



	Sam



Date: Fri, 14 Apr 95 17:01:42 EDT

From: wagner@itek.com (scott wagner)

Message-Id: <9504142101.AA00764@cyan.>

To: sam@cthulhu.engr.sgi.com

Subject: Re: Libtiff for Win32 (Windows NT / Windows 95)



Hi, Sam!



Enclosed are my libtiff for win32 pieces.  They are in the form of 3 files

(tif_w32.c, dllshell.c, and libtiff.def), and 2 diffs (for tiffiop.h and 

tiffio.h).



Hope this is not too difficult to separate!



Regards,

Scott Wagner (wagner@itek.com)



tif_w32.c  ---------------------------------------------------------------



tiffiop.h  ---------------------------------------------------------------



tiffio.h  ---------------------------------------------------------------

38a39

> #ifdef _TIFFIOP_

39a41,43

> #else

> typedef void TIFF;	/* Avoid ANSI undefined structure warning */

> #endif

66a71,75

> #ifdef WIN32			/* WIN32 identifies Win32 compiles */

> #pragma warn -sig		/* Turn off Borland warn of long to short int convert */

> #pragma warn -par		/* Turn off Borland warn "Parameter x is never used" */

> DECLARE_HANDLE(thandle_t);		/* Win32 file handle */

> #else						/* if not WIN32_ */

67a77

> #endif					/* defined WIN32 */



(Message tiff:1396)

 -- using template mhl.format --

Date:    Mon, 17 Apr 1995 07:51:03 EDT

To:      sam@cthulhu.engr.sgi.com



From:    wagner@itek.com (scott wagner)

Subject: Libtiff for Win32



Return-Path: sam@flake.asd.sgi.com 

Delivery-Date: Mon, 17 Apr 1995 05:36:50 PDT

Return-Path: sam@flake.asd.sgi.com



Hello, Sam!



>   ... libtiff for win32 pieces.  They are in the form of 3 files

>   (tif_w32.c, dllshell.c, and libtiff.def), and 2 diffs (for tiffiop.h and 

>   tiffio.h).

>   

> I don't understand how these pieces fit together.  Can you please explain

> what dllshell.c and libtiff.def are for? 



Sorry I was short on documentation here ... I was rushing to get home to

dinner on Friday and the material for you was the last loose end I had to

deal with.  Excuses aside ...



The goal of the adaptation of libtiff to Win32 was to replace only one

environment-specific code module and to make minimal changes to header

files.  tif_win32.c required one addition to tiffio.h (the

DECLARE_HANDLE line, which is probably a better way to typedef thandle-t

under Windows 3.1 as well); it also required the addition of pv_map_handle

to the tiff structure and the conditional definition of the

TIFFUnmapFileContents macro in tiffiop.h (this because Win32 uses a handle

and a pointer in mapping memory, and I needed to save both).



Additionally, I made a general style change to tiffio.h.  If tiffio.h is

included by a client, which does not include tiffiop.h, then ANSI compilers

warn about the typedef of TIFF to a non-existent structure.  To avoid this,

I changed the typedef of TIFF in this case to void.



I also made a style change in the tiff structure.  All references to tif_fd

in the library treat it as int, yet the tif_fd member itself is short.  I

changed this member to int and added the reserved member to maintain

32-bit structure member alignment in a 32 bit environment.  [ At cost of

4 more bytes in an already bloated structure! :-) ]  As long as fd's are

less than 64k, the old member works; this is not the case in Win32, and is

not generally a safe assumption.



The module dllshell.c and the file libtiff.def are not specific to the 

functionality of libtiff; they are used to make a Win32 dynamic link

library, and would be best packaged with a Win32 makefile, which I have

not yet perfected.  I will, however, commit to a Borland and Microsoft C

makefile for libtiff; perhaps these two could be combined with the

makefile for the _next_ (!) release of libtiff when it is ready.



Once again, sorry for the confused message on Friday.  I hope that at

least tif_w32 and the tiffio.h and tiffiop.h diffs will be useful for

this release.



Regards,

Scott Wagner   (wagner@itek.com)

Itek Graphix

Rochester, NY