Initial import

git-svn-id: http://moon:8086/svn/software/trunk/libsrc/libtiff@1 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2014-07-19 07:44:42 +00:00
commit 6e95530335
410 changed files with 80036 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
# BUILD.mpw:
#
# Full build for Apple Macintosh Programmer's Workshop (MPW).
#
# This is an executable MPW script which creates various
# utilities, sets up the MPW makefiles and runs the builds.
# This script should be run at the top level TIFF directory with:
#
# directory :::
# :contrib:mac-mpw:BUILD.mpw
#
# NOTE: The full build requires that MPW have at least 6 MB
# allocated to it to compile the CCITT Fax codec tables. To
# deactivate CCITT compression edit the file :contrib:mac:libtiff.make
# first and follow the directions for disabling Fax decoding.
#
# All TIFF tools are built as MPW tools, executable from the
# MPW shell or other compatible tool server.
#
# Written by: Niles Ritter (ndr@tazboy.jpl.nasa.gov).
#
echo "############# Full Scratch Build for MPW #############"
# Create the ascii->mpw translation tool; this is used to
# convert standard ASCII files into ones using the special
# MPW characters, which don't live comfortably in unix tar files.
#
echo "######## Creating ASCII->MPW translator ########"
set contrib ':contrib:mac-mpw:'
directory {contrib}
createmake -tool mactrans mactrans.c > dev:null
make -f mactrans.make | streamedit -e "/CSANELib/||/Math/||/ToolLibs/ del" > mactrans.bld
execute mactrans.bld > dev:null
delete -y mactrans.make mactrans.bld mactrans.c.o || set status 0
directory ::: #An mpw trick for going up two levels
# Create the top-level Makefile and run it
echo "######## Creating Makefile ########"
catenate {contrib}top.make | {contrib}mactrans > Makefile
echo "######## Running Makefile ########"
make > build.mpw
execute build.mpw
echo "############# MPW Build Complete #############"
exit 0
+202
View File
@@ -0,0 +1,202 @@
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994 Sam Leffler
# Copyright (c) 1991, 1992, 1993, 1994 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.
#
#
# Makefile for Mac using MPW 3.3.1 and MPW C 3.2.4
#
# Note: This file must be run through "mactrans" before it can
# be recognized by MPW as a valid makefile. The problem is that MPW
# uses special non-ASCII characters, which tend to get mangled when stored
# in unix tar files, etc. "mactrans" is built as part of the TIFF MPW build.
#
#
DEPTH = ::
# FAX Options: If you do not wish to include the FAX options, uncomment
# the first four definitions and comment out the next four
# definitions. Note that to build programs with the FAX libraries you
# have to include "-model far" in your compile and link statements.
#
# Also, to build the fax code (including the tif_fax3sm.c file, which is
# created by the MPW tool "mkg3states", also built below), you will
# need to size the MPW program up to about 6 megabytes or so.
#FAX_OPTIONS =
#FAX_OBJECTS =
#FAX_SOURCES = tif_fax3.c
#FAX_CONFIG =
FAX_OPTIONS = -model far
FAX_OBJECTS = tif_fax3.c.o tif_fax3sm.c.o
FAX_SOURCES = tif_fax3.c tif_fax3sm.c
FAX_CONFIG = -d CCITT_SUPPORT
NULL=
RM = delete -y -i
COPTS =
LIBPORT=::port:libport.o
#
.c.o %c4 .c
{C} -model far {CFLAGS} -s {Default} {DepDir}{Default}.c -o {TargDir}{Default}.c.o
CONF_LIBRARY= %b6
-d HAVE_IEEEFP=1 %b6
-d BSDTYPES
CONF_COMPRESSION= %b6
{FAX_CONFIG} %b6
-d COMPRESSION_SUPPORT %b6
-d PACKBITS_SUPPORT %b6
-d LZW_SUPPORT %b6
-d THUNDER_SUPPORT %b6
-d NEXT_SUPPORT
CFLAGS= {FAX_OPTIONS} {IPATH} {CONF_LIBRARY} {CONF_COMPRESSION}
INCS= tiff.h tiffio.h
SRCS= %b6
{FAX_SOURCES} %b6
tif_apple.c %b6
tif_aux.c %b6
tif_close.c %b6
tif_codec.c %b6
tif_compress.c %b6
tif_dir.c %b6
tif_dirinfo.c %b6
tif_dirread.c %b6
tif_dirwrite.c %b6
tif_dumpmode.c %b6
tif_error.c %b6
tif_getimage.c %b6
tif_jpeg.c %b6
tif_flush.c %b6
tif_lzw.c %b6
tif_next.c %b6
tif_open.c %b6
tif_packbits.c %b6
tif_predict.c %b6
tif_print.c %b6
tif_read.c %b6
tif_swab.c %b6
tif_strip.c %b6
tif_thunder.c %b6
tif_tile.c %b6
tif_version.c %b6
tif_warning.c %b6
tif_write.c %b6
tif_zip.c %b6
{NULL}
OBJS= %b6
{FAX_OBJECTS} %b6
tif_apple.c.o %b6
tif_aux.c.o %b6
tif_close.c.o %b6
tif_codec.c.o %b6
tif_compress.c.o %b6
tif_dir.c.o %b6
tif_dirinfo.c.o %b6
tif_dirread.c.o %b6
tif_dirwrite.c.o %b6
tif_dumpmode.c.o %b6
tif_error.c.o %b6
tif_getimage.c.o %b6
tif_jpeg.c.o %b6
tif_flush.c.o %b6
tif_lzw.c.o %b6
tif_next.c.o %b6
tif_open.c.o %b6
tif_packbits.c.o %b6
tif_predict.c.o %b6
tif_print.c.o %b6
tif_read.c.o %b6
tif_swab.c.o %b6
tif_strip.c.o %b6
tif_thunder.c.o %b6
tif_tile.c.o %b6
tif_version.c.o %b6
tif_warning.c.o %b6
tif_write.c.o %b6
tif_zip.c.o %b6
{NULL}
ALL=libtiff.o
all %c4 {ALL}
libtiff.o %c4 {OBJS}
Lib {OBJS} -o libtiff.o
{OBJS} %c4 tiffio.h tiff.h tiffcomp.h tiffiop.h tiffconf.h
#
# The finite state machine tables used by the G3/G4 decoders
# are generated by the mkg3states program. On systems without
# make these rules have to be manually carried out.
#
tif_fax3sm.c %c4 mkg3states tif_fax3.h
{RM} tif_fax3sm.c || set status 0
:mkg3states -c const tif_fax3sm.c
mkg3states.c.o %c4 mkg3states.c
C -model far mkg3states.c -o mkg3states.c.o
mkg3states %c4%c4 mkg3states.c.o
Link -model far -d -c 'MPS ' -t MPST %b6
mkg3states.c.o %b6
{LIBPORT} %b6
"{CLibraries}"StdClib.o %b6
"{Libraries}"Stubs.o %b6
"{Libraries}"Runtime.o %b6
"{Libraries}"Interface.o %b6
-o mkg3states
ALPHA = "{DEPTH}dist:tiff.alpha"
VERSION = "{DEPTH}VERSION"
version.h %c4 {VERSION} {ALPHA}
Set VERSION1 `catenate {VERSION}`
Set VERSION2 "{VERSION1}`streamedit -e "1 rep /%a5%c5 %c5 (%c5)%a81/ %a81" {ALPHA}`"
delete -y -i version.h || set status 0
echo '#define VERSION "LIBTIFF, Version' {VERSION2} '\nCopyright (c) 1988-1995 Sam Leffler\nCopyright (c) 1991-1995 Silicon Graphics, Inc."' >version.h
tif_version.c.o %c4 version.h
clean %c4
{RM} {ALL} || set status 0
{RM} {OBJS} || set status 0
{RM} mkg3states || set status 0
{RM} mkg3states.c.o || set status 0
{RM} tif_fax3sm.c%c5 || set status 0
{RM} version.h || set status 0
+56
View File
@@ -0,0 +1,56 @@
/*
* mactrans.c -- Hack filter used to generate MPW files
* with special characters from pure ASCII, denoted "%nn"
* where nn is hex. (except for "%%", which is literal '%').
*
* calling sequence:
*
* catenate file | mactrans [-toascii | -fromascii] > output
*
* Written by: Niles Ritter.
*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
void to_ascii(void);
void from_ascii(void);
main(int argc, char *argv[])
{
if (argc<2 || argv[1][1]=='f') from_ascii();
else to_ascii();
exit (0);
}
void from_ascii(void)
{
char c;
int d;
while ((c=getchar())!=EOF)
{
if (c!='%' || (c=getchar())=='%') putchar(c);
else
{
ungetc(c,stdin);
scanf("%2x",&d);
*((unsigned char *)&c) = d;
putchar(c);
}
}
}
void to_ascii(void)
{
char c;
int d;
while ((c=getchar())!=EOF)
{
if (isascii(c)) putchar (c);
else
{
d = *((unsigned char *)&c);
printf("%%%2x",d);
}
}
}
+53
View File
@@ -0,0 +1,53 @@
#
# Tag Image File Format Library
#
# Copyright (c) 1995 Sam Leffler
# Copyright (c) 1995 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.
#
DEPTH= ::
SRCDIR= :
NULL =
CC = C
AR = Lib
AROPTS =
RM= delete -y
IPATH = -I {DEPTH} -I {SRCDIR}
COPTS =
OPTIMIZER=
CFLAGS = {COPTS} {OPTIMIZER} {IPATH}
CFILES =
OBJECTS = getopt.c.o
TARGETS = libport.o
.c.o %c4 .c
{CC} -model far {COptions} {CFLAGS} -s {Default} {DepDir}{Default}.c -o {TargDir}{Default}.c.o
all %c4 {TARGETS}
libport.o %c4 {OBJECTS}
{AR} {OBJECTS} -o libport.o
clean %c4
{RM} {TARGETS} {OBJECTS} || set status 0
+20
View File
@@ -0,0 +1,20 @@
######################
About contrib:mac-mpw:
######################
This directory contains all of the utilities and makefile source
to build the LIBTIFF library and tools from the MPW Shell. The
file BUILD.mpw in this directory is an executable script
which uses all of these files to create the MPW makefiles and
run them.
The <file>.make files are not MPW makefiles as such,
but are when run through the "mactrans" program, which turns
the ascii "%nn" metacharacters into the standard weird MPW
make characters.
This translation trick is necessary to protect the files when
they are put into unix tarfiles, which tend to mangle the
special characters.
--Niles Ritter (ndr@tazboy.jpl.nasa.gov)
+138
View File
@@ -0,0 +1,138 @@
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994 Sam Leffler
# Copyright (c) 1991, 1992, 1993, 1994 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 Stanford 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.
#
#
# Makefile for Mac using MPW 3.2.3 and MPW C 3.2.4
#
COPTS = -model far
.c.o %c4 .c
{C} {COPTS} {CFLAGS} -s {Default} {DepDir}{Default}.c -o {TargDir}{Default}.c.o
RM = delete -y -i
CONF_LIBRARY= %b6
-d USE_CONST=0 %b6
-d BSDTYPES
NULL=
IPATH= -I ::libtiff
CFLAGS= -w -m {IPATH} {CONF_LIBRARY}
LIBPORT= ::port:libport.o
LOptions= -model far -w -srt -d -c 'MPS ' -t MPST
LIBTIFF= ::libtiff:libtiff.o
LIBS= {LIBTIFF} %b6
{LIBPORT} %b6
"{CLibraries}"CSANELib.o %b6
"{CLibraries}"Math.o %b6
"{CLibraries}"StdClib.o %b6
"{Libraries}"Stubs.o %b6
"{Libraries}"Runtime.o %b6
"{Libraries}"Interface.o %b6
"{Libraries}"ToolLibs.o %b6
{NULL}
SRCS= %b6
pal2rgb.c %b6
ras2tiff.c %b6
thumbnail.c %b6
tiff2bw.c %b6
tiff2ps.c %b6
tiffcmp.c %b6
tiffcp.c %b6
tiffdither.c %b6
tiffdump.c %b6
tiffinfo.c %b6
tiffmedian.c %b6
{NULL}
MACHALL=ras2tiff
ALL= %b6
tiffinfo %b6
tiffcmp %b6
tiffcp %b6
tiffdump %b6
tiffmedian %b6
tiff2bw %b6
tiffdither %b6
tiff2ps %b6
pal2rgb %b6
gif2tiff %b6
{MACHALL}
all %c4 {ALL}
tiffinfo %c4 tiffinfo.c.o {LIBTIFF}
Link {LOptions} tiffinfo.c.o {LIBS} -o tiffinfo
tiffcmp %c4 tiffcmp.c.o {LIBTIFF}
Link {LOptions} tiffcmp.c.o {LIBS} -o tiffcmp
tiffcp %c4 tiffcp.c.o {LIBTIFF}
Link {LOptions} tiffcp.c.o {LIBS} -o tiffcp
tiffdump %c4 tiffdump.c.o {LIBTIFF}
Link {LOptions} tiffdump.c.o {LIBS} -o tiffdump
tiffmedian %c4 tiffmedian.c.o {LIBTIFF}
Link {LOptions} tiffmedian.c.o {LIBS} -o tiffmedian
tiff2ps %c4 tiff2ps.c.o {LIBTIFF}
Link {LOptions} tiff2ps.c.o {LIBS} -o tiff2ps
# junky stuff...
# convert RGB image to B&W
tiff2bw %c4 tiff2bw.c.o {LIBTIFF}
Link {LOptions} tiff2bw.c.o {LIBS} -o tiff2bw
# convert B&W image to bilevel w/ FS dithering
tiffdither %c4 tiffdither.c.o {LIBTIFF}
Link {LOptions} tiffdither.c.o {LIBS} -o tiffdither
# GIF converter
gif2tiff %c4 gif2tiff.c.o {LIBTIFF}
Link {LOptions} gif2tiff.c.o {LIBS} -o gif2tiff
# convert Palette image to RGB
pal2rgb %c4 pal2rgb.c.o {LIBTIFF}
Link {LOptions} pal2rgb.c.o {LIBS} -o pal2rgb
# Sun rasterfile converter
ras2tiff %c4 ras2tiff.c.o {LIBTIFF}
Link {LOptions} ras2tiff.c.o {LIBS} -o ras2tiff
# generate thumbnail images from fax
thumbnail %c4 thumbnail.c.o {LIBTIFF}
Link {LOptions} thumbnail.c.o {LIBS} -o thumbnail
clean %c4
{RM} {ALL} %c5.c.o ycbcr
+133
View File
@@ -0,0 +1,133 @@
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994 Sam Leffler
# Copyright (c) 1991, 1992, 1993, 1994 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 Stanford 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.
#
#
# Makefile for Mac using MPW 3.2.3 and MPW C 3.2.4
#
#
# Written by: Niles D. Ritter
#
RM= delete -y -i
PORT=:port:
LIBTIFF=:libtiff:
TOOLS=:tools:
CONTRIB=:contrib:mac-mpw:
MACTRANS="{CONTRIB}mactrans"
NULL=
MAKEFILES = %b6
{PORT}Makefile %b6
{LIBTIFF}Makefile %b6
{TOOLS}Makefile %b6
{NULL}
all %c4 PORT LIBTIFF TOOLS
MAKEFILES %c4 {MAKEFILES}
TOOLS %c4 LIBTIFF
LIBTIFF %c4 PORT
# Create the port routines
PORT %c4 {PORT}Makefile
directory {PORT}
(make || set status 0) > build.mpw
set echo 1
execute build.mpw
set echo 0
{RM} build.mpw || set status 0
directory ::
# Create the port routines
LIBTIFF %c4 {LIBTIFF}Makefile
directory {LIBTIFF}
(make || set status 0) > build.mpw
set echo 1
execute build.mpw
set echo 0
{RM} build.mpw || set status 0
directory ::
# Create the tools
TOOLS %c4 {TOOLS}Makefile
directory {TOOLS}
(make || set status 0) > build.mpw
set echo 1
execute build.mpw
set echo 0
{RM} build.mpw || set status 0
directory ::
# Makefile dependencies
{PORT}Makefile %c4 {CONTRIB}port.make
catenate {CONTRIB}port.make | {MACTRANS} > {PORT}Makefile
{LIBTIFF}Makefile %c4 {CONTRIB}libtiff.make
catenate {CONTRIB}libtiff.make | {MACTRANS} > {LIBTIFF}Makefile
{TOOLS}Makefile %c4 {CONTRIB}tools.make
catenate {CONTRIB}tools.make | {MACTRANS} > {TOOLS}Makefile
clean %c4 clean.port clean.contrib clean.libtiff clean.tools clean.make
clean.port %c4
directory {PORT}
(make clean || set status 0) > purge
purge
{RM} purge || set status 0
{RM} Makefile || set status 0
{RM} build.mpw || set status 0
cd ::
clean.contrib %c4
{RM} {MACTRANS} || set status 0
clean.libtiff %c4
directory {LIBTIFF}
(make clean || set status 0) > purge
purge
{RM} purge || set status 0
{RM} Makefile || set status 0
{RM} build.mpw || set status 0
cd ::
clean.tools %c4
directory {TOOLS}
(make clean || set status 0) > purge
purge
{RM} purge || set status 0
{RM} Makefile || set status 0
{RM} build.mpw || set status 0
cd ::
clean.make %c4
{RM} {MAKEFILES} || set status 0
{RM} build.mpw || set status 0