summaryrefslogtreecommitdiff
path: root/Build/source/utils/gzip/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/gzip/INSTALL')
-rw-r--r--Build/source/utils/gzip/INSTALL273
1 files changed, 273 insertions, 0 deletions
diff --git a/Build/source/utils/gzip/INSTALL b/Build/source/utils/gzip/INSTALL
new file mode 100644
index 00000000000..b20116541d5
--- /dev/null
+++ b/Build/source/utils/gzip/INSTALL
@@ -0,0 +1,273 @@
+This is a generic INSTALL file for utilities distributions.
+Some features specific to gzip have been added.
+
+To compile this package:
+
+1. Configure the package for your system. In the directory that this
+file is in, type `./configure'. If you're using `csh' on an old
+version of System V, you might need to type `sh configure' instead to
+prevent `csh' from trying to execute `configure' itself. If you
+are using Ultrix, you might need to type `sh5 configure' to avoid
+bugs in /bin/sh. Note that 'sh -x configure' may give different results
+than 'sh configure', making it difficult to debug configure scripts.
+
+The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation, and
+creates the Makefile(s) (one in each subdirectory of the source
+directory). In some packages it creates a C header file containing
+system-dependent definitions. It also creates a file `config.status'
+that you can run in the future to recreate the current configuration.
+
+Running `configure' takes a minute or two. While it is running, it
+prints some messages that tell what it is doing. If you don't want to
+see the messages, run `configure' with its standard output redirected
+to `/dev/null'; for example, `./configure >/dev/null'.
+
+To compile the package in a different directory from the one
+containing the source code, you must use a version of `make' that
+supports the VPATH variable, such as GNU `make'. `cd' to the directory
+where you want the object files and executables to go and run
+`configure'. `configure' automatically checks for the source code in
+the directory that `configure' is in and in `..'. If for some reason
+`configure' is not in the source code directory that you are
+configuring, then it will report that it can't find the source code.
+In that case, run `configure' with the option `--srcdir=DIR', where
+DIR is the directory that contains the source code.
+
+By default, `make install' will install the package's files in
+/usr/local/bin, /usr/local/lib, /usr/local/man, etc. You can specify an
+installation prefix other than /usr/local by giving `configure' the option
+`--prefix=PATH'. Alternately, you can do so by consistently giving a value
+for the `prefix' variable when you run `make', e.g.,
+ make prefix=/usr/gnu
+ make prefix=/usr/gnu install
+
+You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If
+you give `configure' the option `--exec-prefix=PATH' or set the
+`make' variable `exec_prefix' to PATH, the package will use PATH as
+the prefix for installing programs and libraries. Data files and
+documentation will still use the regular prefix. Normally, all files
+are installed using the regular prefix.
+
+Another `configure' option is useful mainly in `Makefile' rules for
+updating `config.status' and `Makefile'. The `--no-create' option
+figures out the configuration for your system and records it in
+`config.status', without actually configuring the package (creating
+`Makefile's and perhaps a configuration header file). Later, you can
+run `./config.status' to actually configure the package. You can also
+give `config.status' the `--recheck' option, which makes it re-run
+`configure' with the same arguments you used before. This option is
+useful if you change `configure'.
+
+`configure' ignores any other arguments that you give it.
+
+If your system requires unusual options for compilation or linking
+that `configure' doesn't know about, you can give `configure' initial
+values for some variables by setting them in the environment. In
+Bourne-compatible shells, you can do that on the command line like
+this:
+ CC='gcc -traditional' DEFS=-D_POSIX_SOURCE ./configure
+
+For csh compatible shells, you can do something like this:
+
+ (setenv CC 'gcc -traditional' ; ./configure)
+
+The `make' variables that you might want to override with environment
+variables when running `configure' are:
+
+(For these variables, any value given in the environment overrides the
+value that `configure' would choose:)
+CC C compiler program.
+ Default is `cc', or `gcc' if `gcc' is in your PATH.
+INSTALL Program to use to install files.
+ Default is `install' if you have it, `cp' otherwise.
+ If you have an non-standard `install', use INSTALL="cp -p"
+
+(For these variables, any value given in the environment is added to
+the value that `configure' chooses:)
+DEFS Configuration options, in the form `-Dfoo -Dbar ...'
+CFLAGS Compiler options, such as `-O -g ...'
+LIBS Libraries to link with, in the form `-lfoo -lbar ...'
+
+If you need to do unusual things to compile the package, we encourage
+you to figure out how `configure' could check whether to do them, and
+mail diffs or instructions to the address given in the README so we
+can include them in the next release.
+
+2. Type `make' to compile the package. If you want, you can override
+the `make' variables CFLAGS and LDFLAGS like this:
+
+ make CFLAGS=-O2 LDFLAGS=-s
+
+3. The package comes with self-tests. If you want to run them,
+type `make check'.
+
+4. Type `make install' to install programs, data files, and
+documentation. This creates links between gzip, gunzip and zcat.
+You can create additional links uncompress, ungzip and gzcat if
+you prefer these names. You can also create links to unpack and pcat
+if your system uses packed files by default and you want to transform
+them transparently to gzip'ed files.
+
+If you wish to use only the name gzcat and not overwrite an existing zcat, use:
+
+ make ZCAT=gzcat install
+
+The man pages are installed by default with an extension `.1' (one).
+If you want the extension `.l' (lower case L) use:
+
+ make manext=l install
+
+If you are using csh or tcsh, you must type `rehash' after `make install'
+to make sure that the command `gzip' will invoke the new executable.
+
+5. You can remove the program binaries and object files from the
+source directory by typing `make clean'. To also remove the
+Makefile(s), the header file containing system-dependent definitions
+(if the package uses one), and `config.status' (all the files that
+`configure' created), type `make distclean'.
+
+The file `configure.in' is used as a template to create `configure' by
+a program called `autoconf'. You will only need it if you want to
+regenerate `configure' using a newer version of `autoconf'.
+
+6. You can add the following lines to your /etc/magic file so that
+file(1), if your system supports it, will recognize files created by
+gzip:
+
+0 string \037\213 gzip compressed data
+>2 byte 8 - deflate method
+>3 byte &0x1 , ascii
+>3 byte &0x2 , continuation
+>3 byte &0x4 , extra field
+>3 byte &0x8 , original file name
+>3 byte &0x10 , comment
+>3 byte &0x20 , encrypted
+>8 byte 2 , max compression
+>8 byte 4 , max speed
+
+If your version of 'file' does not accept octal numbers in strings, replace the
+first line with one of these:
+
+0 short 0x8b1f gzip compressed data
+0 short 0105437 gzip compressed data
+
+0 short 0x1f8b gzip compressed data
+0 short 017613 gzip compressed data
+
+Use the first or second form if your machine is a 386 or a Vax or a
+MIPS configured in little-endian mode or any other little-endian
+machine. Use the third or fourth form on big-endian machines.
+On some systems, the field separators must contain only tabs (no spaces).
+
+7. To rename .z files with the new .gz suffix, you can use or adapt
+ the following shell script:
+
+#!/bin/sh
+find . -name '*.z' -type f -print | while read i
+do
+ new=`echo "$i" | sed 's/\.z$/.gz/'`
+ mv "$i" "$new" || echo Failed renaming $i to $new
+done
+
+If you wish to keep the old .z suffix as default without setting the
+GZIP environment variable to "--suffix .z", you can compile gzip with:
+
+ make CFLAGS='-DZ_SUFFIX=\".z\"'
+
+
+8. Special targets
+
+- For MSDOS, OS/2, VMS, Atari, Amiga, Primos, use the makefile or command
+ file provided in the appropriate subdirectory. For Turbo C++ 1.0, read
+ the warning at the top of Makefile.bor.
+
+- On some systems memcpy() may not work as expected. (Problem found on
+ Pyramid only so far.) If you get "crc error" on some .gz files, add
+ -DNOMEMCPY to CFLAGS and recompile inflate.o. For example:
+ rm -f inflate.o
+ make CFLAGS="-O2 -DNOMEMCPY"
+
+ The memcpy problem affects only gunzip, not gzip. You can safely define
+ -DNOMEMCPY on all systems, but this may degrade performance of gunzip.
+
+- If your system is a pure BSD system but incorrectly links string.h to
+ strings.h, you may get undefined mem* and str* symbols. Try recompiling with
+
+ make clean
+ make CFLAGS="-DNO_STRING_H"
+
+- On some systems (reported on Dec Ultrix), "cc -E" and /lib/cpp behave
+ differently. If you have trouble with the default configuration, try:
+
+ CPP=/lib/cpp ./configure
+ make clean
+ make
+
+- On Ultrix, /bin/sh is too buggy. Use "sh5 configure" instead of "configure".
+
+- On Mips Dec Ultrix, gunzip behaves non-deterministically with regard
+ to some .gz files. The same command either succeeds or gives a CRC error.
+ This problem is still being investigated. The files produced by gzip
+ are correct (can reliably be extracted on other systems).
+
+- On Xenix, some preprocessors do not define M_XENIX. You may have to do:
+
+ DEFS='-DM_XENIX' ./configure
+
+- On Xenix 2.3.2 for 286, do: make xenix_286
+
+- On Coherent, do: make coherent
+
+- On NeXTstep 3.1, many people (but not all) have had trouble with
+ configure. Try first
+
+ (setenv DEFS -DNO_UTIME_H; ./configure)
+ make test
+
+ If this fails, then try "make next". configure should work correctly
+ on NeXTstep versions up to 3.0.
+
+ To build a gzip package that can run on either the m68k or i386 family,
+ use configure then "make next-fat".
+
+ On some versions of NeXT, either "cc -finline-functions" or "cc -O4"
+ is broken. gzip produces valid .gz files but they are much too large
+ because the string matching code misses most matches. Use "cc -O" instead.
+
+- There is an optimization bug in the IRIX 4.0.5 IDO 4.1 assembler which is
+ triggered by GCC -O. IDO 4.1.1 should fix this. If you have to use IDO 4.1
+ then you can avoid the bug in one of the following ways:
+
+ 1. Use SGI CC
+ 2. Add the -noasmopt flag to GCC
+ 3. Reconfigure GCC with the "mips-sgi-irix4loser" target which effectively
+ does the same as specifying "-noasmopt" all by default.
+ 4. Don't use -O at all with GCC.
+
+- On Solaris 2.1 for x86, the January 1993 "OEM" compiler release
+ generates bad code. This is fixed in the June 1993 "FCS" release.
+
+- on Sparc with SunOS 4.1.1 and the SC1.0 compiler, the optimizer
+ works up to -O3 but -O4 does not work.
+
+- MSC 5.1 with -Ox and -DDYN_ALLOC generates bad code in inflate.c.
+ The default is static allocation (no DYN_ALLOC) and -Ox works on inflate.c.
+ But -Ox does not work on util.c and unlzh.c, so you must use -Oait -Gs.
+
+- The exit() function in Turbo C++ 1.0 seems to be broken. gzip crashes
+ even if exit(0) is the first statement in main(). The problem is avoided
+ by adding -Dexit=_exit to CFLAGS in Makefile.bor.
+
+- On dnix 5.3 2.2 cc version 2.37c is buggy. Version 2.38d works.
+
+- On an Alliant running Concentrix, cc (even without optimization) generates
+ incorrect code. You have to use gcc.
+
+- On Cray running CSOS 1.0 with compiler version dev-125, you must compile
+ with the flag "-hnoopt" to avoid an optimizer bug.
+
+- On HPUX, configure can't find a correct install. Use:
+
+ INSTALL=/usr/local/bin/bsdinst ./configure