Fix build when libpsl is not available
[wget] / README.checkout
1 Compiling From Repository Sources
2
3    To reduce bandwidth and needless updates, the source code repository
4    does not contain automatically-generated files, even when these are
5    normally present in the distribution tarballs. Therefore, to build GNU
6    Wget from the sources in the repository, you'll need to have one or
7    more of the following (note that gettext, OpenSSL, libidn, libiconv
8    and libpsl are not absolutely required):
9
10      * [20]autoconf (currently, GNU Wget requires version 2.61). This is
11        needed to generate the configure script from configure.in. This is
12        not required when building from a tarball distribution; only when
13        building from repository sources.
14
15      * [21]automake (currently, GNU Wget requires version 1.10.1). This is
16        needed for generating the Makefile.in templates that the configure
17        script uses to generate the Makefiles. As with autoconf, it is not
18        required when building from a tarball distribution; only when
19        building from repository sources.
20
21      * [22]flex is needed to generate the CSS-parsing code.
22
23      * [23]Perl, if you wish to generate the wget(1) manpage, or run the
24        tests in the tests/ sub directory. Tarball distributions include an
25        already-generated wget.1 manual. The command "make check" runs the
26        test suite written in perl. To execute all the tests you need
27        [24]libwww-perl perl library. If "perl -MCPAN -e 'install
28        Bundle::LWP'" fails then you most likely don't have cpan module
29        installed. First download [25]CPAN and [26]install it. Then execute
30        "perl -MCPAN -e 'install Bundle::LWP'". Now "make check" should
31        pass most of the tests in the test suite.
32
33      * [27]texinfo in order to generate Info, PostScript and/or HTML
34        documentation. You don't need texinfo in order to generate the
35        wget(1) manpage; however, note that the manpage does not include
36        the full documentation. Tarball distributions include the
37        already-generated documentation in these formats.
38
39      * [28]gettext, if you wish to compile with NLS (Native Language
40        Support), which is enabled by default. If you do not have gettext,
41        you can compile without it by specifying --disable-nls to the
42        ./configure script. This is true regardless of where you obtained
43        the source you're building. NOTE: if you get errors about
44        AM_GNU_GETTEXT and/or AM_INTL_SUBDIR, you probably have a buggy
45        version of GNU m4. Upgrade to the latest version. You may also need
46        to export M4=<new m4 path>, to be sure that autoconf/automake use
47        it instead of the old one.
48
49      * [29]OpenSSL to handle encrypted web sessions. You almost certainly
50        want this. It is not enough to have the library installed; you need
51        to have the header files available to compile against as well. For
52        GNU/Linux systems, this usually means installing a "developer"
53        package for openssl (for example, [30]Debian systems require
54        installation of the libssl-dev package). Alternatively, you can
55        compile GNU Wget against the [31]GNUTLS library instead, by
56        specifying --with-ssl=gnutls to the ./configure script; however,
57        building against GNUTLS is currently experimental, and not
58        officially supported. If you have OpenSSL and its development
59        headers installed, but don't want to build Wget with it, specify
60        --without-ssl to the ./configure script.
61
62      * [32]libidn is required for IDN/IRI support (non-ASCII characters
63        within what would otherwise be URLs).
64
65      * [33]libiconv is required on non-GNU systems, for IDN/IRI support.
66        On GNU systems, the functionality provided by libiconv is already
67        present in the system libraries.
68
69      * [34]git is used to fetch gnulib files trough the bootstrap.sh script.
70
71      * [35]libpsl is required for using a public suffix list to check for valid
72        cookie domains.
73
74    For those who might be confused as to what to do once they check out
75    the source code, considering configure and Makefile do not yet exist at
76    that point, a shell script called bootstrap.sh has been provided. After
77    calling ./bootstrap.sh you're ready to build GNU Wget in the normal
78    fashion, with ./configure and make.
79
80    So, to sum up, after checking out the source code as described above,
81    you may proceed as follows:
82     1. Change to the topmost GNU Wget directory:
83  $  cd wget        # assumes you've cloned a repository to "./wget"
84     2. Generate all the automatically-generated files required prior to
85        configuring the package:
86  $  ./bootstrap.sh
87     3. Configure the package and compile it:
88  $  ./configure [some_parameters]
89  $  make
90     4. Hack, compile, test, hack, compile, test...
91  $  src/wget --version
92  GNU Wget 1.12-devel (9cb2563197bc)
93
94  Copyright © 2008,2010 Free Software Foundation, Inc.
95  License GPLv3+: GNU GPL version 3 or later
96  <http://www.gnu.org/licenses/gpl.html>.
97  This is free software: you are free to change and redistribute it.
98  There is NO WARRANTY, to the extent permitted by law.
99
100  Originally written by Hrvoje Niksic <hniksic@xemacs.org>.
101
102      * [36]Edit
103      * [37]Comments
104      * [38]Info
105      * [39]Attachments
106      * More Actions:
107        [Raw Text................] Do
108
109      * [40]MoinMoin Powered
110      * [41]Python Powered
111      * [42]GPL licensed
112      * [43]Valid HTML 4.01
113      __________________________________________________________________
114
115    All content © 2007 Free Software Foundation. For terms of use,
116    redistribution, and modification, please see the [44]WikiLicense page.
117
118 References
119
120   20. http://www.gnu.org/software/autoconf/
121   21. http://www.gnu.org/software/automake/
122   22. http://flex.sourceforge.net/
123   23. http://www.perl.org/
124   24. http://search.cpan.org/dist/libwww-perl/lib/Bundle/LWP.pm
125   25. http://search.cpan.org/CPAN/authors/id/A/AN/ANDK/CPAN-1.9402.tar.gz
126   26. http://apthorpe.cynistar.net/code/configuring_cpan.html
127   27. http://www.gnu.org/software/texinfo/
128   28. http://www.gnu.org/software/gettext/
129   29. http://www.openssl.org/
130   30. http://www.debian.org/
131   31. http://www.gnu.org/software/gnutls/
132   32. http://www.gnu.org/software/libidn/
133   33. http://www.gnu.org/software/libiconv/
134   34. http://git-scm.com/
135   35. https://github.com/rockdaboot/libpsl
136   36. http://wget.addictivecode.org/CompilingRepoSources?action=edit&editor=text
137   37. http://wget.addictivecode.org/CompilingRepoSources
138   38. http://wget.addictivecode.org/CompilingRepoSources?action=info
139   39. http://wget.addictivecode.org/CompilingRepoSources?action=AttachFile
140   40. http://moinmo.in/
141   41. http://moinmo.in/Python
142   42. http://moinmo.in/GPL
143   43. http://validator.w3.org/check?uri=referer
144   44. http://wget.addictivecode.org/WikiLicense