summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2011-08-10 15:49:45 +0200
committerJim Meyering <meyering@redhat.com>2011-08-10 15:50:05 +0200
commitcf64deb422f0835c3062c0084d6b23799b21375d (patch)
tree6603187b8f388794e036c730ee6f2b890a38ab49
parent63b2937f0c19a617b3145256b004e6370f36966d (diff)
downloadgzip-cf64deb422f0835c3062c0084d6b23799b21375d.tar.gz
maint: remove amiga, atari, msdos, nt, os2, vms sub-directories,
and all files therein. This was proposed months prior, and no one objected. * amiga/Makefile.gcc: Remove file. * amiga/Makefile.sasc: Likewise. * amiga/match.a: Likewise. * amiga/tailor.c: Likewise. * amiga/utime.h: Likewise. * atari/Makefile.st: Likewise. * msdos/Makefile.bor: Likewise. * msdos/Makefile.djg: Likewise. * msdos/Makefile.msc: Likewise. * msdos/doturboc.bat: Likewise. * msdos/gzip.prj: Likewise. * msdos/match.asm: Likewise. * msdos/tailor.c: Likewise. * nt/Makefile.nt: Likewise. * os2/Makefile.os2: Likewise. * os2/gzip.def: Likewise. * os2/gzip16.def: Likewise. * vms/Makefile.gcc: Likewise. * vms/Makefile.mms: Likewise. * vms/Makefile.vms: Likewise. * vms/Readme.vms: Likewise. * vms/gzip.hlp: Likewise. * vms/makegzip.com: Likewise. * vms/vms.c: Likewise. * Makefile.am (EXTRA_DIST): Remove those file names.
-rw-r--r--Makefile.am12
-rw-r--r--amiga/Makefile.gcc62
-rw-r--r--amiga/Makefile.sasc59
-rw-r--r--amiga/match.a173
-rw-r--r--amiga/tailor.c184
-rw-r--r--amiga/utime.h15
-rw-r--r--atari/Makefile.st48
-rw-r--r--msdos/Makefile.bor118
-rw-r--r--msdos/Makefile.djg222
-rw-r--r--msdos/Makefile.msc108
-rw-r--r--msdos/doturboc.bat18
-rw-r--r--msdos/gzip.prj17
-rw-r--r--msdos/match.asm238
-rw-r--r--msdos/tailor.c55
-rw-r--r--nt/Makefile.nt66
-rw-r--r--os2/Makefile.os281
-rw-r--r--os2/gzip.def3
-rw-r--r--os2/gzip16.def2
-rw-r--r--vms/Makefile.gcc131
-rw-r--r--vms/Makefile.mms122
-rw-r--r--vms/Makefile.vms133
-rw-r--r--vms/Readme.vms87
-rw-r--r--vms/gzip.hlp297
-rw-r--r--vms/makegzip.com71
-rw-r--r--vms/vms.c103
25 files changed, 4 insertions, 2421 deletions
diff --git a/Makefile.am b/Makefile.am
index c035410..ae0009f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -39,16 +39,12 @@ EXTRA_DIST = $(ACINCLUDE_INPUTS) $(man_MANS) \
ChangeLog-2007 \
cfg.mk \
dist-check.mk \
- algorithm.doc amiga/match.a amiga/Makefile.gcc amiga/Makefile.sasc \
- amiga/tailor.c amiga/utime.h atari/Makefile.st \
- gunzip.in gzexe.in gzip.doc msdos/match.asm msdos/tailor.c \
- msdos/gzip.prj msdos/doturboc.bat msdos/Makefile.msc msdos/Makefile.bor \
- msdos/Makefile.djg nt/Makefile.nt os2/gzip.def os2/Makefile.os2 \
- os2/gzip16.def \
+ algorithm.doc \
+ gunzip.in gzexe.in gzip.doc \
revision.h sample/makecrc.c \
sample/ztouch sample/add.c sample/sub.c sample/zread.c sample/zfile \
- tailor.h vms/Makefile.mms vms/gzip.hlp vms/vms.c vms/Readme.vms \
- vms/Makefile.vms vms/Makefile.gcc vms/makegzip.com zcat.in zcmp.in zdiff.in \
+ tailor.h \
+ zcat.in zcmp.in zdiff.in \
zegrep.in zfgrep.in zforce.in zgrep.in zless.in zmore.in znew.in
noinst_HEADERS = gzip.h lzw.h
diff --git a/amiga/Makefile.gcc b/amiga/Makefile.gcc
deleted file mode 100644
index 82d46e4..0000000
--- a/amiga/Makefile.gcc
+++ /dev/null
@@ -1,62 +0,0 @@
-# Makefile for gzip (GNU zip) -*- Indented-Text -*-
-# Copyright (C) 1992-1993 Jean-loup Gailly and the Free Software Foundation
-
-# Amiga GCC version, written by Preston Hunt <gt5708a@prism.gatech.edu>
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-CC = gcc
-CPP = cpp
-
-CFLAGS = -m68020 -m68881 -O2
-#CFLAGS = -m68000 -O2
-#for the 68000, set below: OBJA=
-CPPFLAGS = -Dmc68020
-LDFLAGS =
-O = .o
-
-SRCS = gzip.c zip.c deflate.c trees.c bits.c unzip.c inflate.c util.c crypt.c\
- lzw.c unlzw.c unpack.c unlzh.c makecrc.c getopt.c match.S
-
-OBJA = match$O
-
-OBJS = gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O util$O \
- crypt$O lzw$O unlzw$O unpack$O unlzh$O getopt$O match$O
-
-HDRS = gzip.h lzw.h tailor.h revision.h crypt.h getopt.h
-
-.c.o:
- $(CC) -c $(DEFS) $(CFLAGS) $<
-
-.PHONY: default all
-all: gzip
-
-gzip: $(OBJS)
- $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
-
-gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O: gzip.h tailor.h
-util$O lzw$O unlzw$O unpack$O unlzh$O crypt$O: gzip.h tailor.h
-
-gzip$O unlzw$O: revision.h lzw.h
-
-bits$O unzip$O util$O zip$O: crypt.h
-
-gzip$O getopt$O: getopt.h
-
-match$O: match.S
- $(CPP) $(CPPFLAGS) match.S > _match.s
- $(CC) -c _match.s
- mv _match$O match$O
- rm -f _match.s
diff --git a/amiga/Makefile.sasc b/amiga/Makefile.sasc
deleted file mode 100644
index faf15fd..0000000
--- a/amiga/Makefile.sasc
+++ /dev/null
@@ -1,59 +0,0 @@
-# Makefile for gzip (GNU zip) -*- Indented-Text -*-
-# This Makefile is for SAS/C 6.3 on the Amiga
-# Don't use it with SAS/C 6.2 or earlier versions. These versions will
-# produce incorrect code for trees.c because of a bug in the optimizer.
-# Made by Carsten Steger (carsten.steger@informatik.tu-muenchen.de)
-
-# Some notes on gzip for the Amiga:
-# Due to a strange implementation of the RAM-Disk on Commodore's part
-# you should not use gzip -r on a directory in the RAM-Disk. To zip all
-# files in a directory 'dir' in the RAM-Disk use something like
-# gzip ram:dir/#? ram:dir/#?/#? ...
-# where the number of '#?'s reflects the depth of the directory 'dir'.
-#
-# Alas, the program has it's full functionality only if you have
-# Kickstart 2.0 or higher installed. This affects the expansion of
-# wildcards and the preservation of file access times. You should use
-# a shell that does wildcard expansion under Kickstart 1.3.
-
-
-CC = sc
-
-# If you have a 68020 or more you can define UNALIGNED_OK below
-DEFS = DEF=AMIGA
-LIBS = LIB LIB:scnb.lib
-
-CFLAGS = DATA=FAR NOSTKCHK PARM=R IDIR=
-OPTFLAGS = OPT OPTGO OPTPEEP OPTCOMP=3 OPTDEP=3 OPTRDEP=3
-LDFLAGS = FROM LIB:c.o
-
-OBJS = gzip.o zip.o deflate.o trees.o bits.o unzip.o inflate.o util.o \
- crypt.o lzw.o unlzw.o unpack.o unlzh.o getopt.o tailor.o match.o
-
-.c.o:
- $(CC) $(DEFS) $(CFLAGS) $(OPTFLAGS) $<
-.a.o:
- $(CC) $(DEFS) $(CFLAGS) $<
-
-all: gzip
-
-gzip: $(OBJS)
- slink $(LDFLAGS) $(OBJS) TO $@ $(LIBS)
-
-gzip.o: gzip.c gzip.h tailor.h revision.h lzw.h getopt.h
-zip.o: zip.c gzip.h tailor.h crypt.h
-deflate.o: deflate.c gzip.h tailor.h lzw.h
-trees.o: trees.c gzip.h tailor.h
-bits.o: bits.c gzip.h tailor.h crypt.h
-unzip.o: unzip.c gzip.h tailor.h crypt.h
-inflate.o: inflate.c gzip.h tailor.h
-util.o: util.c gzip.h tailor.h crypt.h
-lzw.o: lzw.c lzw.h gzip.h tailor.h
-unlzw.o: unlzw.c gzip.h tailor.h lzw.h
-unpack.o: unpack.c gzip.h tailor.h crypt.h
-unlzh.o: unlzh.c gzip.h tailor.h lzw.h
-crypt.o: crypt.c
-getopt.o: getopt.c getopt.h
-tailor.o: tailor.c
-
-match.o: match.a
diff --git a/amiga/match.a b/amiga/match.a
deleted file mode 100644
index 8c14cc1..0000000
--- a/amiga/match.a
+++ /dev/null
@@ -1,173 +0,0 @@
-; match.a -- optional optimized asm version of longest match in deflate.c
-; Copyright (C) 1992-1993 Jean-loup Gailly
-; This is free software; you can redistribute it and/or modify it under the
-; terms of the GNU General Public License, see the file COPYING.
-
-; Adapted for the Amiga by Carsten Steger <stegerc@informatik.tu-muenchen.de>
-; using the code in match.S.
-; The major change in this code consists of removing all unaligned
-; word accesses, because they cause 68000-based Amigas to crash.
-; For maximum speed, UNALIGNED_OK can be defined in Makefile.sasc.
-; The program will then only run on 68020-based Amigas, though.
-;
-; This code will run with registerized parameters too, unless SAS
-; changes parameter passing conventions between new releases of SAS/C.
-
-
-Cur_Match reg d0 ; Must be in d0!
-Best_Len reg d1
-Loop_Counter reg d2
-Scan_Start reg d3
-Scan_End reg d4
-Limit reg d5
-Chain_Length reg d6
-Scan_Test reg d7
-Scan reg a0
-Match reg a1
-Prev_Address reg a2
-Scan_Ini reg a3
-Match_Ini reg a4
-
-MAX_MATCH equ 258
-MIN_MATCH equ 3
-WSIZE equ 32768
-MAX_DIST equ WSIZE-MAX_MATCH-MIN_MATCH-1
-
-
- xref _max_chain_length
- xref _prev_length
- xref _prev
- xref _window
- xref _strstart
- xref _good_match
- xref _match_start
- xref _nice_match
-
-
- section match,code
-
- xdef _match_init
- xdef @match_init
- xdef _longest_match
- xdef @longest_match
-
-
-_match_init:
-@match_init:
- rts
-
-
-_longest_match:
- move.l 4(sp),Cur_Match
-@longest_match:
- ifd UNALIGNED_OK
- movem.l d2-d6/a2-a4,-(sp)
- else
- movem.l d2-d7/a2-a4,-(sp)
- endc
- move.l _max_chain_length,Chain_Length
- move.l _prev_length,Best_Len
- lea _prev,Prev_Address
- lea _window+MIN_MATCH,Match_Ini
- move.l _strstart,Limit
- move.l Match_Ini,Scan_Ini
- add.l Limit,Scan_Ini
- subi.w #MAX_DIST,Limit
- bhi.b limit_ok
- moveq #0,Limit
-limit_ok:
- cmp.l _good_match,Best_Len
- bcs.b length_ok
- lsr.l #2,Chain_Length
-length_ok:
- subq.l #1,Chain_Length
-
- ifd UNALIGNED_OK
-
- move.w -MIN_MATCH(Scan_Ini),Scan_Start
- move.w -MIN_MATCH-1(Scan_Ini,Best_Len),Scan_End
-
- else
-
- move.b -MIN_MATCH(Scan_Ini),Scan_Start
- lsl.w #8,Scan_Start
- move.b -MIN_MATCH+1(Scan_Ini),Scan_Start
- move.b -MIN_MATCH-1(Scan_Ini,Best_Len),Scan_End
- lsl.w #8,Scan_End
- move.b -MIN_MATCH(Scan_Ini,Best_Len),Scan_End
-
- endc
-
- bra.b do_scan
-
-long_loop:
-
- ifd UNALIGNED_OK
-
- move.w -MIN_MATCH-1(Scan_Ini,Best_Len),Scan_End
-
- else
-
- move.b -MIN_MATCH-1(Scan_Ini,Best_Len),Scan_End
- lsl.w #8,Scan_End
- move.b -MIN_MATCH(Scan_Ini,Best_Len),Scan_End
-
- endc
-
-short_loop:
- lsl.w #1,Cur_Match
- move.w 0(Prev_Address,Cur_Match),Cur_Match
- cmp.w Limit,Cur_Match
- dbls Chain_Length,do_scan
- bra.b return
-
-do_scan:
- move.l Match_Ini,Match
- add.l Cur_Match,Match
-
- ifd UNALIGNED_OK
-
- cmp.w -MIN_MATCH-1(Match,Best_Len),Scan_End
- bne.b short_loop
- cmp.w -MIN_MATCH(Match),Scan_Start
- bne.b short_loop
-
- else
-
- move.b -MIN_MATCH-1(Match,Best_Len),Scan_Test
- lsl.w #8,Scan_Test
- move.b -MIN_MATCH(Match,Best_Len),Scan_Test
- cmp.w Scan_Test,Scan_End
- bne.b short_loop
- move.b -MIN_MATCH(Match),Scan_Test
- lsl.w #8,Scan_Test
- move.b -MIN_MATCH+1(Match),Scan_Test
- cmp.w Scan_Test,Scan_Start
- bne.b short_loop
-
- endc
-
- move.w #(MAX_MATCH-MIN_MATCH),Loop_Counter
- move.l Scan_Ini,Scan
-scan_loop:
- cmpm.b (Match)+,(Scan)+
- dbne Loop_Counter,scan_loop
-
- sub.l Scan_Ini,Scan
- addq.l #(MIN_MATCH-1),Scan
- cmp.l Best_Len,Scan
- bls.b short_loop
- move.l Scan,Best_Len
- move.l Cur_Match,_match_start
- cmp.l _nice_match,Best_Len
- bcs.b long_loop
-return:
- move.l Best_Len,d0
- ifd UNALIGNED_OK
- movem.l (sp)+,d2-d6/a2-a4
- else
- movem.l (sp)+,d2-d7/a2-a4
- endc
- rts
-
- end
diff --git a/amiga/tailor.c b/amiga/tailor.c
deleted file mode 100644
index 9207999..0000000
--- a/amiga/tailor.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/* tailor.c -- target dependent functions
- * Copyright (C) 1993 Carsten Steger (carsten.steger@informatik.tu-muenchen.de)
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-/*
- * This file contains Amiga specific functions for gzip.
- */
-
-#include <config.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <error.h>
-#include <time.h>
-#include <utime.h>
-#include <exec/types.h>
-#include <dos/dos.h>
-#include <dos/dosextens.h>
-#include <dos/dosasl.h>
-#include <proto/dos.h>
-
-#define MAXPATH 1024
-#define MAXARGS 512
-
-extern struct DosLibrary *DOSBase;
-
-extern void *xmalloc(unsigned int size);
-
-static char *expand_next_file (char *pattern);
-static int in_prev_args (char *arg, char **argv, int argc);
-extern void _expand_args (int *oargc, char ***oargv);
-
-
-static char *expand_next_file (pattern)
- char *pattern;
-{
- long err;
- char *pathname;
- static struct AnchorPath *an = NULL;
-
- pathname = NULL;
- if (pattern == NULL)
- err = -1;
- else
- do
- {
- if (an == NULL)
- {
- an = xmalloc (sizeof (struct AnchorPath) + MAXPATH);
- memset (an, 0, sizeof (struct AnchorPath) + MAXPATH);
- an->ap_BreakBits = SIGBREAKF_CTRL_C;
- an->ap_Strlen = MAXPATH;
- an->ap_Flags = APF_DOWILD;
- err = MatchFirst (pattern, an);
- }
- else
- err = MatchNext (an);
-
- pathname = an->ap_Buf;
- } while (err == 0 && pathname == NULL);
-
- if (err)
- {
- MatchEnd (an);
- free (an);
- an = NULL;
- return NULL;
- }
- else
- return pathname;
-}
-
-
-static int in_prev_args (arg, argv, argc)
- char *arg, **argv;
- int argc;
-{
- int i, is_in_args;
-
- is_in_args = 0;
- for (i = 1; i < argc - 1; i++)
- if (stricmp (arg, argv[i]) == 0)
- is_in_args = 1;
- return is_in_args;
-}
-
-
-void _expand_args (oargc, oargv)
- int *oargc;
- char ***oargv;
-{
- int i;
- char *str, **argv;
- static char buf[MAXPATH];
- int argc, no_match_at_all, num_matches, contains_wildcards;
-
- /* With Kickstart 1.3 wildcards can't be expanded. */
- if (DOSBase->dl_lib.lib_Version < 37) return;
-
- no_match_at_all = 1;
- contains_wildcards = 0;
- argc = 0;
- argv = xmalloc (MAXARGS * sizeof (char *));
-
- argv[argc++] = (*oargv)[0];
- for (i = 1; i < *oargc; i++)
- {
- if (ParsePattern ((*oargv)[i], buf, MAXPATH))
- {
- contains_wildcards = 1;
- num_matches = 0;
- while (str = expand_next_file ((*oargv)[i]))
- if (argc >= MAXARGS)
- {
- expand_next_file (NULL);
- fprintf (stderr,"Too many files.\n");
- exit (EXIT_FAILURE);
- }
- else
- {
- /* Avoid duplicate entries */
- if (!in_prev_args (str, argv, argc))
- {
- argv[argc++] = strdup (str);
- num_matches++;
- }
- }
- if (num_matches != 0)
- no_match_at_all = 0;
- }
- else
- if (argc >= MAXARGS)
- {
- fprintf (stderr,"Too many files.\n");
- exit (EXIT_FAILURE);
- }
- else
- {
- if (!in_prev_args ((*oargv)[i], argv, argc))
- argv[argc++] = (*oargv)[i];
- }
- }
- *oargc = argc;
- *oargv = argv;
- if (no_match_at_all && contains_wildcards) {
- fprintf (stderr,"No match.\n");
- exit (EXIT_FAILURE);
- }
-}
-
-
-int utime (path, times)
- char *path;
- struct utimbuf *times;
-{
- struct DateStamp date;
- LONG error;
- time_t modtime;
-
- /* With Kickstart 1.3 setting the filedate could be done, I guess.
- * Maybe someone else will implement and test the code for this
- * case (I don't have Kickstart 1.3). */
- if (DOSBase->dl_lib.lib_Version < 37) return 0;
-
- /* Amiga dates are counted from 1. Jan 1978 as opposed to 1. Jan 1970
- * on Unix. Therefore we have to subtract 2922 days (8*365+2). We also
- * have to subtract the value of __timezone since SAS/C uses "CST+06"
- * as the default value. */
- modtime = times->modtime - __timezone;
- date.ds_Days = (modtime / 86400) - 2922;
- modtime %= 86400;
- date.ds_Minute = modtime / 60;
- modtime %= 60;
- date.ds_Tick = modtime * TICKS_PER_SECOND;
- error = SetFileDate (path, &date);
- if (error == DOSFALSE)
- {
- errno = EOSERR;
- return -1;
- }
- return 0;
-}
diff --git a/amiga/utime.h b/amiga/utime.h
deleted file mode 100644
index 8c35a1a..0000000
--- a/amiga/utime.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _UTIME_H
-#define _UTIME_H 1
-
-#ifndef _TIME_H
-#include <time.h>
-#endif
-
-struct utimbuf {
- time_t actime;
- time_t modtime;
-};
-
-extern int utime (char *path, struct utimbuf *times);
-
-#endif
diff --git a/atari/Makefile.st b/atari/Makefile.st
deleted file mode 100644
index 0b13348..0000000
--- a/atari/Makefile.st
+++ /dev/null
@@ -1,48 +0,0 @@
-# Makefile for gzip (GNU zip) -*- Indented-Text -*-
-# This is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License, see the file COPYING.
-
-# Simple Atari-specific makefile for gcc.
-# Written by Daniel Eriksson <den@hgs.se>
-# Modified by Andreas Schwab <schwab@ls5.informatik.uni-dortmund.de>
-# and Robert Fischer <fischer-robert@cs.yale.edu>.
-
-# This Makefile is configured by default for the Atari ST using the
-# Minix filesytem. It can be modified (for efficiency) for an Atari TT
-# according to the instructions given below. It must be modified
-# for building a TOS-file system version.
-
-CC=gcc
-BASIC_FLAGS = -O2 -DATARI
-
-# Use this for a TT-only version
-#TT_FLAGS = -m68020
-
-# CFLAGS for building a Minix-file system version
-CFLAGS = $(BASIC_FLAGS) $(TT_FLAGS)
-
-# CFLAGS for building a TOS-file system version
-#CFLAGS = $(BASIC_FLAGS) $(TT_FLAGS) -DTOSFS
-
-AS=$(CC) -c
-ASFLAGS = $(CFLAGS)
-LDFLAGS =
-
-OBJA = match.o
-OBJS = bits.o crypt.o deflate.o getopt.o gzip.o inflate.o lzw.o \
- trees.o unlzw.o unpack.o unlzh.o unzip.o util.o zip.o $(OBJA)
-
-gzip.ttp: $(OBJS)
- $(CC) $(LDFLAGS) -o gzip.ttp $(OBJS)
-
-gzip.o zip.o deflate.o trees.o bits.o unzip.o inflate.o: gzip.h tailor.h
-util.o lzw.o unlzw.o unpack.o unlzh.o crypt.o: gzip.h tailor.h
-
-gzip.o unlzw.o: revision.h lzw.h
-
-bits.o unzip.o util.o zip.o: crypt.h
-
-gzip.o getopt.o: getopt.h
-
-match.o: match.S
- $(AS) $(ASLAGS) match.S
diff --git a/msdos/Makefile.bor b/msdos/Makefile.bor
deleted file mode 100644
index 1165b7c..0000000
--- a/msdos/Makefile.bor
+++ /dev/null
@@ -1,118 +0,0 @@
-# Makefile for gzip
-# Borland (Turbo) C++.
-# Warning: this file is not suitable for Turbo C 2.0. In this case, read
-# then invoke the file doturboc.bat.
-
-# To use, do "make -fmakefile.bor"
-
-# Turbo C++ 1.0 seems to have a buggy exit() function. You must add
-# to CFLAGS: -Dexit=_exit
-
-# WARNING: the small model is not supported. The compact model is used
-# here. If you want to use the large model, add -D__LARGE__ to ASFLAGS
-# Add -DSMALL_MEM to CFLAGS if you wish to reduce the memory
-# requirements. Add -DNO_ASM to CFLAGS and remove match.obj from OBJA if
-# you do not have tasm.
-
-# ------------- Turbo C++, Borland C++ -------------
-MODEL=-mc
-#CFLAGS=-w -w-eff -w-def -w-sig -w-cln -a -d -G -O -Z $(MODEL)
-CFLAGS=-O2 -Z $(MODEL)
-CC=bcc
-LD=bcc
-# replace bcc with tcc for Turbo C++ 1.0
-LDFLAGS=$(MODEL)
-AS=tasm
-ASFLAGS=-ml -t -DDYN_ALLOC -DSS_NEQ_DS
-LIB = c:\bcc\lib
-
-# ------------- Common declarations:
-STRIP=rem
-# If you don't have lzexe, get it (by ftp on wuarchive.wustl.edu
-# in /mirrors/msdos/filutl/lzexe91e.zip). Then define:
-#STRIP=lzexe
-# Or if you've registered PKLITE, then define:
-#STRIP=pklite
-# This makes a big difference in .exe size (and possibly load time)
-
-O=.obj
-OBJA=match$(O) tailor$(O) $(LIB)\wildargs.obj
-
-# ------------- Used by install rule
-# set BIN to the directory you want to install the executables to
-BIN = c:\bin
-
-# variables
-OBJ1 = gzip$(O) zip$(O) deflate$(O) trees$(O) bits$(O) unzip$(O) inflate$(O) \
- util$(O)
-OBJ2 = crypt$(O) lzw$(O) unlzw$(O) unpack$(O) unlzh$(O) getopt$(O) $(OBJA)
-
-all: gzip.exe
-
-gzip.obj: gzip.c gzip.h tailor.h crypt.h revision.h lzw.h
- $(CC) -c $(CFLAGS) $*.c
-
-zip.obj: zip.c gzip.h tailor.h crypt.h
- $(CC) -c $(CFLAGS) $*.c
-
-deflate.obj: deflate.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) $*.c
-
-trees.obj: trees.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) $*.c
-
-bits.obj: bits.c gzip.h tailor.h crypt.h
- $(CC) -c $(CFLAGS) $*.c
-
-unzip.obj: unzip.c gzip.h tailor.h crypt.h
- $(CC) -c $(CFLAGS) $*.c
-
-inflate.obj: inflate.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) $*.c
-
-util.obj: util.c gzip.h tailor.h crypt.h
- $(CC) -c $(CFLAGS) $*.c
-
-crypt.obj: crypt.c gzip.h tailor.h crypt.h
- $(CC) -c $(CFLAGS) $*.c
-
-lzw.obj: lzw.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) $*.c
-
-unlzw.obj: unlzw.c gzip.h tailor.h lzw.h
- $(CC) -c $(CFLAGS) $*.c
-
-unpack.obj: unpack.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) $*.c
-
-unlzh.obj: unlzh.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) $*.c
-
-tailor.obj: msdos\tailor.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) msdos\$*.c
-
-getopt.obj: getopt.c getopt.h
- $(CC) -c $(CFLAGS) $*.c
-
-match.obj: msdos\match.asm
- $(AS) $(ASFLAGS) msdos\match, match;
-
-# we must cut the command line to fit in the MS/DOS 128 byte limit:
-gzip.exe: $(OBJ1) $(OBJ2)
- echo $(OBJ1) > gzip.rsp
- echo $(OBJ2) >> gzip.rsp
- $(LD) $(LDFLAGS) @gzip.rsp
- del gzip.rsp
- $(STRIP) gzip.exe
-# If you use Borland make, you can use instead:
-# $(LD) $(LDFLAGS) @&&|
-#$**
-#|
-
-install: gzip.exe
- copy /b gzip.exe $(BIN)
- copy /b gzip.exe $(BIN)\gunzip.exe
-
-clean:
- del *.obj
- del *.exe
diff --git a/msdos/Makefile.djg b/msdos/Makefile.djg
deleted file mode 100644
index 30eb39c..0000000
--- a/msdos/Makefile.djg
+++ /dev/null
@@ -1,222 +0,0 @@
-# Makefile for gzip (GNU zip) -*- Indented-Text -*-
-# Copyright (C) 1992-1993 Jean-loup Gailly and the Free Software Foundation
-# Modified for GNUish make/MS_SH200/DJGPP 1.09+ by Eric Backus
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-#### Start of system configuration section. ####
-
-.SUFFIXES: .o
-LONGARGS = gcc:rm
-
-srcdir = .
-VPATH = .
-
-CC = gcc
-CPP = gcc -O -E
-
-INSTALL = install -c
-INSTALL_PROGRAM = $(INSTALL)
-INSTALL_DATA = $(INSTALL) -m 644
-
-# tailor.h defines things for DJGPP so nothing is needed here
-DEFS =
-LIBS =
-
-# additional assembly sources for particular systems may be required.
-OBJA = match.o
-
-SEDCMD = 1d
-
-CFLAGS = -O2 -finline-functions -fomit-frame-pointer
-LDFLAGS = -s
-
-X=.exe
-# For OS/2 or MSDOS, use: X=.exe
-
-O=.o
-# For OS/2 or MSDOS, use: O=.obj
-
-prefix = /usr/local
-exec_prefix = $(prefix)
-
-bindir = $(exec_prefix)/bin
-datadir = $(prefix)/lib
-libdir = $(prefix)/lib
-infodir = $(prefix)/info
-
-# Extension (not including `.') for the installed manual page filenames.
-manext = 1
-# Where to install the manual pages.
-mandir = $(prefix)/man/man$(manext)
-
-#### End of system configuration section. ####
-
-SHELL = /bin/sh
-
-LOADLIBES = $(LIBS)
-
-TAR = tar
-
-SRCS = gzip.c zip.c deflate.c trees.c bits.c unzip.c inflate.c util.c crypt.c\
- lzw.c unlzw.c unpack.c unlzh.c makecrc.c getopt.c match.S
-
-OBJ1 = gzip$(O) zip$(O) deflate$(O) trees$(O) bits$(O) unzip$(O) inflate$(O) \
- util$(O)
-OBJ2 = crypt$(O) lzw$(O) unlzw$(O) unpack$(O) unlzh$(O) getopt$(O) $(OBJA)
-
-HDRS = gzip.h lzw.h tailor.h revision.h crypt.h getopt.h
-
-.c$O:
- $(CC) -c $(DEFS) $(CFLAGS) $<
-
-#.PHONY: default all force test check
-
-default: all
-all: gzip$X zcmp zdiff zmore znew zforce gzexe
-force:
-
-install: all
- for f in gzip$X zcmp zdiff zmore znew zforce gzexe; do \
- $(INSTALL_PROGRAM) $${f} $(bindir)/$${f}; done
- for f in gunzip$X zcat$X ; do \
- rm -f $(bindir)/$${f}; ln $(bindir)/gzip$X $(bindir)/$${f}; done
- -cd $(srcdir); \
- for f in gzip gunzip zcat zcmp zmore znew zforce gzexe; do \
- rm -f $(mandir)/$${f}.$(manext); \
- $(INSTALL_DATA) $${f}.1 $(mandir)/$${f}.$(manext); done
- -cd $(srcdir); for f in gzip.info* ; do $(INSTALL_DATA) $${f} \
- $(infodir)/$${f}; done
-
-uninstall: force
- -cd $(bindir); rm -f gzip$X gunzip$X zcat$X \
- zcmp zdiff zmore znew zforce gzexe
- -for f in gzip gunzip zcat zcmp zmore znew gzexe; do \
- rm -f $(mandir)/$${f}.$(manext); done
- -cd $(infodir); rm -f gzip.info*
-
-# install all files and replace compress (not recommended)
-install_compress: install
- -test -f $(bindir)/compress.old || \
- mv $(bindir)/compress$X $(bindir)/compress.old
- ln $(bindir)/gzip$X $(bindir)/compress$X
- rm -f $(bindir)/uncompress$X
- ln $(bindir)/gzip$X $(bindir)/uncompress$X
-
-test: check
-check: all
- ./gzip -5 < $(srcdir)/texinfo.tex > _gztest.z
- # Either GNUish make or MS_SH has trouble with backquotes
- #@if test `wc -c < _gztest.z` -ne 30890; then \
- # echo FAILED gzip test: incorrect size; rm -f _gztest*; exit 1; \
- # else :; fi
- @echo Should be 30890:\\c
- @wc -c < _gztest.z
- rm -f _gztest
- ./gzip -d _gztest.z
- @if cmp _gztest $(srcdir)/texinfo.tex; then \
- echo gzip test OK; \
- else \
- echo FAILED gzip test: incorrect decompress; \
- fi
- rm -f _gztest*
-
-TAGS: $(SRCS) $(HDRS)
- cd $(srcdir); etags $(SRCS) $(HDRS)
-
-Makefile: Makefile.in ./config.status
- ./config.status
-
-./config.status: configure
- $(srcdir)/configure --srcdir=$(srcdir) --no-create
-
-configure: configure.in
- @echo Warning: configure is out of date
-# cd $(srcdir); autoconf
-
-clean:
- rm -f *$O gzip$X gunzip$X zcat$X a.out core gzip
- rm -f zcmp zdiff zmore znew zforce gzexe _gztest*
- rm -f *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.log
- rm -f *.pg *.pgs *.toc *.tp *.tps *.vr *.vrs
-
-mostlyclean: clean
-
-distclean: clean
- rm -f Makefile config.status
-
-realclean: distclean
- rm -f TAGS gzip.info*
-
-# Actual build-related targets
-
-gzip$X: gzip
- aout2exe gzip
-
-gzip: $(OBJ1) $(OBJ2)
- echo $(OBJ1) > gzip.rsp
- echo $(OBJ2) $(LIBS) >> gzip.rsp
- $(CC) $(LDFLAGS) -o $@ @gzip.rsp
- del gzip.rsp
-
-gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O: gzip.h tailor.h
-util$O lzw$O unlzw$O unpack$O unlzh$O crypt$O: gzip.h tailor.h
-
-gzip$O unlzw$O: revision.h lzw.h
-
-bits$O unzip$O util$O zip$O: crypt.h
-
-gzip$O getopt$O: getopt.h
-
-match$O: match.S
- $(CC) -c match.S
-
-zcmp: zcmp.in
- sed "$(SEDCMD)" $(srcdir)/zcmp.in > zcmp
- chmod 755 zcmp
-
-zdiff: zdiff.in
- sed "$(SEDCMD)" $(srcdir)/zdiff.in > zdiff
- chmod 755 zdiff
-
-zmore: zmore.in
- sed "$(SEDCMD)" $(srcdir)/zmore.in > zmore
- chmod 755 zmore
-
-znew: znew.in
- sed "$(SEDCMD)" $(srcdir)/znew.in > znew
- chmod 755 znew
-
-zforce: zforce.in
- sed "$(SEDCMD)" $(srcdir)/zforce.in > zforce
- chmod 755 zforce
-
-gzexe: gzexe.in
- sed "$(SEDCMD)" $(srcdir)/gzexe.in > gzexe
- chmod 755 gzexe
-
-gzip.info: gzip.texi
- cd $(srcdir); makeinfo gzip.texi
-
-gzip.dvi: gzip.texi
- cd $(srcdir); texi2dvi gzip.texi
-
-gzip.doc: gzip.1
- cd $(srcdir); nroff -man gzip.1 | col -b | uniq > gzip.doc
-
-# Prevent GNU make v3 from overflowing arg limit on SysV.
-.NOEXPORT:
-
-# end of file
diff --git a/msdos/Makefile.msc b/msdos/Makefile.msc
deleted file mode 100644
index 6bebf18..0000000
--- a/msdos/Makefile.msc
+++ /dev/null
@@ -1,108 +0,0 @@
-# Makefile for gzip
-# Microsoft C 5.1 or 6.0.
-
-# To use, do "make makefile.msc"
-
-# WARNING: the small model is not supported. The compact model is used
-# here. If you want to use the large model, add -D__LARGE__ to ASFLAGS
-# Add -DSMALL_MEM to CFLAGS if you wish to reduce the memory
-# requirements. Add -DNO_ASM to CFLAGS and remove match.obj from OBJI if
-# you do not have masm.
-
-# ------------- Microsoft C 5.1 and later -------------
-MODEL=-AC
-FP=
-CFLAGS=-Ox -nologo $(MODEL)
-BFLAGS=-Oait -Gs -nologo $(MODEL)
-# BFLAGS are the 'bug workaround' flags.
-CC=cl
-LD=link
-LDFLAGS=/e/st:0x1000/noe
-# If you use lzexe as recommended, remove /e from LDFLAGS
-AS=masm
-# For MSC 6.0, use: AS=ml
-ASFLAGS=-ml -t
-# Add -DDYN_ALLOC to ASFLAGS if you have defined it in tailor.h or CFLAGS
-LIB = c:\c51\lib
-
-# ------------- Common declarations:
-STRIP=rem
-# If you don't have lzexe, get it (by ftp on wuarchive.wustl.edu
-# in /mirrors/msdos/filutl/lzexe91e.zip). Then define:
-#STRIP=lzexe
-# Or if you've registered PKLITE, then define:
-#STRIP=pklite
-# This makes a big difference in .exe size (and possibly load time)
-
-O=.obj
-OBJA=match$(O) $(LIB)\setargv$(O)
-
-# ------------- Used by install rule
-# set BIN to the directory you want to install the executables to
-BIN = c:\bin
-
-# variables
-OBJ1 = gzip$(O) zip$(O) deflate$(O) trees$(O) bits$(O) unzip$(O) inflate$(O) \
- util$(O)
-OBJ2 = crypt$(O) lzw$(O) unlzw$(O) unpack$(O) unlzh$(O) getopt$(O) $(OBJA)
-
-gzip.obj: gzip.c gzip.h tailor.h crypt.h revision.h lzw.h
- $(CC) -c $(CFLAGS) $*.c
-
-zip.obj: zip.c gzip.h tailor.h crypt.h
- $(CC) -c $(CFLAGS) $*.c
-
-deflate.obj: deflate.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) $*.c
-
-trees.obj: trees.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) $*.c
-
-bits.obj: bits.c gzip.h tailor.h crypt.h
- $(CC) -c $(CFLAGS) $*.c
-
-unzip.obj: unzip.c gzip.h tailor.h crypt.h
- $(CC) -c $(CFLAGS) $*.c
-
-inflate.obj: inflate.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) $*.c
-
-util.obj: util.c gzip.h tailor.h crypt.h
- $(CC) -c $(BFLAGS) $*.c
-
-crypt.obj: crypt.c gzip.h tailor.h crypt.h
- $(CC) -c $(CFLAGS) $*.c
-
-lzw.obj: lzw.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) $*.c
-
-unlzw.obj: unlzw.c gzip.h tailor.h lzw.h
- $(CC) -c $(CFLAGS) $*.c
-
-unpack.obj: unpack.c gzip.h tailor.h
- $(CC) -c $(CFLAGS) $*.c
-
-unlzh.obj: unlzh.c gzip.h tailor.h
- $(CC) -c $(BFLAGS) $*.c
-
-getopt.obj: getopt.c getopt.h
- $(CC) -c $(CFLAGS) $*.c
-
-match.obj: msdos\match.asm
- $(AS) $(ASFLAGS) msdos\match, match;
-
-# we must cut the command line to fit in the MS/DOS 128 byte limit:
-gzip.exe: $(OBJ1) $(OBJ2)
- echo $(OBJ1)+ > gzip.rsp
- echo $(OBJ2); >> gzip.rsp
- $(LD) $(LDFLAGS) @gzip.rsp
- del gzip.rsp
- $(STRIP) gzip.exe
-
-install: gzip.exe
- copy /b gzip.exe $(BIN)
- copy /b gzip.exe $(BIN)\gunzip.exe
-
-#clean:
-# del *.obj
-# del *.exe
diff --git a/msdos/doturboc.bat b/msdos/doturboc.bat
deleted file mode 100644
index d164ef8..0000000
--- a/msdos/doturboc.bat
+++ /dev/null
@@ -1,18 +0,0 @@
-: This file is a complement to gzip.prj for Turbo C 2.0 users.
-: To construct gzip, first transform all files to msdos CR LF format.
-: (Use utilities such as flip or do file transfers in ascii mode.)
-: Then invoke this file. Then enter Turbo C, set the
-: compilation model to compact, and the project file to gzip.prj.
-: Change the compilation flags if you wish (add SMALL_MEM
-: to reduce the memory requirements), and press F9...
-: WARNING: you must use the compact or large model in this version.
-: To use the large model, add -D__LARGE__ in the tasm command below.
-: To get the file wildargs.obj, do:
-:
-: pkunpak \tcc\startup wildargs.obj
-:
-: pkunpak is available in wuarchive.wustl.edu:/mirrors/msdos/starter/pk361.exe
-:
-: After compiling gzip.exe, do: copy gzip.exe gunzip.exe
-:
-tasm -ml -DDYN_ALLOC -DSS_NEQ_DS msdos\match, match;
diff --git a/msdos/gzip.prj b/msdos/gzip.prj
deleted file mode 100644
index 1601d51..0000000
--- a/msdos/gzip.prj
+++ /dev/null
@@ -1,17 +0,0 @@
-gzip.c (gzip.h tailor.h crypt.h revision.h lzw.h)
-zip.c (gzip.h tailor.h crypt.h)
-deflate.c (gzip.h tailor.h)
-trees.c (gzip.h tailor.h)
-bits.c (gzip.h tailor.h crypt.h)
-unzip.c (gzip.h tailor.h crypt.h)
-inflate.c (gzip.h tailor.h)
-util.c (gzip.h tailor.h crypt.h)
-crypt.c (gzip.h tailor.h crypt.h)
-lzw.c (gzip.h tailor.h)
-unlzw.c (gzip.h tailor.h lzw.h)
-unpack.c (gzip.h tailor.h)
-unlzh.c (gzip.h tailor.h)
-msdos\tailor.c (gzip.h tailor.h)
-getopt.c (getopt.h)
-match.obj
-wildargs.obj
diff --git a/msdos/match.asm b/msdos/match.asm
deleted file mode 100644
index ef394fa..0000000
--- a/msdos/match.asm
+++ /dev/null
@@ -1,238 +0,0 @@
-; match.asm -- optional optimized asm version of longest match in deflate.c
-; Copyright (C) 1992-1993 Jean-loup Gailly
-; This is free software; you can redistribute it and/or modify it under the
-; terms of the GNU General Public License, see the file COPYING.
-;
-; Must be assembled with masm -ml. To be used only with C compact model
-; or large model. (For large model, assemble with -D__LARGE__).
-; This file is only optional. If you don't have masm or tasm, use the
-; C version (add -DNO_ASM to CFLAGS in makefile.msc and remove match.obj
-; from OBJI). If you have reduced WSIZE in zip.h, then change its value
-; below.
-;
-; Turbo C 2.0 does not support static allocation of more than 64K bytes per
-; file, and does not have SS == DS. So TC and BC++ users must use:
-; tasm -ml -DDYN_ALLOC -DSS_NEQ_DS match;
-;
-; To simplify the code, the option -DDYN_ALLOC is supported for OS/2
-; only if the arrays are guaranteed to have zero offset (allocated by
-; halloc). We also require SS==DS. This is satisfied for MSC but not Turbo C.
-
- name match
-
-ifndef DYN_ALLOC
- extrn _prev : word
- extrn _window : byte
- prev equ _prev ; offset part
- window equ _window
-endif
-
-_DATA segment word public 'DATA'
- extrn _nice_match : word
- extrn _match_start : word
- extrn _prev_length : word
- extrn _good_match : word
- extrn _strstart : word
- extrn _max_chain_length : word
-ifdef DYN_ALLOC
- extrn _prev : word
- extrn _window : word
- prev equ 0 ; offset forced to zero
- window equ 0
- window_seg equ _window[2]
- window_off equ 0
-else
- wseg dw seg _window
- window_seg equ wseg
- window_off equ offset _window
-endif
-_DATA ends
-
-DGROUP group _DATA
-
-_TEXT segment word public 'CODE'
- assume cs: _TEXT, ds: DGROUP
-
- public _match_init
- public _longest_match
-
- MIN_MATCH equ 3
- MAX_MATCH equ 258
- WSIZE equ 32768 ; keep in sync with zip.h !
- MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
- MAX_DIST equ (WSIZE-MIN_LOOKAHEAD)
-
-prev_ptr dw seg _prev ; pointer to the prev array
-ifdef SS_NEQ_DS
- match_start dw 0 ; copy of _match_start if SS != DS
- nice_match dw 0 ; copy of _nice_match if SS != DS
-endif
-
-; initialize or check the variables used in match.asm.
-
-ifdef __LARGE__
-_match_init proc far ; 'proc far' for large model
-else
-_match_init proc near ; 'proc near' for compact model
-endif
-ifdef SS_NEQ_DS
- ma_start equ cs:match_start ; does not work on OS/2
- nice equ cs:nice_match
- mov ax,_nice_match
- mov cs:nice_match,ax ; ugly write to code, crash on OS/2
-else
- assume ss: DGROUP
- ma_start equ ss:_match_start
- nice equ ss:_nice_match
- mov ax,ds
- mov bx,ss
- cmp ax,bx ; SS == DS?
- jne error
-endif
-ifdef DYN_ALLOC
- cmp _prev[0],0 ; verify zero offset
- jne error
- cmp _window[0],0
- jne error
- ifdef SS_NEQ_DS
- mov ax,_prev[2] ; segment value
- mov cs:prev_ptr,ax ; ugly write to code, crash on OS/2
- prev_seg equ cs:prev_ptr
- else
- prev_seg equ ss:_prev[2] ; works on OS/2 if SS == DS
- endif
-else
- prev_seg equ cs:prev_ptr
-endif
- ret
-ifdef __LARGE__
- extrn _exit : far ; 'far' for large model
-else
- extrn _exit : near ; 'near' for compact model
-endif
-error: call _exit
-
-_match_init endp
-
-; -----------------------------------------------------------------------
-; Set match_start to the longest match starting at the given string and
-; return its length. Matches shorter or equal to prev_length are discarded,
-; in which case the result is equal to prev_length and match_start is
-; garbage.
-; IN assertions: cur_match is the head of the hash chain for the current
-; string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
-
-; int longest_match(cur_match)
-
-ifdef __LARGE__
-_longest_match proc far ; 'proc far' for large model
-else
-_longest_match proc near ; 'proc near' for compact model
-endif
- push bp
- mov bp,sp
- push di
- push si
- push ds
-
-ifdef __LARGE__
- cur_match equ word ptr [bp+6] ; [bp+6] for large model
-else
- cur_match equ word ptr [bp+4] ; [bp+4] for compact model
-endif
-
-; window equ es:window (es:0 for DYN_ALLOC)
-; prev equ ds:prev
-; match equ es:si
-; scan equ es:di
-; chain_length equ bp
-; best_len equ bx
-; limit equ dx
-
- mov si,cur_match ; use bp before it is destroyed
- mov bp,_max_chain_length ; chain_length = max_chain_length
- mov di,_strstart
- mov dx,di
- sub dx,MAX_DIST ; limit = strstart-MAX_DIST
- jae limit_ok
- sub dx,dx ; limit = NIL
-limit_ok:
- add di,2+window_off ; di = offset(window + strstart + 2)
- mov bx,_prev_length ; best_len = prev_length
- mov es,window_seg
- mov ax,es:[bx+di-3] ; ax = scan[best_len-1..best_len]
- mov cx,es:[di-2] ; cx = scan[0..1]
- cmp bx,_good_match ; do we have a good match already?
- mov ds,prev_seg ; (does not destroy the flags)
- assume ds: nothing
- jb do_scan ; good match?
- shr bp,1 ; chain_length >>= 2
- shr bp,1
- jmp short do_scan
-
- even ; align destination of branch
-long_loop:
-; at this point, ds:di == scan+2, ds:si == cur_match
- mov ax,[bx+di-3] ; ax = scan[best_len-1..best_len]
- mov cx,[di-2] ; cx = scan[0..1]
- mov ds,prev_seg ; reset ds to address the prev array
-short_loop:
-; at this point, di == scan+2, si = cur_match,
-; ax = scan[best_len-1..best_len] and cx = scan[0..1]
-if (WSIZE-32768)
- and si,WSIZE-1 ; not needed if WSIZE=32768
-endif
- shl si,1 ; cur_match as word index
- mov si,prev[si] ; cur_match = prev[cur_match]
- cmp si,dx ; cur_match <= limit ?
- jbe the_end
- dec bp ; --chain_length
- jz the_end
-do_scan:
- cmp ax,word ptr es:window[bx+si-1] ; check match at best_len-1
- jne short_loop
- cmp cx,word ptr es:window[si] ; check min_match_length match
- jne short_loop
-
- lea si,window[si+2] ; si = match
- mov ax,di ; ax = scan+2
- mov cx,es
- mov ds,cx ; ds = es = window
- mov cx,(MAX_MATCH-2)/2 ; scan for at most MAX_MATCH bytes
- repe cmpsw ; loop until mismatch
- je maxmatch ; match of length MAX_MATCH?
-mismatch:
- mov cl,[di-2] ; mismatch on first or second byte?
- sub cl,[si-2] ; cl = 0 if first bytes equal
- xchg ax,di ; di = scan+2, ax = end of scan
- sub ax,di ; ax = len
- sub si,ax ; si = cur_match + 2 + offset(window)
- sub si,2+window_off ; si = cur_match
- sub cl,1 ; set carry if cl == 0 (can't use DEC)
- adc ax,0 ; ax = carry ? len+1 : len
- cmp ax,bx ; len > best_len ?
- jle long_loop
- mov ma_start,si ; match_start = cur_match
- mov bx,ax ; bx = best_len = len
- cmp ax,nice ; len >= nice_match ?
- jl long_loop
-the_end:
- pop ds
- assume ds: DGROUP
-ifdef SS_NEQ_DS
- mov ax,ma_start ; garbage if no match found
- mov ds:_match_start,ax
-endif
- pop si
- pop di
- pop bp
- mov ax,bx ; result = ax = best_len
- ret
-maxmatch: ; come here if maximum match
- cmpsb ; increment si and di
- jmp mismatch ; force match_length = MAX_LENGTH
-
-_longest_match endp
-
-_TEXT ends
-end
diff --git a/msdos/tailor.c b/msdos/tailor.c
deleted file mode 100644
index 1d6d6ef..0000000
--- a/msdos/tailor.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* tailor.c -- target dependent functions
- * Copyright (C) 1992-1993 Jean-loup Gailly
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- */
-
-/* tailor.c is a bunch of non portable routines.
- * It should be kept to a minimum.
- */
-
-#include <config.h>
-#include "tailor.h"
-#include "gzip.h"
-
-#ifdef __TURBOC__
-
-/************************/
-/* Function fcalloc() */
-/************************/
-
-/* Turbo C malloc() does not allow dynamic allocation of 64K bytes
- * and farmalloc(64K) returns a pointer with an offset of 8, so we
- * must fix the pointer. Warning: the pointer must be put back to its
- * original form in order to free it, use fcfree().
- * For MSC, use halloc instead of this function (see tailor.h).
- */
-static ush ptr_offset = 0;
-
-void * fcalloc(items, size)
- unsigned items; /* number of items */
- unsigned size; /* item size */
-{
- void * buf = farmalloc((ulg)items*size + 16L);
- if (buf == NULL) return NULL;
- /* Normalize the pointer to seg:0 */
- if (ptr_offset == 0) {
- ptr_offset = (ush)((uch*)buf-0);
- } else if (ptr_offset != (ush)((uch*)buf-0)) {
- error(_("inconsistent ptr_offset"));
- }
- *((ush*)&buf+1) += (ptr_offset + 15) >> 4;
- *(ush*)&buf = 0;
- return buf;
-}
-
-void fcfree(ptr)
- void *ptr; /* region allocated with fcalloc() */
-{
- /* Put the pointer back to its original form: */
- *((ush*)&ptr+1) -= (ptr_offset + 15) >> 4;
- *(ush*)&ptr = ptr_offset;
- farfree(ptr);
- }
-
-#endif /* __TURBOC__ */
diff --git a/nt/Makefile.nt b/nt/Makefile.nt
deleted file mode 100644
index 0a7604c..0000000
--- a/nt/Makefile.nt
+++ /dev/null
@@ -1,66 +0,0 @@
-# Simple makefile for Windows NT
-# Written by Ron Cox <roncox@indirect.com>
-
-# This is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License, see the file COPYING.
-
-# This makefile is suitable for NTFS only. To build a gzip executable suitable
-# for a FAT file system, add -DNTFAT to DEFS.
-
-# To build debug version, define environment variable DEBUG, or include a
-# -DDEBUG on the commandline (i.e.: nmake -DDEBUG)
-
-.silent:
-
-!include <ntwin32.mak>
-
-#
-# Object files
-#
-OBJS = gzip.obj zip.obj deflate.obj trees.obj bits.obj unzip.obj inflate.obj \
- util.obj crypt.obj lzw.obj unlzw.obj unpack.obj getopt.obj unlzh.obj
-
-DEFS =
-# for FAT support, set: DEFS = -DNTFAT
-
-#
-# How to build .obj's from .c's
-#
-.c.obj:
- $(cc) $(DEFS) -Ox $(cflags) $(cvarsdll) $<
-
-#
-# Main target
-#
-all: gzip.exe
-
-#
-# Link target. setargv.obj is provided in the compiler library directory.
-#
-gzip.exe: $(OBJS)
- $(link) $(linkdebug) $(conflags) -out:gzip.exe $(OBJS) setargv.obj \
- $(conlibsdll)
-
-#
-# Dependencies
-#
-gzip.obj: gzip.c gzip.h tailor.h
-zip.obj: zip.c gzip.h tailor.h crypt.h
-deflate.obj: deflate.c gzip.h tailor.h
-trees.obj: trees.c gzip.h tailor.h
-bits.obj: bits.c gzip.h tailor.h crypt.h
-unzip.obj: unzip.c gzip.h tailor.h crypt.h
-inflate.obj: inflate.c gzip.h tailor.h crypt.h
-util.obj: util.c gzip.h tailor.h
-lzw.obj: lzw.c gzip.h tailor.h
-unlzw.obj: unlzw.c gzip.h tailor.h revision.h lzw.h
-unpack.obj: unpack.c gzip.h tailor.h
-crypt.obj: crypt.c gzip.h tailor.h
-unlzh.obj: unlzh.c gzip.h tailor.h lzw.h
-
-
-clean:
- -rm $(OBJS)
-
-clobber: clean
- -rm gzip.exe
diff --git a/os2/Makefile.os2 b/os2/Makefile.os2
deleted file mode 100644
index e4afc2e..0000000
--- a/os2/Makefile.os2
+++ /dev/null
@@ -1,81 +0,0 @@
-# Makefile for gzip (GNU zip), OS/2 version -*- Indented-Text -*-
-# Written by Kai Uwe Rommel <rommel@informatik.tu-muenchen.de>
-
-# specialized version for OS/2
-
-default:
- @echo "Enter $(MAKE) -f makefile.os2 target"
- @echo "where target is one of:"
- @echo " msc mscdebug gcc gccdyn gccdebug"
-
-# compilation with emx 0.8f (gcc 2.3.3) or newer
-#
-# release version, statically linked C runtime
-gcc:
- $(MAKE) -f Makefile.os2 all \
- CC="gcc -Zomf -Zsys" O=".obj" S=".S" \
- AS="gcc -Zomf -xassembler-with-cpp -c -o" \
- CFLAGS="-O" LDFLAGS="gzip.def -s"
-#
-# release version, dynamically linked C runtime
-gccdyn:
- $(MAKE) -f Makefile.os2 all \
- CC="gcc -Zomf -Zmt" O=".obj" S=".S" \
- AS="gcc -Zomf -xassembler-with-cpp -c -o" \
- CFLAGS="-O" LDFLAGS="gzip.def -s"
-#
-# debugging version
-gccdebug:
- $(MAKE) -f Makefile.os2 all \
- CC="gcc -g" O=".o" S=".S" \
- AS="gcc -g -xassembler-with-cpp -c -o" \
- CFLAGS="" LDFLAGS="gzip.def"
-
-# compilation with MS C 6.00
-#
-# release version
-msc:
- $(MAKE) -f Makefile.os2 all \
- CC="cl -nologo -AC" O=".obj" S=".asm" \
- AS="ml -nologo -Zm -Cp -c -Fo" \
- CFLAGS=" -W1 -Zap -J -G2s -Ocegit" \
- LDFLAGS="-Lp -F 2000 setargv.obj gzip16.def -link /noe"
-#
-# debugging version
-mscdebug:
- $(MAKE) -f Makefile.os2 all \
- CC="cl -nologo -AC -Zi" O=".obj" S=".asm" \
- AS="ml -nologo -Zm -Zi -Cp -c -Fo" \
- CFLAGS="-W1 -Zap -J -G2 -Od" \
- LDFLAGS="-Lp -F 2000 setargv.obj gzip16.def -link /noe /exe"
-
-DEFS = -DOS2 -DASMV
-
-OBJS = gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O util$O \
- crypt$O lzw$O unlzw$O unpack$O unlzh$O getopt$O match$O
-
-.SUFFIXES: .c $O
-
-.c$O:
- $(CC) $(CFLAGS) $(DEFS) -c $<
-
-all: gzip.exe gzip.info gzip.doc
-
-gzip.exe: $(OBJS)
- $(CC) -o $@ $(OBJS) $(LDFLAGS)
-
-gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O: gzip.h tailor.h
-util$O lzw$O unlzw$O unpack$O unlzh$O crypt$O: gzip.h tailor.h
-
-gzip$O unlzw$O: revision.h lzw.h
-
-bits$O unzip$O util$O zip$O: crypt.h
-
-match$O: match$S
- $(AS) $@ match$S
-
-gzip.info: gzip.texi gpl.texinfo
- makeinfo gzip.texi
-
-gzip.doc: gzip.1
- groff -man gzip.1 > $@
diff --git a/os2/gzip.def b/os2/gzip.def
deleted file mode 100644
index c7af3ea..0000000
--- a/os2/gzip.def
+++ /dev/null
@@ -1,3 +0,0 @@
-NAME GZIP WINDOWCOMPAT
-DESCRIPTION 'GNU gzip file compression program'
-STACKSIZE 0x80000
diff --git a/os2/gzip16.def b/os2/gzip16.def
deleted file mode 100644
index 74c20d9..0000000
--- a/os2/gzip16.def
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME GZIP WINDOWCOMPAT NEWFILES
-DESCRIPTION 'GNU gzip file compression program'
diff --git a/vms/Makefile.gcc b/vms/Makefile.gcc
deleted file mode 100644
index d4f8e64..0000000
--- a/vms/Makefile.gcc
+++ /dev/null
@@ -1,131 +0,0 @@
-# Makefile for gzip (GNU zip) -*- Indented-Text -*-
-# Copyright (C) 1992-1993 Jean-loup Gailly and the Free Software Foundation
-# VMS version made by Klaus Reimann <kr@cip.physik.uni-stuttgart.de>,
-# revised by Roland B Roberts <roberts@nsrl31.nsrl.rochester.edu>.
-# This version is for gcc.
-
-# After constructing gzip.exe with this Makefile, you should set up
-# symbols for gzip.exe. Edit the example below, changing
-# "disk:[directory]" as appropriate.
-#
-# $ gzip == "$disk:[directory]gzip.exe"
-# $ gunzip == "$disk:[directory]gunzip.exe"
-# $ zcat == "$disk:[directory]zcat.exe"
-
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-#### Start of system configuration section. ####
-
-CC = gcc
-LINK = link
-
-CFLAGS =
-# CFLAGS = /warning
-LDFLAGS =
-
-# Things you might add to DEFS
-# -DDIRENT Use <dirent.h> for recursion (-r)
-# -DSYSDIR Use <sys/dir.h> for recursion (-r)
-# -DSYSNDIR Use <sys/ndir.h> for recursion (-r)
-# -DNDIR Use <ndir.h> for recursion (-r)
-# -DSTDC_HEADERS Use <stdlib.h>
-# -DHAVE_UNISTD_H Use <unistd.h>
-# -DNO_UTIME_H Don't use <utime.h>
-# -DHAVE_SYSUTIME_H Use <sys/utime.h>
-# -DNO_MEMORY_H Don't use <memory.h>. Not needed if STDC_HEADERS.
-# -DNO_STRING_H Use strings.h, not string.h. Not needed if STDC_HEADERS
-# -DRETSIGTYPE=int Define this if signal handlers must return an int.
-# -DNO_SYMLINK OS defines S_IFLNK but does not support symbolic links
-# -DNO_MULTIPLE_DOTS System does not allow file names with multiple dots
-# -DNO_UTIME System does not support setting file modification time
-# -DNO_CHOWN System does not support setting file owner
-# -DNO_DIR System does not support readdir()
-# -DPROTO Force function prototypes even if __STDC__ not defined
-# -DASMV Use asm version match.S
-# -DMSDOS MSDOS specific
-# -DOS2 OS/2 specific
-# -DVAXC Vax/VMS with Vax C compiler
-# -DVMS Vax/VMS with gcc
-# -DDEBUG Debug code
-# -DDYN_ALLOC Use dynamic allocation of large data structures
-# -DMAXSEG_64K Maximum array size is 64K (for 16 bit system)
-# -DRECORD_IO read() and write() are rounded to record sizes.
-# -DNO_STDIN_FSTAT fstat() is not available on stdin
-# -DNO_SIZE_CHECK stat() does not give a reliable file size
-
-DEFS = /define=(VMS)
-LIBS = #@LIBS@
-
-X=.exe
-O=.obj
-
-# additional assembly sources for particular systems be required.
-OBJA = #@OBJA@
-
-#### End of system configuration section. ####
-
-OBJS = gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O util$O \
- crypt$O lzw$O unlzw$O unpack$O unlzh$O getopt$O vms$O $(OBJA)
-
-# --- rules ---
-
-*$O: *.c
- $(CC) $* $(DEFS) $(CFLAGS)
-# create sys$output
-# $(CC) $* $(DEFS) $(CFLAGS)$
-
-default: all
-
-all: gzip$X #zcmp zdiff zmore znew
-
-gzip$X : $(OBJS) #Makefile
- linkobjs:=$(OBJS)
- Schleife:
- p = f$locate(" ",linkobjs)
- if p .lt. f$length(linkobjs)
- then linkobjs[p,1]:=","
- goto Schleife
- endif
- write sys$output "linking ''linkobjs'"
- $(LINK) $(LDFLAGS) /exec=gzip$X 'linkobjs',sys$input/opt
- GNU_CC:[000000]GCCLIB/LIB,SYS$LIBRARY:VAXCRTL/SHARE $
-
-# Create a hard link. To remove both files, use "make clean". Using a hard
-# link saves disk space, by the way. Note, however, that copying a hard link
-# copies the data, not just the link. Therefore, set up the link in the
-# directory in which the executable is to reside, or else rename (move) the
-# executables into the directory.
-#
- set file/enter=gunzip.exe gzip.exe
- set file/enter=zcat.exe gzip.exe
-
-
-clean:
- set file/remove gunzip.exe;0
- set file/remove zcat.exe;0
- delete gzip.exe;0
- delete *$O;0
-
-# Actual build-related targets
-
-gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O: gzip.h tailor.h
-util$O lzw$O unlzw$O unpack$O unlzh$O crypt$O: gzip.h tailor.h
-
-gzip$O unlzw$O: revision.h lzw.h
-
-bits$O unzip$O util$O zip$O: crypt.h
-
-gzip$O getopt$O: getopt.h
diff --git a/vms/Makefile.mms b/vms/Makefile.mms
deleted file mode 100644
index 075a11b..0000000
--- a/vms/Makefile.mms
+++ /dev/null
@@ -1,122 +0,0 @@
-# Makefile for gzip (GNU zip) -*- Indented-Text -*-
-# Copyright (C) 1992-1993 Jean-loup Gailly and the Free Software Foundation
-# VMS version made by Klaus Reimann <kr@cip.physik.uni-stuttgart.de>,
-# revised by Roland B Roberts <roberts@nsrl31.nsrl.rochester.edu>
-# and Karl-Jose Filler <pla_jfi@pki-nbg.philips.de>
-# This version is for VAXC with MMS.
-
-# After constructing gzip.exe with this Makefile, you should set up
-# symbols for gzip.exe. Edit the example below, changing
-# "disk:[directory]" as appropriate.
-#
-# $ gzip == "$disk:[directory]gzip.exe"
-# $ gunzip == "$disk:[directory]gunzip.exe"
-# $ zcat == "$disk:[directory]zcat.exe"
-
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-#### Start of system configuration section. ####
-
-CC = cc
-LINK = link
-
-CFLAGS =
-# CFLAGS = /warning
-LDFLAGS =
-
-# Things you might add to DEFS
-# -DDIRENT Use <dirent.h> for recursion (-r)
-# -DSYSDIR Use <sys/dir.h> for recursion (-r)
-# -DSYSNDIR Use <sys/ndir.h> for recursion (-r)
-# -DNDIR Use <ndir.h> for recursion (-r)
-# -DSTDC_HEADERS Use <stdlib.h>
-# -DHAVE_UNISTD_H Use <unistd.h>
-# -DNO_UTIME_H Don't use <utime.h>
-# -DHAVE_SYSUTIME_H Use <sys/utime.h>
-# -DNO_MEMORY_H Don't use <memory.h>. Not needed if STDC_HEADERS.
-# -DNO_STRING_H Use strings.h, not string.h. Not needed if STDC_HEADERS
-# -DRETSIGTYPE=int Define this if signal handlers must return an int.
-# -DNO_SYMLINK OS defines S_IFLNK but does not support symbolic links
-# -DNO_MULTIPLE_DOTS System does not allow file names with multiple dots
-# -DNO_UTIME System does not support setting file modification time
-# -DNO_CHOWN System does not support setting file owner
-# -DNO_DIR System does not support readdir()
-# -DPROTO Force function prototypes even if __STDC__ not defined
-# -DASMV Use asm version match.S
-# -DMSDOS MSDOS specific
-# -DOS2 OS/2 specific
-# -DVAXC Vax/VMS with Vax C compiler
-# -DVMS Vax/VMS with gcc
-# -DDEBUG Debug code
-# -DDYN_ALLOC Use dynamic allocation of large data structures
-# -DMAXSEG_64K Maximum array size is 64K (for 16 bit system)
-# -DRECORD_IO read() and write() are rounded to record sizes.
-# -DNO_STDIN_FSTAT fstat() is not available on stdin
-# -DNO_SIZE_CHECK stat() does not give a reliable file size
-
-# DEFS = /define=(VAXC)
-DEFS =
-LIBS =
-
-X=.exe
-O=.obj
-
-# additional assembly sources for particular systems be required.
-OBJA =
-
-#### End of system configuration section. ####
-
-OBJS = gzip.obj zip.obj deflate.obj trees.obj bits.obj unzip.obj inflate.obj \
- util.obj crypt.obj lzw.obj unlzw.obj unpack.obj unlzh.obj getopt.obj \
- vms.obj $(OBJA)
-
-# --- rules ---
-
-.c.obj :
- define/user sys sys$library
- $(CC) $* $(DEFS) $(CFLAGS)
-# create sys.output
-# $(CC) $* $(DEFS) $(CFLAGS)$
-
-gzip.exe : $(OBJS)
- define lnk$library sys$share:vaxcrtl
- $(LINK) $(LDFLAGS) /exec=gzip $+
-#
-# Create a hard link. To remove both files, use "make clean". Using a hard
-# link saves disk space, by the way. Note, however, that copying a hard link
-# copies the data, not just the link. Therefore, set up the link in the
-# directory in which the executable is to reside, or else rename (move) the
-# executables into the directory.
-#
- set file/enter=gunzip.exe gzip.exe
- set file/enter=zcat.exe gzip.exe
-
-clean :
- set file/remove gunzip.exe;0
- set file/remove zcat.exe;0
- delete gzip.exe;0
- delete *.obj;0
-
-# Actual build-related targets
-
-gzip.obj zip.obj deflate.obj trees.obj bits.obj unzip.obj inflate.obj : gzip.h tailor.h
-util.obj lzw.obj unlzw.obj unpack.obj unlzh.obj crypt.obj : gzip.h tailor.h
-
-gzip.obj unlzw.obj : revision.h lzw.h
-
-bits.obj unzip.obj util.obj zip.obj : crypt.h
-
-gzip.obj getopt.obj : getopt.h
diff --git a/vms/Makefile.vms b/vms/Makefile.vms
deleted file mode 100644
index 1063f5b..0000000
--- a/vms/Makefile.vms
+++ /dev/null
@@ -1,133 +0,0 @@
-# Makefile for gzip (GNU zip) -*- Indented-Text -*-
-# Copyright (C) 1992-1993 Jean-loup Gailly and the Free Software Foundation
-# VMS version made by Klaus Reimann <kr@cip.physik.uni-stuttgart.de>,
-# revised by Roland B Roberts <roberts@nsrl31.nsrl.rochester.edu>.
-# This version is for VAXC. Tested with Todd Aven's MAKE/VMS.
-
-# After constructing gzip.exe with this Makefile, you should set up
-# symbols for gzip.exe. Edit the example below, changing
-# "disk:[directory]" as appropriate.
-#
-# $ gzip == "$disk:[directory]gzip.exe"
-# $ gunzip == "$disk:[directory]gunzip.exe"
-# $ zcat == "$disk:[directory]zcat.exe"
-
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-#### Start of system configuration section. ####
-
-CC = cc
-LINK = link
-
-CFLAGS =
-# CFLAGS = /warning
-LDFLAGS =
-
-# Things you might add to DEFS
-# -DDIRENT Use <dirent.h> for recursion (-r)
-# -DSYSDIR Use <sys/dir.h> for recursion (-r)
-# -DSYSNDIR Use <sys/ndir.h> for recursion (-r)
-# -DNDIR Use <ndir.h> for recursion (-r)
-# -DSTDC_HEADERS Use <stdlib.h>
-# -DHAVE_UNISTD_H Use <unistd.h>
-# -DNO_UTIME_H Don't use <utime.h>
-# -DHAVE_SYSUTIME_H Use <sys/utime.h>
-# -DNO_MEMORY_H Don't use <memory.h>. Not needed if STDC_HEADERS.
-# -DNO_STRING_H Use strings.h, not string.h. Not needed if STDC_HEADERS
-# -DRETSIGTYPE=int Define this if signal handlers must return an int.
-# -DNO_SYMLINK OS defines S_IFLNK but does not support symbolic links
-# -DNO_MULTIPLE_DOTS System does not allow file names with multiple dots
-# -DNO_UTIME System does not support setting file modification time
-# -DNO_CHOWN System does not support setting file owner
-# -DNO_DIR System does not support readdir()
-# -DPROTO Force function prototypes even if __STDC__ not defined
-# -DASMV Use asm version match.S
-# -DMSDOS MSDOS specific
-# -DOS2 OS/2 specific
-# -DVAXC Vax/VMS with Vax C compiler
-# -DVMS Vax/VMS with gcc
-# -DDEBUG Debug code
-# -DDYN_ALLOC Use dynamic allocation of large data structures
-# -DMAXSEG_64K Maximum array size is 64K (for 16 bit system)
-# -DRECORD_IO read() and write() are rounded to record sizes.
-# -DNO_STDIN_FSTAT fstat() is not available on stdin
-# -DNO_SIZE_CHECK stat() does not give a reliable file size
-
-# DEFS = /define=(VAXC)
-DEFS =
-LIBS =
-
-X=.exe
-O=.obj
-
-# additional assembly sources for particular systems be required.
-OBJA =
-
-#### End of system configuration section. ####
-
-OBJS = gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O util$O \
- crypt$O lzw$O unlzw$O unpack$O unlzh$O getopt$O vms$O $(OBJA)
-
-# --- rules ---
-
-*$O: *.c
- define/user sys sys$library
- $(CC) $* $(DEFS) $(CFLAGS)
-# create sys$output
-# $(CC) $* $(DEFS) $(CFLAGS)$
-
-default: all
-
-all: gzip$X #zcmp zdiff zmore znew
-
-gzip$X : $(OBJS) #Makefile
- linkobjs:=$(OBJS)
- Schleife:
- p = f$locate(" ",linkobjs)
- if p .lt. f$length(linkobjs)
- then linkobjs[p,1]:=","
- goto Schleife
- endif
- write sys$output "linking ''linkobjs'"
- $(LINK) $(LDFLAGS) /exec=gzip$X 'linkobjs',sys$input/opt
- SYS$LIBRARY:VAXCRTL/SHARE $
-#
-# Create a hard link. To remove both files, use "make clean". Using a hard
-# link saves disk space, by the way. Note, however, that copying a hard link
-# copies the data, not just the link. Therefore, set up the link in the
-# directory in which the executable is to reside, or else rename (move) the
-# executables into the directory.
-#
- set file/enter=gunzip.exe gzip.exe
- set file/enter=zcat.exe gzip.exe
-
-
-clean:
- set file/remove gunzip.exe;0
- set file/remove zcat.exe;0
- delete gzip.exe;0
- delete *$O;0
-
-# Actual build-related targets
-
-gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O: gzip.h tailor.h
-util$O lzw$O unlzw$O unpack$O unlzh$O crypt$O: gzip.h tailor.h
-
-gzip$O unlzw$O: revision.h lzw.h
-
-bits$O unzip$O util$O zip$O: crypt.h
-
-gzip$O getopt$O: getopt.h
diff --git a/vms/Readme.vms b/vms/Readme.vms
deleted file mode 100644
index 0e07d1a..0000000
--- a/vms/Readme.vms
+++ /dev/null
@@ -1,87 +0,0 @@
-README file for gzip on VMS
-written by Klaus Reimann <kr@cip.physik.uni-stuttgart.de>
-
-Here is a list of the files in [.vms]:
-
-GZIP.HLP ! Help-file, how to use gzip
-MAKEFILE.GCC ! Description for (vms-)make, using gcc
-MAKEFILE.MMS ! Description for MMS-utility, using vaxc
-MAKEFILE.VMS ! Description for (vms-)make, using vaxc
-MAKEGZIP.COM ! simple and robust DCL-Script, using vaxc
-README.VMS ! this file, how to install gzip
-VMS.C ! VMS-specific functions in gzip
-
-This file describe, how to compile and install the VMS-Port of gzip.
->>For restrictions or bugs due to the structure of the vms-file system
-refer to gzip.hlp.<<
-
-Installing gzip
-
-Since there are many makefiles there are many possibilities
-compiling and installing gzip. For most of them, it is important,
-that you start them from the SOURCE-Directory (that is where
-gzip.c is), not from the [.vms]-directory. Otherwise the compiler
-won't find the source-files.
-
-Using gcc saves disk-space, but needs longer to compile
- VAXC gzip.exe 95/96 Blocks
- gcc2.3.3 gzip.exe 86/87 Blocks
-
-To install gzip one has to perform the following steps:
- 1. compile sources (*.c, [.vms]*.c)
- 2. link executable gzip.exe
- 3. Make entries gunzip.exe and zcat.exe to gzip.exe.
- These are similar to hardlinks in UNIX
- >>If You wish to do this by hand, see for example makegzip.com.<<
- The Entries can't be simply deleted, use 'set file /remove' .
-
- 4. Rename executables (*.exe) to Your prefered exe-directory. If it is on
- another Device, then you should only copy gzip.exe and do the
- entries gunzip.exe and zcat.exe by hand (3.).
-
- 5. Setting up Symbols for the executables:
- Place the following lines in Your login.com
- Change "disk:[directory]" as appropriate.
- $ gzip == "$disk:[directory]gzip.exe"
- $ gunzip == "$disk:[directory]gunzip.exe"
- $ zcat == "$disk:[directory]zcat.exe"
- 6. insert help-file gzip.hlp in any Help-library,
- for example in sys$help:helplib.
- this can be done by $lib sys$help:helplib/help gzip
- (I did not try this command)
-
-Steps (4.)5. through 6 must be done by hand.
-Steps 1 through 3(4.) may be done by one of the makefiles:
-
-a) MAKEGZIP.COM
-This was crated from MAKEFILE.VMS and later on edited. It uses the
-VAXC-Compiler and does compiling, linking and making the entries.
-Usage:
-- change to the Source-Directory
-- copy vms.c
- $copy [.vms]vms.c []
-- start compiling, linking, entries
- $@[.vms]makegzip
-if everything is OK. then you get gzip.exe, gunzip.exe, zcat.exe
-continue at Step 4.
-
-b) MAKEFILE.VMS
-Makefile for a vms-make utility (NOT gnu-make).
-Is uses the VAXC-Compiler and has the Advantage over MAKEGZIP.COM
-that make checks dependencies. This is helpfull if You have to
-recompile several times, for example after editing the sources.
-- change to the Source-Directory
-- copy vms.c
- $copy [.vms]vms.c []
-- start compiling, linking, entries
- $make /input=[.vms]makefile.vms
-if everything is OK. then you get gzip.exe, gunzip.exe, zcat.exe
-Continue at Step 4.
-
-c) MAKEFILE.GCC
-Same as MAKEFILE.VMS, but uses gcc
-- Use $make /input=[.vms]makefile.gcc instead of make ....
-
-d) MAKEFILE.MMS
-Makefile for the MMS-utility. Similar to MAKEFILE.VMS
-- Use $mms /description=[.vms]makefile.mms instead of make ....
diff --git a/vms/gzip.hlp b/vms/gzip.hlp
deleted file mode 100644
index 4e7fe81..0000000
--- a/vms/gzip.hlp
+++ /dev/null
@@ -1,297 +0,0 @@
-1 GZIP
-NAME
- gzip, gunzip, zcat - compress or expand files
-
-SYNOPSIS
- gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ... ]
- gunzip [ -acfhlLnNrtvV ] [-S suffix] [ name ... ]
- zcat [ -fhLV ] [ name ... ]
-
-2 DESCRIPTION
- Gzip reduces the size of the named files using Lempel-Ziv
- coding (LZ77). Whenever possible, each file is replaced by
- one with the extension .gz, while keeping the same ownership
- modes, access and modification times. (The default exten-
- sion is -gz for VMS, z for MSDOS, OS/2 FAT, Windows NT FAT
- and Atari.) If no files are specified, or if a file name is
- "-", the standard input is compressed to the standard out-
- put. Gzip will only attempt to compress regular files.
-
- If the compressed file name is too long for its file system,
- gzip truncates it. Gzip attempts to truncate only the parts
- of the file name longer than 3 characters. (A part is del-
- imited by dots.) If the name consists of small parts only,
- the longest parts are truncated. For example, if file names
- are limited to 14 characters, gzip.msdos.exe is compressed
- to gzi.msd.exe.gz. Names are not truncated on systems which
- do not have a limit on file name length.
-
- By default, gzip keeps the original file name and timestamp
- in the compressed file. These are used when decompressing
- the file with the -N option. This is useful when the
- compressed file name was truncated or when the time stamp
- was not preserved after a file transfer.
-
- Compressed files can be restored to their original form
- using gzip -d or gunzip or zcat. If the original name saved
- in the compressed file is not suitable for its file system,
- a new name is constructed from the original one to make it
- legal.
-
- gunzip takes a list of files on its command line and
- replaces each file whose name ends with .gz, -gz, .z, -z, _z
- or .Z and which begins with the correct magic number with an
- uncompressed file without the original extension. gunzip
- also recognizes the special extensions .tgz and .taz as
- shorthands for .tar.gz and .tar.Z respectively. When
- compressing, gzip uses the .tgz extension if necessary
- instead of truncating a file with a .tar extension.
-
- gunzip can currently decompress files created by gzip, zip,
- compress, compress -H or pack. The detection of the input
- format is automatic. When using the first two formats,
- gunzip checks a 32 bit CRC. For pack, gunzip checks the
- uncompressed length. The standard compress format was not
- designed to allow consistency checks. However gunzip is
- sometimes able to detect a bad .Z file. If you get an error
- when uncompressing a .Z file, do not assume that the .Z file
- is correct simply because the standard uncompress does not
- complain. This generally means that the standard uncompress
- does not check its input, and happily generates garbage out-
- put. The SCO compress -H format (lzh compression method)
- does not include a CRC but also allows some consistency
- checks.
-
- Files created by zip can be uncompressed by gzip only if
- they have a single member compressed with the 'deflation'
- method. This feature is only intended to help conversion of
- tar.zip files to the tar.gz format. To extract zip files
- with several members, use unzip instead of gunzip.
-
- zcat is identical to gunzip -c. (On some systems, zcat may
- be installed as gzcat to preserve the original link to
- compress.) zcat uncompresses either a list of files on the
- command line or its standard input and writes the
- uncompressed data on standard output. zcat will uncompress
- files that have the correct magic number whether they have a
- .gz suffix or not.
-
- Gzip uses the Lempel-Ziv algorithm used in zip and PKZIP.
- The amount of compression obtained depends on the size of
- the input and the distribution of common substrings. Typi-
- cally, text such as source code or English is reduced by
- 60-70%. Compression is generally much better than that
- achieved by LZW (as used in compress), Huffman coding (as
- used in pack), or adaptive Huffman coding (compact).
-
- Compression is always performed, even if the compressed file
- is slightly larger than the original. The worst case expan-
- sion is a few bytes for the gzip file header, plus 5 bytes
- every 32K block, or an expansion ratio of 0.015% for large
- files. Note that the actual number of used disk blocks
- almost never increases. gzip preserves the mode, ownership
- and timestamps of files when compressing or decompressing.
-
-2 OPTIONS
- -a --ascii
- Ascii text mode: convert end-of-lines using local con-
- ventions. This option is supported only on some non-
- Unix systems. For MSDOS, CR LF is converted to LF when
- compressing, and LF is converted to CR LF when
- decompressing.
-
- -c --stdout --to-stdout
- Write output on standard output; keep original files
- unchanged. If there are several input files, the out-
- put consists of a sequence of independently compressed
- members. To obtain better compression, concatenate all
- input files before compressing them.
-
- -d --decompress --uncompress
- Decompress.
-
- -f --force
- Force compression or decompression even if the file has
- multiple links or the corresponding file already
- exists, or if the compressed data is read from or writ-
- ten to a terminal. If the input data is not in a format
- recognized by gzip, and if the option --stdout is also
- given, copy the input data without change to the stan-
- dard output: let zcat behave as cat. If -f is not given,
- and when not running in the background, gzip prompts to
- verify whether an existing file should be overwritten.
-
- -h --help
- Display a help screen and quit.
-
- -l --list
- For each compressed file, list the following fields:
-
- compressed size: size of the compressed file
- uncompressed size: size of the uncompressed file
- ratio: compression ratio (0.0% if unknown)
- uncompressed_name: name of the uncompressed file
-
- The uncompressed size is given as -1 on VMS because
- it is not possible to seek reliably to the end of the
- compressed file, where this size is stored.
-
- In combination with the --verbose option, the following
- fields are also displayed:
-
- method: compression method
- crc: the 32-bit CRC of the uncompressed data
- date & time: time stamp for the uncompressed file
-
- The compression methods currently supported are
- deflate, compress, lzh (SCO compress -H) and pack. The
- crc is given as ffffffff on VMS for the reason given
- above about the uncompressed size.
-
- With --name, the uncompressed name, date and time are
- those stored within the compress file if present.
-
- With --verbose, the size totals and compression ratio
- for all files is also displayed, unless some sizes are
- unknown. With --quiet, the title and totals lines are
- not displayed.
-
- -L --license
- Display the gzip license and quit.
-
- -n --no-name
- When compressing, do not save the original file name
- and time stamp by default. (The original name is always
- saved if the name had to be truncated.) When
- decompressing, do not restore the original file name if
- present (remove only the gzip suffix from the
- compressed file name) and do not restore the original
- time stamp if present (copy it from the compressed
- file). This option is the default when decompressing.
-
- -N --name
- When compressing, always save the original file name
- and time stamp; this is the default. When decompress-
- ing, restore the original file name and time stamp if
- present. This option is useful on systems which have a
- limit on file name length or when the time stamp has
- been lost after a file transfer.
-
- -q --quiet
- Suppress all warnings.
-
- -r --recursive
- Travel the directory structure recursively. If any of
- the file names specified on the command line are direc-
- tories, gzip will descend into the directory and
- compress all the files it finds there (or decompress
- them in the case of gunzip ).
-
- -S suf --suffix suf
- Use suffix suf instead of -gz. Any suffix can be
- given, but suffixes other than -z and -gz should be
- avoided to avoid confusion when files are transferred
- to other. A null suffix forces gunzip to try
- decompression on all given files regardless of suffix,
- as in:
-
- gunzip --suffix "" *.*
-
- Previous versions of gzip used the -z suffix. This was
- changed to avoid a conflict with pack on Unix.
-
- -t --test
- Test. Check the compressed file integrity.
-
- -v --verbose
- Verbose. Display the name and percentage reduction for
- each file compressed or decompressed.
-
- -V --version
- Version. Display the version number and compilation
- options then quit.
-
- -# --fast --best
- Regulate the speed of compression using the specified
- digit #, where -1 or --fast indicates the fastest
- compression method (less compression) and -9 or --best
- indicates the slowest compression method (best compres-
- sion). The default compression level is -6 (that is,
- biased towards high compression at expense of speed).
-
-2 ENVIRONMENT
- The environment variable GZIP_OPT can hold a set of default
- options for gzip. These options are interpreted first and
- can be overwritten by explicit command line parameters. For
- example:
- define GZIP_OPT "-8 -v"
-
-2 SEE ALSO
- compress, zip, unzip
-
-2 DIAGNOSTICS
- Exit status is normally 0; if an error occurs, exit status
- is 1. If a warning occurs, exit status is 2.
-
- Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
- Invalid options were specified on the command line.
- file: not in gzip format
- The file specified to gunzip has not been
- compressed.
- file: Corrupt input. Use zcat to recover some data.
- The compressed file has been damaged. The data up to
- the point of failure can be recovered using
- define /user sys$output file.recover
- zcat file
- file: compressed with xx bits, can only handle yy bits
- File was compressed (using LZW) by a program that
- could deal with more bits than the decompress code
- on this machine. Recompress the file with gzip,
- which compresses better and uses less memory.
- file: already has -gz suffix -- no change
- The file is assumed to be already compressed.
- Rename the file and try again.
- file already exists; do you wish to overwrite (y or n)?
- Respond "y" if you want the output file to be
- replaced; "n" if not.
- gunzip: corrupt input
- A SIGSEGV violation was detected which usually means
- that the input file has been corrupted.
- xx.x%
- Percentage of the input saved by compression.
- (Relevant only for -v and -l.)
- -- not a regular file or directory: ignored
- When the input file is not a regular file or direc-
- tory, it is left unaltered.
-
-2 CAVEATS
- On VMS:
- - upper case options need quotes: gzip "-V".
- - restoration of timestamps and version numbers is not supported
- - If a compressed file already exists, gzip -f overwrites it, it
- does not create a new version.
- - multi-part gzip files are not supported.
- - gunzip does not preserve the input file format. You can use a
- separate utility to restore the original format.
- - gunzip and zcat can be used only if you have created the
- links to gzip as documented in makegzip.com. Otherwise
- you must use explicit parameters ("gzip -c" or "gzip -dc").
- - gzip --list cannot give the uncompressed size and crc.
-
- When writing compressed data to a tape, it is generally
- necessary to pad the output with zeroes up to a block boun-
- dary. When the data is read and the whole block is passed to
- gunzip for decompression, gunzip detects that there is extra
- trailing garbage after the compressed data and emits a warn-
- ing by default. You have to use the --quiet option to
- suppress the warning. This option can be set in the GZIP_OPT
- environment variable as in:
- define GZIP_OPT "-q"
-
-2 BUGS
- On VMS, files in VFC record format are not correctly handled by
- the C runtime library (the linefeed character is suppressed).
-
- In some rare cases, the --best option gives worse compres-
- sion than the default compression level (-6). On some highly
- redundant files, compress compresses better than gzip.
diff --git a/vms/makegzip.com b/vms/makegzip.com
deleted file mode 100644
index eec372c..0000000
--- a/vms/makegzip.com
+++ /dev/null
@@ -1,71 +0,0 @@
-$! Makefile for VMS
-$! DCL-Shell-language. Edit the symbols section at the end.
-$!
-$ On Control_Y Then Goto The_Exit
-$ On Error Then Goto The_Exit
-$ define/user sys sys$library
-$ cc gzip.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc zip.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc deflate.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc trees.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc bits.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc unzip.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc inflate.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc util.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc crypt.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc lzw.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc unlzw.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc unpack.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc unlzh.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc getopt.c /define=(VAXC)
-$ define/user sys sys$library
-$ cc vms.c /define=(VAXC)
-$ linkobjs:=gzip.obj zip.obj deflate.obj trees.obj bits.obj unzip.obj -
- inflate.obj util.obj crypt.obj lzw.obj unlzw.obj unpack.obj unlzh.obj -
- getopt.obj vms.obj
-$ Schleife:
-$ p = f$locate(" ",linkobjs)
-$ if p .lt. f$length(linkobjs)
-$ then linkobjs[p,1]:=","
-$ goto Schleife
-$ endif
-$ write sys$output "linking ''linkobjs'"
-$ link /exec=gzip.exe 'linkobjs',sys$input/opt
-SYS$LIBRARY:VAXCRTL/SHARE
-$
-$ ! Create a hard link. (To remove both files, delete the copy FIRST, then
-$ ! the original. Otherwise, if original deleted first [copy says "no such
-$ ! file"], must use "set file/remove gunzip.exe;#" to get rid of the copy.
-$ ! Unlike in Unix, deleting the original ALWAYS destroys the data--but not
-$ ! the directory entry of the copy.) Using a hard link saves disk space, by
-$ ! the way. Note, however, that copying a hard link copies the data, not
-$ ! just the link. Therefore, set up the link in the directory in which the
-$ ! executable is to reside, or else rename (move) the executables into the
-$ ! directory.
-$ !
-$ set file/enter=gunzip.exe gzip.exe
-$ set file/enter=zcat.exe gzip.exe
-$
-$ ! Set up symbols for the gzip executable. Edit the example below,
-$ ! changing "disk:[directory]" as appropriate.
-$ !
-$ gzip == "$disk:[directory]gzip.exe"
-$ gunzip == "$disk:[directory]gunzip.exe"
-$ zcat == "$disk:[directory]zcat.exe"
-$
-$The_Exit:
-$ Save_Status = $STATUS
-$ exit Save_Status
diff --git a/vms/vms.c b/vms/vms.c
deleted file mode 100644
index 3ef8e43..0000000
--- a/vms/vms.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/* vms.c -- target dependent functions for VMS
- * This is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License, see the file COPYING.
- *
- * This file was written by Karl-Jose Filler <pla_jfi@pki-nbg.philips.de>
- * and updated by Jean-loup Gailly.
- */
-
-#include <config.h>
-#include <stdio.h>
-
-static char **vms_argv = NULL;
-
-static int max_files = 10000;
-
-struct Str_desc {
- int length;
- char *addr;
-};
-
-vms_expand_args(old_argc, argv)
- int *old_argc;
- char **argv[];
-{
- int i;
- int new_argc = 0;
- int context, status;
- char buf[255], *p;
-
- vms_argv = xmalloc((max_files+1)*sizeof(char*));
-
- vms_argv[new_argc++] = **argv;
-
- for (i=1; i < *old_argc; i++) {
- if (*argv[0][i] == '-') { /* switches */
- if (new_argc < max_files) {
- vms_argv[new_argc++] = argv[0][i];
- }
- } else { /* Files */
- context = 0;
- if (find_file_c(argv[0][i], buf, sizeof(buf), &context) & 1 != 1) {
- /*
- * Wrong file ?
- * forward it to gzip
- */
- if (new_argc < max_files) {
- vms_argv[new_argc++] = argv[0][i];
- }
- } else {
- p = xmalloc(strlen(buf)+1);
- strcpy(p, buf);
- if (new_argc < max_files) {
- vms_argv[new_argc++] = p;
- }
- while (find_file_c(argv[0][i], buf,
- sizeof(buf), &context) & 1 == 1) {
- p = xmalloc(strlen(buf)+1);
- strcpy(p, buf);
- if (new_argc < max_files) {
- vms_argv[new_argc++] = p;
- }
- }
- }
- }
- }
- if (new_argc <= max_files) {
- *old_argc = new_argc;
- vms_argv[new_argc] = NULL;
- *argv = vms_argv;
- } else {
- free(vms_argv); /* the expanded file names should also be freed ... */
- vms_argv = NULL;
- max_files = new_argc + 1;
- vms_expand_args(old_argc, argv);
- }
-}
-
-int find_file_c(in,out,out_len,context)
- char *in;
- char *out;
- int out_len;
- int *context;
-{
- struct Str_desc in_desc,out_desc;
- int status;
- char *p;
-
- in_desc.addr = in;
- in_desc.length = strlen(in);
-
- out_desc.addr = out;
- out_desc.length = out_len;
-
- status = lib$find_file(&in_desc,&out_desc,context);
-
- p = out_desc.addr;
- while(*p != ' ') {
- p++;
- }
- *p = 0;
-
- return status;
-}