0. Introduction
---------------
-This document describes how to build Wget from source-code on
+This document describes how to build Wget from source code on
Unix-like systems. If you want to install a precompiled Wget, this
document is not for you -- refer to the documentation provided by the
distributors instead. If you already have Wget and want to learn how
The preferred form of building Wget is to get a release archive and
unpack it (which you have presumably done, since you are reading
-this). If you have obtained the source code via the Subversion
+this). If you have obtained the source code via the Mercurial
repository, please follow the instructions in `README.checkout' before
-continuing.
+continuing, as the sources from the Mercurial repository do not include
+some files that are present in official distributions; these additional
+files must be generated first.
1. Dependencies
---------------
- OpenSSL -- for "https" URLs.
- GNU gettext -- for translated messages.
+ - GNU libidn -- for IDN/IRI support.
+ - GNU libiconv -- for IDN/IRI support (not needed on GNU).
To be usable for building Wget, the listed libraries must be installed
with their "development" header files. On GNU/Linux systems this
--disable-largefile omit support for large files
--disable-ipv6 disable IPv6 support
--disable-rpath do not hardcode runtime library paths
+ --disable-iri disable IDN/IRIs support
+
+For the full list, see the output of `./configure --help'.
You can inspect decisions made by configure by editing the generated
Makefiles and the `src/config.h' include file. The defaults should
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.
+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, and in addition allows
+configure to detect when that setting has been changed across
+invocations.
Environment variables that affect `configure' include: CFLAGS for C
compiler flags, CPPFLAGS for C preprocessor flags, LDFLAGS for linker
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
+header files will be missing. This often happens on GNU/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