home *** CD-ROM | disk | FTP | other *** search
- __________________________________________________________________________
-
- This is the Info-ZIP file INSTALL (for UnZip), last updated 6 Feb 94.
- __________________________________________________________________________
-
-
- This file is still pretty new and probably has some rough edges. If you
- discover any errors or omissions, please send e-mail to zip-bugs at the
- address given in the README file.
-
-
- To compile:
-
- - Unpack *.c and *.h (the actual source files), preserving the directory
- structure (e.g., ./unix/unix.c). [The exception is TOPS-20, where
- tops20/* should be unpacked into the current directory; but TOPS-20
- isn't fully supported in this version.] Copy the appropriate makefile
- into the current directory and/or rename as appropriate. Check the
- appropriate <OS>/Contents file for descriptions of each makefile in
- cases where more than one exists (e.g., MS-DOS). [Some makefiles can
- be invoked in place--e.g., "nmake -f msdos\makefile.msc" or "make -f
- unix/Makefile some_unix_target"--but MS-DOS targets in the Unix makefile
- (bcc_dos, gcc_dos, etc.) cannot. Also, moving the Unix Makefile instead
- of copying it may result in a harmless error message at compile time.]
-
- - If you want a non-standard version of UnZip, define one or more of the
- following optional macros. Some of these may not be fully supported in
- this or future releases, however.
-
- OLD_EXDIR (Unix, OS/2, MS-DOS only)
- Use old behavior regarding the directory to which to extract: the
- argument immediately after the zipfile name is the extraction dir;
- if the directory doesn't exist, create it if it was specified as
- "dir/" (i.e., with trailing path separator), else treat it as a
- stored file; if -d is used, treat the argument as a stored file re-
- gardless of trailing '/'. For example:
- unzip foo bar if bar is a dir, extract everything into it;
- otherwise extract bar as stored file
- unzip foo bar/ extract everything into bar, creating if nec.
- unzip -d foo bar/ treat bar/ as a stored directory and extract it
-
- DOSWILD (MS-DOS only)
- Treat trailing "*.*" like Unix "*" (i.e., matches anything); treat
- trailing "*." as match for files without a dot (i.e., matches anything,
- as long as no dots in name). Special treatment only occurs if patterns
- are at end of arguments; i.e., "a*.*" matches all files starting with
- "a", but "*.*c" matches all files ending in "c" *only* if they have a
- dot somewhere before the "c". Thus "*.*.*" could be used (albeit awk-
- wardly) to specify all filenames with at least one dot in them, and
- "*." matches all filenames with no dots in them. [The default method
- of specifying these would be "*.*" and "* -x *.*", respectively, where
- the second example makes use of UnZip's exclude-files option.] All
- other regular expressions (including "?" and "[range_of_chars]") re-
- tain their Unix-like behavior.
-
- CHECK_VERSIONS (VMS only)
- UnZip "extra fields" are used to store VMS (RMS) filesystem info,
- and the format of this information may differ in various versions
- of VMS. Defining this option will enable UnZip warnings when the
- stored extra-field VMS version(s) do(es) not match the version of
- VMS currently being used. This is a common occurrence in zipfiles
- received from other sites, but since the format of the filesystem
- does not seem to have changed in years (including on Alpha and Open-
- VMS systems), the warnings are not enabled by default.
-
- RETURN_CODES (VMS only)
- VMS interprets return codes according to a rigid set of guidelines,
- so VMS UnZip always returns 0 regardless of whether any warnings or
- errors occurred. To see the UnZip return values, define RETURN_CODES;
- UnZip will then print the value and its interpretation. This is often
- annoying, however.
-
- NO_ZIPINFO
- Compile without zipinfo mode (-Z) enabled; makes smaller executable
- because many text strings left out. Automatically enabled for
- small-model compiles under MS-DOS and OS/2, so ordinarily there is
- no need to specify this explicitly. (Note that even with this defined,
- the resulting executable may still be too big to extract some zipfiles
- correctly.)
-
- CHECK_EOF (primarily intended for MS-DOS)
- When unzipping an archive on a bad floppy drive, unzip reportedly
- hangs the system; this appears to be due to a failure to do a proper
- check for end-of-file from the read() system call. Defining CHECK_EOF
- enables better checking; this option is not on by default because it
- was introduced too late in the testing process.
-
- DEBUG
- Used for debugging purposes; enables Trace() statements. It is
- generally best to compile only a single module this way.
-
- - If you regularly compile new versions of UnZip and always want the same
- non-standard option(s), add it (them) to the LOCAL_UNZIP environment
- variable. Under MS-DOS, for example:
-
- set LOCAL_UNZIP -DDOSWILD -DOLD_EXDIR
-
- You can also use the variable to hold special compiler options (e.g.,
- -FPi87 for Microsoft C, if the x87 libraries are the only ones on your
- disk and they follow Microsoft's default naming conventions).
-
- - Choose the appropriate makefile based on the description in the Contents
- file for the appropriate OS; move or copy it into the current directory
- and rename if necessary or desired; edit it to include any special macros
- (e.g., add -DDOSWILD to CFLAGS) or whatever (see special OS-specific notes
- below); and run the relevant "make" utility as appropriate.
-
- VMS
- For a one-time make, one can simply run the supplied command file.
- To use either DEC C on an Alpha or VAX C on a VAX, simply type
- "@make" (after copying make.com into the current directory; other-
- wise do "@[.vms]make"). To use GNU C (gcc) on either platform, do
- "@make gcc".
-
- For repeated makes or other hacker-like tinkering with the sources,
- use one of the included makefiles. With DEC's MMS or the free MMK
- clone, copy descrip.mms into the current directory and run MMS or
- MMK. Otherwise grab Todd Aven's free MAKE/VMS, copy makefile into
- the current dir and run make.
-
- Sources to Rahul Dhesi's BILF (binary/line-feed) program are also
- included as a convenience; it can be useful for converting between
- stream-LF and fixed-length-512 formats. Further information is in
- the program comments in bilf.c.
-
- OS/2
- For Watcom C/386, edit makefile.os2 and change the os2$(OBJ) target
- so it uses backslashes (i.e., "os2/os2.c" -> "os2\os2.c").
-
- More generally, read the comments at the top of makefile.os2; note
- that only nmake, dmake and GNU make are supported.
-
- MS-DOS
- See the msdos/Contents file for notes. Also see msdos/README; it
- notes some quirks and/or bugs in various MS-DOS compilers (not much
- to be done about them, but be aware of them).
-
- - Run the make utility on your chosen makefile. This should produce two
- executables in most cases, one for UnZip/ZipInfo and one for fUnZip.
- There may be some warnings about integer-size mismatches; we haven't
- been as thorough in eliminating warnings in this release, but they can
- be ignored. Test your new UnZip on a few archives and let us know if
- there are problems (please first make certain that the archives aren't
- actually corrupted, however--test with PKUNZIP or an existing version
- of UnZip).
-
-
- To install:
-
- - Unix: edit Makefile if manext (man-page extension, usually "1"), MANDIR
- and BINDIR are not correct; then do "make install". Check file ownerships
- and permissions to make sure installation worked correctly. In general,
- root must perform installation into a public directory. Do "rehash" if
- your shell requires it.
-
- - VMS: install UnZip as foreign symbol by adding this to login.com:
- $ unzip == "$disk:[dir]unzip.exe"
- $ zipinfo == "$disk:[dir]unzip.exe -Z"
- where "disk" and "dir" are location of UnZip executable; the "$" before
- disk name is important. Some people, including the author, prefer a
- short alias such as "ii" instead of "zipinfo"; edit to taste. See
- vms/README for notes/warnings about zipfiles and UnZip under VMS.
-
- - OS/2, MS-DOS, NT, Atari, Amiga: move or copy unzip.exe (or unzip.ttp, or
- UnZip, or whatever) to a directory in your path; also possibly copy the
- UnZip executable to zipinfo.exe (or ii.exe), or else create a batch or com-
- mand file for zipinfo ("@unzip -Z %1 %2 %3 %4 %5 %6 %7 %8 %9" under MS-DOS).
- The latter is only relevant if zipinfo mode is enabled, obviously...
-