summaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL368
1 files changed, 368 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..be3e0c5
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,368 @@
+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 or later (under any
+ system) or PKUNZIP 2.04g or later (under MSDOS) to unpack the
+ distribution file, in this case zip30.zip. But since you read this,
+ you have unpacked it already, or you cheated and got a tar.Z file...
+
+ Note: Zip 3.0 distribution kits (unlike previously distributed
+ Zip 2.x kits) are created with a top-level directory ("zip30") in
+ the archive, making the creating of the zipsrc directory optional.
+
+Installation on Unix (see below for installation on other systems)
+
+ Let's assume that you start from scratch and have not yet unpacked
+ the sources. First step, then, is to unpack Zip. The following
+ assumes that you have zip30.zip in the current directory.
+
+ For example, to extract to a new zipsrc directory (assuming
+ zip30.zip is in the current directory):
+
+ mkdir zipsrc
+ cd zipsrc
+ cp ../zip30.zip .
+ unzip zip30.zip
+ cd zip30
+
+ To extract in an existing directory, such as /usr/local/src/zip:
+
+ cd /usr/local/src/zip
+ (copy zip30.zip here)
+ unzip zip30.zip
+ cd zip30
+
+ The first extracts all source files and documentation to the
+ directory "zipsrc/zip30". The second places the zip30 directory
+ in the "/usr/local/src/zip" directory. Both then cd in to the
+ zip30 directory where Zip will be built.
+
+ Note: This release now includes the standard encryption code
+ previously in the separate package zcrypt29.zip, but you still
+ can decide whether 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.
+
+ For Unix systems where "cc" is the preferred C compiler command,
+ try
+
+ make -f unix/Makefile generic
+
+ first. If "gcc" is preferred, specify "generic_gcc" instead of
+ "generic". This should work on most systems and automatically
+ selects compilation options based on a set of tests (in
+ unix/configure), including detection of large file support
+ sufficient to enable Zip64 large archive features. If "generic"
+ (or "generic_gcc" if that is used) fail, then one of the special
+ targets given above may work.
+
+ Among other special systems are Cray Unicos, Zilog Zeus and MINIX.
+
+ The optimization settings for many systems should be close, but
+ if you see optimization for your system is not ideal, send in
+ the changes so we can improve it.
+
+ By default, Zip uses the "deflate" compression method. To add
+ the additional optional "bzip2" compression method, see the file
+ bzip2/install.txt. Note that bzip2 support is provided by
+ compiling or linking in the bzip2 library. See the bzip2 site
+ (http://www.bzip.org/) for more on bzip2.
+
+ If you get error messages such as "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, then your system apparently has specific
+ requirements we did not account for. See the file README for how
+ to get help.
+
+ If the appropriate system was selected, then the executables zip,
+ zipnote, zipcloak, 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 pages. Change the macros
+ BINDIR and MANDIR in makefile to change these if needed.
+
+ If necessary, add the directory with the Zip executables to your
+ shell's PATH (or "path") variable. (C-shell users may need to
+ use the "rehash" command so csh can find the new command in the
+ path.) You should now be ready to use Zip.
+
+ You can get rid of the now unnecessary source and object files
+ with:
+
+ cd ..
+ rm -r zip30
+
+ This will remove the directory zip30 and its contents created
+ by unzip. You should keep the zip30.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-dependent 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,
+ -o, and similar 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):
+
+ The most complete information on building and installing Zip on VMS
+ is in [.vms]install_vms.txt. Optimists in a hurry may wish to try
+ commands like these:
+
+ @ [.VMS]BUILD_ZIP.COM
+ or:
+ MMS /DESCRIP = [.VMS]DESCRIP.MMS CLEAN ! Or MMK ...
+ MMS /DESCRIP = [.VMS]DESCRIP.MMS ! Or MMK ...
+
+ When the executables have been created (or located if already installed),
+ most users define foreign command symbols for the Zip executables, like
+ this:
+
+ ZIP :== $ dev:[dir]ZIP.EXE ! UNIX-like command line.
+ or:
+ ZIP :== $ dev:[dir]ZIP_CLI.EXE ! VMS-like command line.
+
+ Such symbol definitions are often added to a user's
+ SYS$LOGIN:LOGIN.COM procedure, or to a common, site-specific
+ procedure, like SYS$MANAGER:SYLOGIN.COM.
+
+ Additional installation options are described in install_vms.txt.
+
+ The builders create help text files, ZIP.HLP and ZIP_CLI.HLP. Also
+ see install_vms.txt for how to create the help libraries.
+
+
+Mac OS:
+
+ Mac OS X is part of the Unix port, so use the Unix installation above.
+
+ Mac OS before Mac OS X use the Mac OS port, though little testing has
+ been done for that port recently. See macos/README.TXT for more on
+ this port.
+
+
+Compiler Flags
+
+ Zip should compile fine out of the box for your port. In particular,
+ for Unix the command
+ make -f unix/Makefile generic
+ should automatically detect the features available on your system and
+ set the flags appropriately. In some cases, however, you may need to
+ set one or more compiler flags yourself to get Zip to compile or to
+ add features you want or remove features that cause trouble for your
+ port. Below are the more common compiler macros you can set.
+
+ LARGE_FILE_SUPPORT
+ Tell Zip that the OS supports large files (generally files larger
+ than 4 GB). Zip will try to compile in the large file calls
+ (typically 64-bit) for the OS instead of using the standard
+ (typically 32-bit) file calls. On Unix Zip tries to switch over to
+ the 64-bit file environment. If setting this flag causes errors
+ or Zip still can't handle large files on that port, then probably
+ either Zip doesn't have the code to support large files on your OS
+ (write a patch and send it in to us) or your OS doesn't support large
+ files.
+
+ Note that the flag ZIP64_SUPPORT must also be set to create archives
+ with large files.
+
+ This flag should be set automatically on Unix, Win32, and some
+ other ports. Setting NO_LARGE_FILE_SUPPORT turns this flag off.
+
+ ZIP64_SUPPORT
+ Enable the Zip64 code in Zip that supports the Zip64 extensions noted
+ in the PKWare AppNote. These extensions allow storing files larger
+ than 4 GB in archives and the creating of archives larger than 4 GB.
+ They also allow storing more than 64K files in an archive. Currently
+ Zip does not handle archives of PKZip version 4.5 or later unless
+ this flag is set.
+
+ To enable large file support in Zip, you generally need to set both
+ LARGE_FILE_SUPPORT (to read and write large files) and ZIP64_SUPPORT
+ (to store them in and read them from archives). Files larger than
+ 4 GB may be invisible to Zip (directory scans don't see them) if
+ LARGE_FILE_SUPPORT is not enabled.
+
+ Keeping LARGE_FILE_SUPPORT and ZIP64_SUPPORT separate allows easier
+ debugging of these features. When testing large file support on an
+ OS, first set just LARGE_FILE_SUPPORT to test the file calls (all
+ should compile and work as before with small files), then turn on
+ ZIP64_SUPPORT to let Zip recognize and handle large files.
+
+ This flag should be set automatically on most ports if
+ LARGE_FILE_SUPPORT is set. Setting NO_ZIP64_SUPPORT turns this flag
+ off.
+
+ UNICODE_SUPPORT
+ Enable storing and using UTF-8 paths. These paths are stored in
+ a backward-compatible way so that archives with UTF-8 paths still
+ work on zips and unzips that don't support Unicode. This support
+ follows the recent additions to the PKWare AppNote for Unicode
+ support, except that Unicode comments on systems where UTF-8 is
+ not the current character set is not implemented in this release.
+
+ On some ports UNICODE_SUPPORT is set automatically if wide characters
+ are supported. Setting NO_UNICODE_SUPPORT turns off this flag.
+
+ USE_EF_UT_TIME
+ Enables storing UT time in an extra field. This becomes useful
+ for ports that normally store file times as local time, resulting
+ in problems when files are moved across time zones and when
+ there are daylight savings time changes. Zip and UnZip will
+ automatically correct for time zone changes when UT time is stored.
+
+ This is usually set by default. Use NO_EF_UT_TIME to turn this off.
+
+ NTSD_EAS (Win32 only)
+ Enable storing Windows NT file security descriptors. This allows
+ restoring the descriptors (file ACL's, etc.).
+
+ This is on by default for Win32. Use NO_NTSD_EAS to turn this off.
+
+ BZIP2_SUPPORT
+ Enable compressing zip entries using the bzip2 library. You must get
+ the bzip2 library from somewhere else as we only provide a way to
+ compile or link the library in and compress files using bzip2. Enables
+ a new compression method, bzip2, that can be used instead of the default
+ Zip compression method deflate.
+
+ This flag is set on Unix, including Mac OS X, when compiling using
+ generic if the bzip2 library is found. Set on Win32 if the bzip2
+ projects are used. See the VMS documentation for when VMS sets this
+ flag. Setting NO_BZIP2_SUPPORT turns this off.
+
+ See bzip2/install.txt for more on installing bzip2 support.
+
+ WIN32_OEM (Win32 only)
+ Enable saving paths on Win32 in the OEM character set. Zip has stored
+ paths using the standard ANSI local character set, but other zips have
+ used the OEM character set on MSDOS and Win32. This flag should make
+ Zip more compatible with other DOS and Win32 zips and unzips. It also
+ enables the translation of OEM paths in DOS archives to ANSI and should
+ eliminate some problems with funny characters showing up in path names.
+
+ If Unicode is enabled and used, Unicode paths generally override
+ local paths using OEM character sets.
+
+ This flag is on by default on most Win32 ports. Some ports apparently
+ have problems with OEM conversions. If your port or compiler does
+ funny things with file names, you may want to turn this off. Defining
+ NO_WIN32_OEM turns this flag off.
+
+ NO_STREAMING_STORE
+ Because storing zip archives inside a zip entry adds "false" signatures
+ and this causes problems when using data descriptors if the archive
+ needs fixing, this option is provided to force deflating when streaming.
+ This version of Zip includes an advanced algorithm for correctly finding
+ these signatures, but if an archive is "broke", there is no telling
+ what's where. This is only a problem if an archive becomes broke for
+ some reason, but to be safe define this.
+
+ ALLOW_REGEX
+ For MSDOS and Windows, now "[list]" wildcard matching (where any
+ character between [ and ] can be used to match the character at that
+ position) is turned off unless the new -RE option is used. Defining
+ this flag forces "[list]" matching to be always on as in previous
+ releases.
+
+
+For command help on any of the zip* utilities, simply enter
+the name with no arguments.