home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / unzip51.zip / INSTALL < prev    next >
Text File  |  1994-02-06  |  9KB  |  169 lines

  1. __________________________________________________________________________
  2.  
  3.   This is the Info-ZIP file INSTALL (for UnZip), last updated 6 Feb 94.
  4. __________________________________________________________________________
  5.  
  6.  
  7.   This file is still pretty new and probably has some rough edges.  If you
  8.   discover any errors or omissions, please send e-mail to zip-bugs at the
  9.   address given in the README file.
  10.  
  11.  
  12. To compile:
  13.  
  14.   - Unpack *.c and *.h (the actual source files), preserving the directory
  15.     structure (e.g., ./unix/unix.c).  [The exception is TOPS-20, where
  16.     tops20/* should be unpacked into the current directory; but TOPS-20
  17.     isn't fully supported in this version.]  Copy the appropriate makefile
  18.     into the current directory and/or rename as appropriate.  Check the
  19.     appropriate <OS>/Contents file for descriptions of each makefile in
  20.     cases where more than one exists (e.g., MS-DOS).  [Some makefiles can
  21.     be invoked in place--e.g., "nmake -f msdos\makefile.msc" or "make -f
  22.     unix/Makefile some_unix_target"--but MS-DOS targets in the Unix makefile
  23.     (bcc_dos, gcc_dos, etc.) cannot.  Also, moving the Unix Makefile instead
  24.     of copying it may result in a harmless error message at compile time.]
  25.  
  26.   - If you want a non-standard version of UnZip, define one or more of the
  27.     following optional macros.  Some of these may not be fully supported in
  28.     this or future releases, however.
  29.  
  30.       OLD_EXDIR    (Unix, OS/2, MS-DOS only)
  31.         Use old behavior regarding the directory to which to extract:  the
  32.         argument immediately after the zipfile name is the extraction dir;
  33.         if the directory doesn't exist, create it if it was specified as
  34.         "dir/" (i.e., with trailing path separator), else treat it as a
  35.         stored file; if -d is used, treat the argument as a stored file re-
  36.         gardless of trailing '/'.  For example:
  37.             unzip foo bar       if bar is a dir, extract everything into it;
  38.                                   otherwise extract bar as stored file
  39.             unzip foo bar/      extract everything into bar, creating if nec.
  40.             unzip -d foo bar/   treat bar/ as a stored directory and extract it
  41.  
  42.       DOSWILD      (MS-DOS only)
  43.         Treat trailing "*.*" like Unix "*" (i.e., matches anything); treat
  44.         trailing "*." as match for files without a dot (i.e., matches anything,
  45.         as long as no dots in name).  Special treatment only occurs if patterns
  46.         are at end of arguments; i.e., "a*.*" matches all files starting with
  47.         "a", but "*.*c" matches all files ending in "c" *only* if they have a
  48.         dot somewhere before the "c".  Thus "*.*.*" could be used (albeit awk-
  49.         wardly) to specify all filenames with at least one dot in them, and
  50.         "*." matches all filenames with no dots in them.  [The default method
  51.         of specifying these would be "*.*" and "* -x *.*", respectively, where
  52.         the second example makes use of UnZip's exclude-files option.]  All
  53.         other regular expressions (including "?" and "[range_of_chars]") re-
  54.         tain their Unix-like behavior.
  55.  
  56.       CHECK_VERSIONS (VMS only)
  57.         UnZip "extra fields" are used to store VMS (RMS) filesystem info,
  58.     and the format of this information may differ in various versions
  59.     of VMS.  Defining this option will enable UnZip warnings when the
  60.     stored extra-field VMS version(s) do(es) not match the version of
  61.     VMS currently being used.  This is a common occurrence in zipfiles 
  62.     received from other sites, but since the format of the filesystem
  63.     does not seem to have changed in years (including on Alpha and Open-
  64.     VMS systems), the warnings are not enabled by default.
  65.  
  66.       RETURN_CODES (VMS only)
  67.         VMS interprets return codes according to a rigid set of guidelines,
  68.         so VMS UnZip always returns 0 regardless of whether any warnings or
  69.         errors occurred.  To see the UnZip return values, define RETURN_CODES;
  70.         UnZip will then print the value and its interpretation.  This is often
  71.         annoying, however.
  72.  
  73.       NO_ZIPINFO
  74.         Compile without zipinfo mode (-Z) enabled; makes smaller executable
  75.         because many text strings left out.  Automatically enabled for
  76.         small-model compiles under MS-DOS and OS/2, so ordinarily there is
  77.         no need to specify this explicitly.  (Note that even with this defined,
  78.         the resulting executable may still be too big to extract some zipfiles
  79.         correctly.)
  80.  
  81.       CHECK_EOF (primarily intended for MS-DOS)
  82.         When unzipping an archive on a bad floppy drive, unzip reportedly
  83.         hangs the system; this appears to be due to a failure to do a proper
  84.         check for end-of-file from the read() system call.  Defining CHECK_EOF
  85.         enables better checking; this option is not on by default because it
  86.         was introduced too late in the testing process.
  87.  
  88.       DEBUG
  89.         Used for debugging purposes; enables Trace() statements.  It is
  90.         generally best to compile only a single module this way.
  91.  
  92.   - If you regularly compile new versions of UnZip and always want the same
  93.     non-standard option(s), add it (them) to the LOCAL_UNZIP environment
  94.     variable.  Under MS-DOS, for example:
  95.  
  96.         set LOCAL_UNZIP -DDOSWILD -DOLD_EXDIR
  97.  
  98.     You can also use the variable to hold special compiler options (e.g.,
  99.     -FPi87 for Microsoft C, if the x87 libraries are the only ones on your
  100.     disk and they follow Microsoft's default naming conventions).
  101.  
  102.   - Choose the appropriate makefile based on the description in the Contents
  103.     file for the appropriate OS; move or copy it into the current directory
  104.     and rename if necessary or desired; edit it to include any special macros
  105.     (e.g., add -DDOSWILD to CFLAGS) or whatever (see special OS-specific notes
  106.     below); and run the relevant "make" utility as appropriate.
  107.  
  108.       VMS
  109.         For a one-time make, one can simply run the supplied command file.
  110.     To use either DEC C on an Alpha or VAX C on a VAX, simply type
  111.     "@make" (after copying make.com into the current directory; other-
  112.     wise do "@[.vms]make").  To use GNU C (gcc) on either platform, do
  113.     "@make gcc".
  114.  
  115.         For repeated makes or other hacker-like tinkering with the sources,
  116.         use one of the included makefiles.  With DEC's MMS or the free MMK
  117.         clone, copy descrip.mms into the current directory and run MMS or
  118.         MMK.  Otherwise grab Todd Aven's free MAKE/VMS, copy makefile into
  119.         the current dir and run make.
  120.  
  121.         Sources to Rahul Dhesi's BILF (binary/line-feed) program are also
  122.         included as a convenience; it can be useful for converting between
  123.         stream-LF and fixed-length-512 formats.  Further information is in
  124.         the program comments in bilf.c.
  125.  
  126.       OS/2
  127.         For Watcom C/386, edit makefile.os2 and change the os2$(OBJ) target
  128.         so it uses backslashes (i.e., "os2/os2.c" -> "os2\os2.c").
  129.  
  130.         More generally, read the comments at the top of makefile.os2; note
  131.         that only nmake, dmake and GNU make are supported.
  132.  
  133.       MS-DOS
  134.         See the msdos/Contents file for notes.  Also see msdos/README; it
  135.         notes some quirks and/or bugs in various MS-DOS compilers (not much
  136.         to be done about them, but be aware of them).
  137.  
  138.   - Run the make utility on your chosen makefile.  This should produce two
  139.     executables in most cases, one for UnZip/ZipInfo and one for fUnZip.
  140.     There may be some warnings about integer-size mismatches; we haven't
  141.     been as thorough in eliminating warnings in this release, but they can
  142.     be ignored.  Test your new UnZip on a few archives and let us know if
  143.     there are problems (please first make certain that the archives aren't
  144.     actually corrupted, however--test with PKUNZIP or an existing version
  145.     of UnZip).
  146.  
  147.  
  148. To install:
  149.  
  150.   - Unix:  edit Makefile if manext (man-page extension, usually "1"), MANDIR
  151.     and BINDIR are not correct; then do "make install".  Check file ownerships
  152.     and permissions to make sure installation worked correctly.  In general,
  153.     root must perform installation into a public directory.  Do "rehash" if
  154.     your shell requires it.
  155.  
  156.   - VMS:  install UnZip as foreign symbol by adding this to login.com:
  157.        $ unzip == "$disk:[dir]unzip.exe"
  158.        $ zipinfo == "$disk:[dir]unzip.exe -Z"
  159.     where "disk" and "dir" are location of UnZip executable; the "$" before
  160.     disk name is important.  Some people, including the author, prefer a
  161.     short alias such as "ii" instead of "zipinfo"; edit to taste.  See
  162.     vms/README for notes/warnings about zipfiles and UnZip under VMS.
  163.  
  164.   - OS/2, MS-DOS, NT, Atari, Amiga:  move or copy unzip.exe (or unzip.ttp, or
  165.     UnZip, or whatever) to a directory in your path; also possibly copy the
  166.     UnZip executable to zipinfo.exe (or ii.exe), or else create a batch or com-
  167.     mand file for zipinfo ("@unzip -Z %1 %2 %3 %4 %5 %6 %7 %8 %9" under MS-DOS).
  168.     The latter is only relevant if zipinfo mode is enabled, obviously...
  169.