2009-09-22 02:38:19 +08:00
|
|
|
|
Compiling From Repository Sources
|
|
|
|
|
|
|
|
|
|
To reduce bandwidth and needless updates, the source code repository
|
|
|
|
|
does not contain automatically-generated files, even when these are
|
|
|
|
|
normally present in the distribution tarballs. Therefore, to build GNU
|
|
|
|
|
Wget from the sources in the repository, you'll need to have one or
|
2014-05-31 00:40:12 +08:00
|
|
|
|
more of the following (note that gettext, OpenSSL, libidn, libiconv
|
|
|
|
|
and libpsl are not absolutely required):
|
2009-09-22 02:38:19 +08:00
|
|
|
|
|
|
|
|
|
* [20]autoconf (currently, GNU Wget requires version 2.61). This is
|
|
|
|
|
needed to generate the configure script from configure.in. This is
|
|
|
|
|
not required when building from a tarball distribution; only when
|
|
|
|
|
building from repository sources.
|
|
|
|
|
|
|
|
|
|
* [21]automake (currently, GNU Wget requires version 1.10.1). This is
|
|
|
|
|
needed for generating the Makefile.in templates that the configure
|
|
|
|
|
script uses to generate the Makefiles. As with autoconf, it is not
|
|
|
|
|
required when building from a tarball distribution; only when
|
|
|
|
|
building from repository sources.
|
|
|
|
|
|
|
|
|
|
* [22]flex is needed to generate the CSS-parsing code.
|
|
|
|
|
|
|
|
|
|
* [23]Perl, if you wish to generate the wget(1) manpage, or run the
|
|
|
|
|
tests in the tests/ sub directory. Tarball distributions include an
|
|
|
|
|
already-generated wget.1 manual. The command "make check" runs the
|
|
|
|
|
test suite written in perl. To execute all the tests you need
|
|
|
|
|
[24]libwww-perl perl library. If "perl -MCPAN -e 'install
|
|
|
|
|
Bundle::LWP'" fails then you most likely don't have cpan module
|
|
|
|
|
installed. First download [25]CPAN and [26]install it. Then execute
|
|
|
|
|
"perl -MCPAN -e 'install Bundle::LWP'". Now "make check" should
|
|
|
|
|
pass most of the tests in the test suite.
|
|
|
|
|
|
|
|
|
|
* [27]texinfo in order to generate Info, PostScript and/or HTML
|
|
|
|
|
documentation. You don't need texinfo in order to generate the
|
|
|
|
|
wget(1) manpage; however, note that the manpage does not include
|
|
|
|
|
the full documentation. Tarball distributions include the
|
|
|
|
|
already-generated documentation in these formats.
|
|
|
|
|
|
|
|
|
|
* [28]gettext, if you wish to compile with NLS (Native Language
|
|
|
|
|
Support), which is enabled by default. If you do not have gettext,
|
|
|
|
|
you can compile without it by specifying --disable-nls to the
|
|
|
|
|
./configure script. This is true regardless of where you obtained
|
|
|
|
|
the source you're building. NOTE: if you get errors about
|
|
|
|
|
AM_GNU_GETTEXT and/or AM_INTL_SUBDIR, you probably have a buggy
|
|
|
|
|
version of GNU m4. Upgrade to the latest version. You may also need
|
|
|
|
|
to export M4=<new m4 path>, to be sure that autoconf/automake use
|
|
|
|
|
it instead of the old one.
|
|
|
|
|
|
|
|
|
|
* [29]OpenSSL to handle encrypted web sessions. You almost certainly
|
|
|
|
|
want this. It is not enough to have the library installed; you need
|
|
|
|
|
to have the header files available to compile against as well. For
|
|
|
|
|
GNU/Linux systems, this usually means installing a "developer"
|
|
|
|
|
package for openssl (for example, [30]Debian systems require
|
|
|
|
|
installation of the libssl-dev package). Alternatively, you can
|
|
|
|
|
compile GNU Wget against the [31]GNUTLS library instead, by
|
|
|
|
|
specifying --with-ssl=gnutls to the ./configure script; however,
|
|
|
|
|
building against GNUTLS is currently experimental, and not
|
|
|
|
|
officially supported. If you have OpenSSL and its development
|
|
|
|
|
headers installed, but don't want to build Wget with it, specify
|
|
|
|
|
--without-ssl to the ./configure script.
|
|
|
|
|
|
|
|
|
|
* [32]libidn is required for IDN/IRI support (non-ASCII characters
|
|
|
|
|
within what would otherwise be URLs).
|
|
|
|
|
|
|
|
|
|
* [33]libiconv is required on non-GNU systems, for IDN/IRI support.
|
|
|
|
|
On GNU systems, the functionality provided by libiconv is already
|
|
|
|
|
present in the system libraries.
|
|
|
|
|
|
2010-07-12 20:03:18 +08:00
|
|
|
|
* [34]git is used to fetch gnulib files trough the bootstrap.sh script.
|
|
|
|
|
|
2014-05-31 00:40:12 +08:00
|
|
|
|
* [35]libpsl is required for using a public suffix list to check for valid
|
|
|
|
|
cookie domains.
|
|
|
|
|
|
2009-09-22 02:38:19 +08:00
|
|
|
|
For those who might be confused as to what to do once they check out
|
|
|
|
|
the source code, considering configure and Makefile do not yet exist at
|
2010-07-12 20:03:18 +08:00
|
|
|
|
that point, a shell script called bootstrap.sh has been provided. After
|
|
|
|
|
calling ./bootstrap.sh you're ready to build GNU Wget in the normal
|
2009-09-22 02:38:19 +08:00
|
|
|
|
fashion, with ./configure and make.
|
|
|
|
|
|
|
|
|
|
So, to sum up, after checking out the source code as described above,
|
|
|
|
|
you may proceed as follows:
|
|
|
|
|
1. Change to the topmost GNU Wget directory:
|
|
|
|
|
$ cd wget # assumes you've cloned a repository to "./wget"
|
|
|
|
|
2. Generate all the automatically-generated files required prior to
|
|
|
|
|
configuring the package:
|
2010-07-12 20:03:18 +08:00
|
|
|
|
$ ./bootstrap.sh
|
2009-09-22 02:38:19 +08:00
|
|
|
|
3. Configure the package and compile it:
|
|
|
|
|
$ ./configure [some_parameters]
|
|
|
|
|
$ make
|
|
|
|
|
4. Hack, compile, test, hack, compile, test...
|
|
|
|
|
$ src/wget --version
|
|
|
|
|
GNU Wget 1.12-devel (9cb2563197bc)
|
|
|
|
|
|
2010-07-12 20:03:18 +08:00
|
|
|
|
Copyright <20> 2008,2010 Free Software Foundation, Inc.
|
2009-09-22 02:38:19 +08:00
|
|
|
|
License GPLv3+: GNU GPL version 3 or later
|
|
|
|
|
<http://www.gnu.org/licenses/gpl.html>.
|
|
|
|
|
This is free software: you are free to change and redistribute it.
|
|
|
|
|
There is NO WARRANTY, to the extent permitted by law.
|
|
|
|
|
|
|
|
|
|
Originally written by Hrvoje Niksic <hniksic@xemacs.org>.
|
|
|
|
|
|
2014-05-31 00:40:12 +08:00
|
|
|
|
* [36]Edit
|
|
|
|
|
* [37]Comments
|
|
|
|
|
* [38]Info
|
|
|
|
|
* [39]Attachments
|
2009-09-22 02:38:19 +08:00
|
|
|
|
* More Actions:
|
|
|
|
|
[Raw Text................] Do
|
|
|
|
|
|
2014-05-31 00:40:12 +08:00
|
|
|
|
* [40]MoinMoin Powered
|
|
|
|
|
* [41]Python Powered
|
|
|
|
|
* [42]GPL licensed
|
|
|
|
|
* [43]Valid HTML 4.01
|
2009-09-22 02:38:19 +08:00
|
|
|
|
__________________________________________________________________
|
|
|
|
|
|
|
|
|
|
All content <20> 2007 Free Software Foundation. For terms of use,
|
2014-05-31 00:40:12 +08:00
|
|
|
|
redistribution, and modification, please see the [44]WikiLicense page.
|
2009-09-22 02:38:19 +08:00
|
|
|
|
|
|
|
|
|
References
|
|
|
|
|
|
|
|
|
|
20. http://www.gnu.org/software/autoconf/
|
|
|
|
|
21. http://www.gnu.org/software/automake/
|
|
|
|
|
22. http://flex.sourceforge.net/
|
|
|
|
|
23. http://www.perl.org/
|
|
|
|
|
24. http://search.cpan.org/dist/libwww-perl/lib/Bundle/LWP.pm
|
|
|
|
|
25. http://search.cpan.org/CPAN/authors/id/A/AN/ANDK/CPAN-1.9402.tar.gz
|
|
|
|
|
26. http://apthorpe.cynistar.net/code/configuring_cpan.html
|
|
|
|
|
27. http://www.gnu.org/software/texinfo/
|
|
|
|
|
28. http://www.gnu.org/software/gettext/
|
|
|
|
|
29. http://www.openssl.org/
|
|
|
|
|
30. http://www.debian.org/
|
|
|
|
|
31. http://www.gnu.org/software/gnutls/
|
|
|
|
|
32. http://www.gnu.org/software/libidn/
|
|
|
|
|
33. http://www.gnu.org/software/libiconv/
|
2010-07-12 20:03:18 +08:00
|
|
|
|
34. http://git-scm.com/
|
2014-05-31 00:40:12 +08:00
|
|
|
|
35. https://github.com/rockdaboot/libpsl
|
|
|
|
|
36. http://wget.addictivecode.org/CompilingRepoSources?action=edit&editor=text
|
|
|
|
|
37. http://wget.addictivecode.org/CompilingRepoSources
|
|
|
|
|
38. http://wget.addictivecode.org/CompilingRepoSources?action=info
|
|
|
|
|
39. http://wget.addictivecode.org/CompilingRepoSources?action=AttachFile
|
|
|
|
|
40. http://moinmo.in/
|
|
|
|
|
41. http://moinmo.in/Python
|
|
|
|
|
42. http://moinmo.in/GPL
|
|
|
|
|
43. http://validator.w3.org/check?uri=referer
|
|
|
|
|
44. http://wget.addictivecode.org/WikiLicense
|