UnZip, Utilities, Info-ZIP pack and unpack Zip archives

Building


The behaviour of the build procedure [.vms]make_unz.com can be
influenced in two ways. One ist to invoke it with parameters from the
DCL level. The other one involves setting the global symbol
local_unzip. 


Commandline parameters


make_unz.com accepts the following parameters in arbitrary order: 

DECC, GNUC, VAXC
 Normal behaviour of make_unz.com is to check the system for the
 availability of C compilers in the following order: DEC C (on Alpha the
 only supported compiler), GNU C, and VAX C. Using one of the parameters
 given above one can enforce the usage of a certain compiler. 
VMSCLI, CLI
 Doesn't do much. At the end of the build make_unz.com defines two
 symbols and gives advice how to define them in the future. If this
 parameter is set it will use the Unzip version with the VMS-like
 commandline interface for this. 
NOVMSCLI, NOCLI
 See above, but use the version with the Unix-like interface (This is
 the default). 



LOCAL_UNZIP

Define a global symbol LOCAL_UNZIP as a coma separated list of the
options given below. make_unz.com analyses the symbol and passes its
contents in a define statement to the C compiler. 

VMSCLI
 See VMSCLI above. 
WILD_STOP_AT_DIR
 Modifies the pattern matching routine so that both '?' (single-char
 wildcard) and '*' (multi-char wildcard) do not match the directory
 separator character '/'. Examples: 
   "*.c" matches "foo.c" but not "mydir/foo.c"
   "*/*.c" matches "bar/foo.c" but not "baz/bar/foo.c"
   "??*/*" matches "ab/foo" and "abc/foo" but not "a/foo" or "a/b/foo" 
 This modified behaviour is equivalent to the pattern matching style
 used by the shells of some of UnZip's supported target OSs (one example
 is Acorn RISC OS). 
VMSWILD
 Use parentheses rather than brackets to delimit sets (ranges), and use
 '%' instead of '?' as the single-character wildcard for internal
 filename matching. (External matching of zipfile names always uses the
 standard VMS wildcard facilities; character sets are disallowed.) 
CHECK_VERSIONS
 Check if the extra RMS-Fields stored for Files originating on OpenVMS
 systems match the RMS-version on the current system. Since RMS is
 pretty stable this is not enabled by default. 
RETURN_CODES
 Provide human readable translations of UnZips return codes 
