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.