From cf64deb422f0835c3062c0084d6b23799b21375d Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Wed, 10 Aug 2011 15:49:45 +0200 Subject: [PATCH] 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. --- Makefile.am | 12 +- amiga/Makefile.gcc | 62 --------- amiga/Makefile.sasc | 59 --------- amiga/match.a | 173 -------------------------- amiga/tailor.c | 184 --------------------------- amiga/utime.h | 15 --- atari/Makefile.st | 48 ------- msdos/Makefile.bor | 118 ------------------ msdos/Makefile.djg | 222 --------------------------------- msdos/Makefile.msc | 108 ---------------- msdos/doturboc.bat | 18 --- msdos/gzip.prj | 17 --- msdos/match.asm | 238 ----------------------------------- msdos/tailor.c | 55 -------- nt/Makefile.nt | 66 ---------- os2/Makefile.os2 | 81 ------------ os2/gzip.def | 3 - os2/gzip16.def | 2 - vms/Makefile.gcc | 131 ------------------- vms/Makefile.mms | 122 ------------------ vms/Makefile.vms | 133 -------------------- vms/Readme.vms | 87 ------------- vms/gzip.hlp | 297 -------------------------------------------- vms/makegzip.com | 71 ----------- vms/vms.c | 103 --------------- 25 files changed, 4 insertions(+), 2421 deletions(-) delete mode 100644 amiga/Makefile.gcc delete mode 100644 amiga/Makefile.sasc delete mode 100644 amiga/match.a delete mode 100644 amiga/tailor.c delete mode 100644 amiga/utime.h delete mode 100644 atari/Makefile.st delete mode 100644 msdos/Makefile.bor delete mode 100644 msdos/Makefile.djg delete mode 100644 msdos/Makefile.msc delete mode 100644 msdos/doturboc.bat delete mode 100644 msdos/gzip.prj delete mode 100644 msdos/match.asm delete mode 100644 msdos/tailor.c delete mode 100644 nt/Makefile.nt delete mode 100644 os2/Makefile.os2 delete mode 100644 os2/gzip.def delete mode 100644 os2/gzip16.def delete mode 100644 vms/Makefile.gcc delete mode 100644 vms/Makefile.mms delete mode 100644 vms/Makefile.vms delete mode 100644 vms/Readme.vms delete mode 100644 vms/gzip.hlp delete mode 100644 vms/makegzip.com delete mode 100644 vms/vms.c 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 - -# 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 -; 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#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 -#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 -# Modified by Andreas Schwab -# and Robert Fischer . - -# 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 -#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 - -# 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 - -# -# 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 - -# 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 , -# revised by Roland B Roberts . -# 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 for recursion (-r) -# -DSYSDIR Use for recursion (-r) -# -DSYSNDIR Use for recursion (-r) -# -DNDIR Use for recursion (-r) -# -DSTDC_HEADERS Use -# -DHAVE_UNISTD_H Use -# -DNO_UTIME_H Don't use -# -DHAVE_SYSUTIME_H Use -# -DNO_MEMORY_H Don't use . 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 , -# revised by Roland B Roberts -# and Karl-Jose Filler -# 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 for recursion (-r) -# -DSYSDIR Use for recursion (-r) -# -DSYSNDIR Use for recursion (-r) -# -DNDIR Use for recursion (-r) -# -DSTDC_HEADERS Use -# -DHAVE_UNISTD_H Use -# -DNO_UTIME_H Don't use -# -DHAVE_SYSUTIME_H Use -# -DNO_MEMORY_H Don't use . 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 , -# revised by Roland B Roberts . -# 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 for recursion (-r) -# -DSYSDIR Use for recursion (-r) -# -DSYSNDIR Use for recursion (-r) -# -DNDIR Use for recursion (-r) -# -DSTDC_HEADERS Use -# -DHAVE_UNISTD_H Use -# -DNO_UTIME_H Don't use -# -DHAVE_SYSUTIME_H Use -# -DNO_MEMORY_H Don't use . 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 - -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 - * and updated by Jean-loup Gailly. - */ - -#include -#include - -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; -} -- 2.30.2