NOTIMESTAMP
 This option disables the -T option, which basically does exactly what
 Zip's -go options do (i.e., set the timestamp of the zipfile to that of
 the newest file in the archive without rewriting the archive). Unlike
 Zip, however, UnZip supports wildcard specifications for the archive
 name; for example, "unzip -T *.zip" will set the dates of all zipfiles
 in the current directory. (UnZip's option is also much faster.) 
DATE_FORMAT=DF_DMY or DF_MDY or DF_YMD
 This option controls the order in which date components are printed in
 listings: day-month-year or month-day-year or year-month-day. 
DATE_SEPCHAR=' -' or '.' or '/' etc.
 This option controls the character that separates the date components
 shown in (non-ZipInfo-mode) listings. The Win32 port obtains the
 separator automatically from the operating system's locale settings;
 all others default to '-'. 
OS2_EAS
 List the sizes of OS/2 EAs and ACLs for each file as two extra columns
 in "unzip -l" output. This is primarily useful for OS/2 systems, but
 because zipfiles are portable, OS2_EAS can be defined for any system. 
DELETE_IF_FULL
 If a write error is encountered (most likely due to a full disk),
 enabling this option will cause the incomplete file to be deleted
 instead of closed normally. 
SFX_EXDIR
 Enable the "-d <extract_dir>" option for UnZipSFX. This is now enabled
 by default (since UnZip 5.5) to facilitate use with automated
 installation scripts and the like. For disabling this feature, use the
 NO_SFX_EXDIR option. 
CHEAP_SFX_AUTORUN
 Enable a simple "run command after extraction" feature for the (command
 line) UnZipSFX stub. This feature is currently incompatible with the
 "-d <extract_dir>" command line option, therefore CHEAP_SFX_AUTORUN
 implicitely sets the NO_SFX_EXDIR option. 
NO_ZIPINFO
 Compile without ZipInfo mode (-Z) enabled; makes a smaller executable
 because many text strings are left out 
USE_DEFLATE64 (default for UnZip and fUnZip)
 NO_DEFLATE64 (default for UnZipSFX stub)
 The "deflate64" algorithm from PKZIP 4.0 (or newer) is an enhanced
 variant of the deflate algorithm that achieves slightly better
 compression ratios on highly redundant data. Normally, UnZip should be
 compiled with support for this compression algorithm enabled. And for
 the SFX stub, "deflate64" support might be unnessessary as long as the
 Info-ZIP Zip utility does not support it (quite likely, this will never
 get implemented). So, the NO_DEFLATE64 option is provided to allow
 exclusion of the deflate64 support. . 
MULT_VOLUME (experimental for 5.5x, do NOT use in production versions!)
 The symbol MULT_VOLUME is used to flag code portions needed for support
 of multi-volume archives. For now, this flag MUST NOT be used to
 compile a production versions of UnZip. This flag has been introduced
 to allow integration of experimental code for multi-volume support in
 the master source tree. This feature will become a default option in
 the future 6.0 release of UnZip. 
LZW_CLEAN (now default) / USE_UNSHRINK
 The "shrinking" algorithm from PKZIP 1.0 is an LZW variant. Unisys
 patented the Lempel-Ziv-Welch algorithm in 1985 and has publicly
 claimed that decompression is covered by it. (IBM also patented the
 same thing in a filing 3 weeks prior to Unisys's.) Therefore
 unshrinking is disabled by default, but those with LZW licenses can
 enable it by defining USE_UNSHRINK. (Unshrinking was used by PKZIP 1.0
 and 1.1, and Zip 1.0 and 1.1. All newer archives use only the deflation
 method.) 
COPYRIGHT_CLEAN (now default) / USE_SMITH_CODE
 The last chunk of code in UnZip that was blatantly derived from Sam
 Smith's unzip 2.0 (as in, "substantially similar") is in unreduce.c.
 Since reducing was only used by very early PKZIP beta versions (0.9x),
 support for it is now omitted by default (COPYRIGHT_CLEAN). To include
 unreducing capability, define USE_SMITH_CODE. Note that this subjects
 UnZip to any and all restrictions in Smith's copyright; see the UnZip
 COPYING file for details. 
USE_CRYPT
 Enable decryption support for all binaries. The default setting is to
 disable decryption support for the SFX stub to keep its size as small
 as possible. For other binaries of the UnZip distribution, decryption
 support is enabled by default. 
NO_CRYPT
 Disable decryption support for all binaries. 
PASSWD_FROM_STDIN (with full crypt sources only)
 Used to allow the password on encrypted files to be read from stdin
 rather than the default stderr. This was useful for those who wished to
 automate the testing or decoding of encrypted archives (say, in a shell
 script via ``echo "password" | unzip -tq archive''), but as of version
 5.3, UnZip has a -P option for passing a password directly to the
 program. PASSWD_FROM_STDIN will therefore probably be phased out in
 future versions. Note that the same security warnings given in the
 description of the -P option apply here as well. 
DEBUG
 Used for debugging purposes; enables Trace() statements. Generally
 it's best to compile only one or two modules this way. 
DEBUG_TIME
 Used for debugging the timezone code in fileio.c; enables TTrace()
 statements. This code is only used for the freshen/update options (-f
 and -u), and non-Unix compilers often get it wrong. 

The latest version of the OpenVMS port of UnZip should always be 
accessible via 

http://zinser.no-ip.info/vms/sw/unzip.htmlx
