mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
151 lines
6.9 KiB
Plaintext
151 lines
6.9 KiB
Plaintext
-*- text -*-
|
|
GNU Wget Installation Procedure
|
|
===============================
|
|
|
|
0. Preparation
|
|
--------------
|
|
|
|
To build GNU Wget from source code and install it on your system, you
|
|
need to unpack the archive (which you have presumably done, since you
|
|
are reading this) and read on. Like most GNU utilities, Wget uses the
|
|
GNU Autoconf mechanism for build and installation; users familiar with
|
|
compiling GNU software should feel at home. Please note that
|
|
instructions in this file do not concern to installation on Windows,
|
|
for which see windows/README.
|
|
|
|
The system requirements include: a Unix-like system with the utilities
|
|
typically shipped with Unix (sh, grep, awk, sed, etc.) and a C
|
|
compilation environment, including the compiler, system headers,
|
|
`make', and so on.
|
|
|
|
External dependencies (all optional):
|
|
- OpenSSL, for "https" URLs.
|
|
- GNU gettext, for translated messages.
|
|
|
|
1. Configuration
|
|
----------------
|
|
|
|
Before compiling Wget, you need to "configure" it using the provided
|
|
`configure' script. Configuration serves two purposes: it enables the
|
|
compilation system to inspect certain features of your operating
|
|
system for more robust compilation, and it enables you to choose which
|
|
features you want the resulting Wget to have.
|
|
|
|
The simplest way to configure Wget is by running the configure script
|
|
provided with the distribution without additional arguments. After
|
|
running some programming-related tests, it will create the Makefiles
|
|
needed to compile Wget. If you have experience with Autoconf-based
|
|
build systems, you may use the standard arguments such configure
|
|
scripts take, the most important ones being:
|
|
|
|
--help display a help message and exit
|
|
|
|
--prefix=PREFIX install architecture-independent files in PREFIX
|
|
(/usr/local by default)
|
|
--bindir=DIR user executables in DIR (PREFIX/bin)
|
|
--infodir=DIR info documentation in DIR [PREFIX/info]
|
|
--mandir=DIR man documentation in DIR [PREFIX/man]
|
|
|
|
For example, if you are not root and want to install Wget in your home
|
|
directory, you can use:
|
|
|
|
./configure --prefix=$HOME
|
|
|
|
Options beginning with "--disable", such as `--disable-opie' or
|
|
`--disable-ntlm', allow you to turn off certain built-in functionality
|
|
you don't need in order to reduce the size of the executable. Options
|
|
beginning with "--with" turning off autodetection and use of external
|
|
software Wget can link with, such as the SSL libraries. Recognized
|
|
"--enable" and "--with" options include:
|
|
|
|
--without-ssl disable SSL autodetection (used for https support)
|
|
--with-libssl-prefix=DIR search for libssl in DIR/lib
|
|
--disable-opie disable support for opie or s/key FTP login
|
|
--disable-digest disable support for HTTP digest authorization
|
|
--disable-ntlm disable support for HTTP NTLM authorization
|
|
--disable-debug disable support for debugging output
|
|
--disable-nls do not use Native Language Support
|
|
--disable-largefile omit support for large files
|
|
--disable-ipv6 disable IPv6 support
|
|
--disable-rpath do not hardcode runtime library paths
|
|
|
|
You can inspect the decisions made by configure by editing the
|
|
generated Makefiles and the `src/config.h' include file. The defaults
|
|
should work without intervention, but if you know what you are doing,
|
|
editing the generated files before compilation is fine -- they will
|
|
not be regenerated until you run configure again.
|
|
|
|
configure will try to find a compiler in your PATH, defaulting to
|
|
`gcc', but falling back to `cc' if the former is unavailable. This is
|
|
a reasonable default on most Unix-like systems, but sometimes you
|
|
might want to override it. The compiler choice is overridden by
|
|
setting the `CC' environment variable to the desired compiler file
|
|
name. For example, to force compilation with the Unix `cc' compiler,
|
|
invoke configure like this:
|
|
|
|
./configure CC=cc
|
|
|
|
This assumes that `cc' is in your path -- if it is not, simply use
|
|
CC=/path/to/cc instead. Note that environment variables that affect
|
|
configure can be set with the usual shell syntax `VAR=value
|
|
./configure' (assuming sh syntax), but can also be specified as
|
|
arguments to configure, as shown above. The latter method, while
|
|
being specific to configure, works unmodified in all shells.
|
|
|
|
Environment variables that affect `configure' include: CFLAGS for C
|
|
compiler flags, CPPFLAGS for C preprocessor flags, LDFLAGS for linker
|
|
flags, and LIBS for libraries.
|
|
|
|
Barring the use of --without-* flags, configure will try to autodetect
|
|
external libraries needed by Wget, currently only the OpenSSL
|
|
libraries. If they are installed in the system library directories or
|
|
in the same prefix where you plan to install Wget, configure should be
|
|
able to autodetect them. If they are installed elsewhere, use the
|
|
`--with-libNAME' option to specify the root directory under which
|
|
libraries reside in the `lib/' subdirectory and the corresponding
|
|
header files reside in the `include/' subdirectory. For example, if
|
|
the OpenSSL libraries are installed under the /usr/local/ssl prefix,
|
|
use `--with-libssl=/usr/local/ssl'.
|
|
|
|
Sometimes external libraries will be installed on the system, but the
|
|
header files will be missing. This often happens on Linux if you
|
|
forget to install the "-devel" or "-dev" package that corresponds to
|
|
the library and that is typically *not* installed by default. In that
|
|
case configure will not find the library and you will not be able to
|
|
use the features provided by the library until you install the devel
|
|
package and rerun configure. If you believe you have the necessary
|
|
headers, but configure still fails to detect the library, please
|
|
report it as a bug.
|
|
|
|
2. Compilation
|
|
--------------
|
|
|
|
To compile GNU Wget after it has been configured, simply type make.
|
|
Wget requires a compiler and standard library compliant with the 1990
|
|
ISO C standard, which includes the vast majority of compilation
|
|
environments present on systems in use today.
|
|
|
|
After the compilation a ready-to-use `wget' executable should reside
|
|
in the src directory. At this point there is no formal test suite for
|
|
testing the binary, but it should be easy enough to test whether the
|
|
basic functionality works.
|
|
|
|
3. Installation
|
|
---------------
|
|
|
|
Use `make install' to install GNU Wget to directories specified to
|
|
configure. To install it in a system directory (which is the
|
|
default), you will need to be root. The standard prefix is
|
|
"/usr/local/", which can be changed using the `--prefix' configure
|
|
option.
|
|
|
|
The installation process will copy the wget binary to $PREFIX/bin,
|
|
install the wget.info* info pages to $PREFIX/info, the generated
|
|
manual page (where available) wget.1 to $PREFIX/man/man1, and the
|
|
default config file to $PREFIX/etc, unless a config file already
|
|
exists there. You can customize these directories either through the
|
|
configuration process or making the necessary changes in the Makefile.
|
|
|
|
To delete the files created by Wget installation, you can use `make
|
|
uninstall'.
|