1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
HOW TO INSTALL ZIP
Zip is distributed as C source code that can be compiled on a
wide range of systems: Unix, VMS, MSDOS, OS/2, NT, Amiga, Atari,
BeOS, VM/CMS, ... You will need Unzip 5.0p1 (under any system) or
PKUNZIP 2.04g or later (under MSDOS) to unpack the distribution
file, zip231.zip. But since you read this, you have unpacked it
already, or you cheated and got a tar.Z file...
Installation on Unix
Let's assume that you start from scratch and have not yet
unpacked the sources. First, unpack the source as follows,
assuming that you have zip231.zip in the current directory.
mkdir zipsrc
cd zipsrc
unzip ../zip231
This extracts all source files and documentation in the
directory called "zipsrc". This release now includes the standard
encryption code previously in the separate package zcrypt29.zip,
but you still can decide wether to activate the crypt code or not.
Crypt is enabled by default, but you may disable it by specifying
the option -DNO_CRYPT in the LOCAL_ZIP environment variable (or by
adding this option to the compilation options in the appropiate
makefile).
See Readme.cr for more on crypt.
You then do:
make -f unix/Makefile system
where "system" is one of: generic, generic_gcc,
att6300, coherent, cray_v3, minix, sco_x286, xenix, zilog.
Try "make -f unix/Makefile generic" first, this works on many systems.
If this fails, then use one of the special targets given above.
Among other special systems are Cray Unicos, Zilog Zeus and MINIX.
If you get error messages "constant expected" in deflate.c, add
-DDYN_ALLOC to CFLAGS in your makefile entry.
If you have lots of memory, try compiling with -DBIG_MEM. If your
system supports mmap(), try compiling with -DMMAP. This generally
gives faster compression but uses more memory. See the unix/Makefile
entry mmap_gcc for an example.
If none of these compiles, links, and functions properly on
your Unix system, see the file README for how to get help.
If the appropriate system was selected, then the executables
zip, zipnote and zipsplit will be created. You can copy them
to an appropriate directory in the search path using:
make -f unix/Makefile install
The defaults are /usr/local/bin for the executables and
/usr/local/man/man1 for the manual page. Change the macros
BINDIR and MANDIR in makefile if appropriate.
You can use the command "set" to see the current search
path. If you are using the C-Shell (csh), enter the com-
mand:
rehash
so csh can find the new command in the path. You are now
ready to use Zip.
You can get rid of the now unnecessary source and object
files with:
cd ..
rm -r zipsrc
This will remove the directory zip and its contents created
by unzip. You should keep the zip231.zip file around though,
in case you need to build it again or want to give it to a
colleague.
You can add the following lines to the file /etc/magic for
usage by the 'file' command:
0 string PK Zip archive
>4 byte 011 (at least v0.9 to extract)
>4 byte 012 (at least v1.0 to extract)
>4 byte 013 (at least v1.1 to extract)
>4 byte 024 (at least v2.0 to extract)
>4 byte 025 (at least v2.1 to extract)
Installation on other systems
The steps for installation under VMS, MSDOS, OS/2, NT, Amiga and
Atari are similar to the above: first unzip the distribution
files into their own directory. The system dependant files are
stored in special subdirectories.
For all the non-unix ports which support the creation of "UT" extra
fields (these ports contain USE_EF_UT_TIME in the list of optional
features displayed with "zip -v"), the timezone environment variable TZ
should be set according to the local timezone in order for the -f,
-u and -o options to work correctly. This is not needed for the WIN32
and WinDLL ports, since they get the timezone information from the OS by
other means.
MSDOS:
Do one of:
make msdos\makefile.msc (Microsoft C 5.1)
nmake -f msdos\makefile.msc (Microsoft C 6.0 and newer)
make -fmsdos\makefile.bor -DCC_REV=1 (Borland Turbo C++ 1.0)
make -fmsdos\makefile.bor (Borland C++ 2.0 and newer)
make -fmsdos\makefile.tc (Borland Turbo C 2.0x)
make -f msdos/makefile.dj1 (DJGPP v1.12m4)
make -f msdos/makefile.dj2 (DJGPP v2.01 and newer)
make -f msdos/makefile.emx (gcc/emx 0.9b and newer)
make -f os2/makefile.os2 gccdos (gcc/emx 0.9b and newer)
wmake -f msdos\makefile.wat (Watcom C 11.x 16-bit)
wmake -f msdos\makefile.wat PM=1 (Watcom C 11.x 32-bit, PMODE/W)
for Microsoft, Borland C++ and Turbo C, Watcom C/C++ and the various
free GNU C implementations, respectively. More detailed instructions
can be found in the respective makefiles.
WIN32 (Windows NT/2K/XP/2K3 and Windows 95/98/ME):
Supported compilers are Microsoft Visual C++, Borland C++, Watcom C/C++,
and miscellaneous free GNU C implementations (gcc/mingw, CygWin, ...).
The makefiles supplied in the win32/ subdirectory contain further
information.
Windows DLL (WIN32):
Supported environments are Visual C++ (32-bit only, 5.x and newer).
For instructions how to build the DLLs and where find the makefiles,
look into windll/contents.
OS/2:
Type
{make} -f os2/makefile.os2
to get a list of supported targets/compiling environments.
(replace "{make}" with the name of your OS/2 make utility.)
To initiate the actual compiling process, you have to specify
a system target:
{make} -f os2/makefile.os2 {system}
An example: type
nmake -f os2/makefile.os2 msc
for Microsoft C 6.00.
VMS (OpenVMS):
Apply
@[.vms]make_zip
or use DEC's MMS make utility (or the MMK clone) if available:
mms /descr=[.vms]descrip.mms /macro=(__ALPHA__=1) for Alpha AXP
mms /descr=[.vms]descrip.mms /macro=(__DECC__=1) for DEC C on VAX
mms /descr=[.vms]descrip.mms /macro=(__VAXC__=1) for VAX C
mms /descr=[.vms]descrip.mms /macro=(__GNUC__=1) for GNU C on VAX
(If you have installed both DEC C and VAX C on your VAX and want to use
the latter compiler, you should define the macro "__FORCE_VAXC__"
instead of "__VAXC__".)
For further information please consult 00readme.txt in the vms/
subdirectory.
For command help on any of the zip* utilities, simply enter
the name with no arguments.
|