Date: Fri, 18 Apr 1997 09:25:09 EDT To: "'sam@cthulhu.engr.sgi.com'" cc: "'tiff@sgi.engr.sgi.com'" From: xingong chang Subject: Contribution: libtiff for Windows-nt console applications Return-Path: xingong@feith1.FEITH.COM Delivery-Date: Fri, 18 Apr 1997 06:37:38 -0700 Return-Path: xingong@feith1.FEITH.COM MIME-Version: 1.0 Hi, I built the libtiff under WINNT 4.0 as a 32-bit library for pure console applications. I made the makefile.nt based on Philippe Tenenhaus' makefile.w95 file. Since I want my stuff to be a pure console application running on WinNT, Dave Dyer's makefile for WINNT is not good for me since it is for Windows applications. I used the tif_msdos.c file instead of the tif_win32.c in the $(OBJS) list because tif_win32.c is not a pure console program, it includes some function calls such as MessageBox etc which requires windows application library ($winslib as defined in ). unlike Philippe Tenenhaus' makefile.w95 file, this makefile.nt does support fax3 stuff. And to make the mkg3states.exe,the getopt.obj is needed. "getopt" package is ATT public domain source for getopt(3). Also you need to inlcude the g3states.h in tif_fax.c fileand modify the tif_fax3.h to delete the external declaration of FFFaxMainTable, TIFFFaxWhileTable and TIFFFaxBlackTable libtiff version: TIFFLIB_VERSION 19960307 Hardware you are using: i386 Operating system you are using: Windows NT 4.0 C compiler : Microsoft Visual C++ 4.1 NMAKE : Microsoft nmake 1.61 Here is the makefile.nt I used: --------------------------------------------------------- # makefile.nt for the tiff library # Tag Image File Format Library # # Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler # Copyright (c) 1991, 1992 Silicon Graphics, Inc. # # Permission to use, copy, modify, distribute, and sell this software and # its documentation for any purpose is hereby granted without fee, provided # that (i) the above copyright notices and this permission notice appear in # all copies of the software and related documentation, and (ii) the names of # Sam Leffler and Silicon Graphics may not be used in any advertising or # publicity relating to the software without the specific, prior written # permission of Sam Leffler and Silicon Graphics. # # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. # # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE # OF THIS SOFTWARE. # # This Makefile is for use with microsoft nmake version 1.61 # !include DEFS = -DBSDTYPES -DO_RDONLY=S_IREAD -DO_RDWR=S_IWRITE INCS= tiff.h tiffio.h SRCS= tif_aux.c \ tif_close.c \ tif_codec.c \ tif_compress.c \ tif_dir.c \ tif_dirinfo.c \ tif_dirread.c \ tif_dirwrite.c \ tif_dumpmode.c \ tif_error.c \ tif_getimage.c \ tif_jpeg.c \ tif_flush.c \ tif_lzw.c \ tif_next.c \ tif_open.c \ tif_packbits.c \ tif_predict \ tif_print.c \ tif_read.c \ tif_swab.c \ tif_strip.c \ tif_thunder.c \ tif_tile.c \ tif_version.c \ tif_warning.c \ tif_write.c \ tif_msdos.c \ tif_fax3.c OBJS= tif_aux.obj \ tif_close.obj \ tif_codec.obj \ tif_compress.obj \ tif_dir.obj \ tif_dirinfo.obj \ tif_dirread.obj \ tif_dirwrite.obj \ tif_dumpmode.obj \ tif_error.obj \ tif_getimage.obj \ tif_jpeg.obj \ tif_flush.obj \ tif_lzw.obj \ tif_next.obj \ tif_open.obj \ tif_packbits.obj \ tif_predict.obj \ tif_print.obj \ tif_read.obj \ tif_swab.obj \ tif_strip.obj \ tif_thunder.obj \ tif_tile.obj \ tif_version.obj \ tif_warning.obj \ tif_write.obj \ tif_msdos.obj \ tif_fax3.obj #To make the mkg3states.exe,the getopt.obj is needed. getopt package is # ATT public domain source for getopt(3). EXTRA_OBJS = getopt.obj all: libtiff.lib libtiff.lib: $(OBJS) del libtiff.lib lib -out:libtiff.lib $(OBJS) .c.obj: $(cc) $(DEFS) $(cdebug) $(cflags) $(cvarsmt) $*.c #To include fax3 support, we did this modification #add to the build script : tif_fax3.c and tif_fax3.obj #define CCITT_SUPPORT in the file tifconf.h #inlcude the g3states.h in tif_fax.c file #modify the tif_fax3.h to delete the TIFFFaxMainTable,TIFFFaxWhileTable # TIFFFaxBlackTable etc external declaration #mkg3states.exe without any command line options will produce the g3states.h $(OBJS): tiffio.h tiff.h tiffcomp.h tiffiop.h tiffconf.h tif_fax3.obj: tif_fax3.c g3states.h t4.h tif_fax3.h g3states.h: mkg3states.obj t4.h $(link) $(ldebug) $(conslflags) -out:mkg3states.exe mkg3states.obj \ $(EXTRA_OBJS) mkg3states.exe clean: del *.obj del g3states.h clobber: del libtiff.lib del *.obj del g3states.h