1 Elinks installation guidelines
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 Quick guide for the impatient:
6 ./configure && make && make install
8 Check out the bottom of this file if you're upgrading from Links or an older
9 ELinks! And be sure to look at doc/ecmascript.txt if you want ECMAScript
10 (that's JavaScript) support.
14 In order to check out the latest tree from CVS:
16 $ export CVSROOT=check_file_SITES_for_value_of_this
23 To update your existing tree to the latest CVS version, do:
27 If you downloaded a nightly snapshot, it already contains CVS/ directories
28 etc. Thus, you should be able to update your tree with the above command as if
29 you had previously done a full cvs checkout.
31 Note that if you obtained the sources directly from CVS, you NEED to run
32 ./autogen.sh! (It should be enough to do it once, automake should be smart
33 enough to rerun itself when needed - however, if you have build problems, try
34 running this first.) Also, you obviously need automake and autoconf installed
35 on your system (note that autoconf-2.13 a automake-1.4p5 are supported, newer
36 ones may cause problems thanks to the auto* developers who don't know how to
37 maintain backwards compatibility). Otherwise, you have to use the nightly CVS
38 snapshot - you don't need to do this there.
43 If you want to compile elinks, first check the directory named contrib/, it
44 may contain patches that are of use to you. If you're interested in any of
45 them, try to apply them by doing (for each one):
47 $ patch -p0 < contrib/that-patch
49 They may not apply - I don't update patches in contrib/ regularly - if you
50 want, feel free to go ahead and update the patch for the current tree and send
53 Usually, even after strip, the ELinks binary can grow a lot these days; I plan
54 on spawning various external files optionally, containing boring stuff like
55 various translations etc; later, even DSO modules may come, etc. But even
56 nowadays, you can reduce the resulting binary size by throwing out stuff you
57 don't like. First, if you want better performance and a smaller binary, don't
58 compile it with debug. It won't hurt if you do, though, and ELinks will tell
59 you about any memory leaks, incorrect memory manipulation etc, which may be
60 helpful to us if you report it. Next, disable any optional features you are not
61 going to use, they can make the resulting binary smaller (although it'll probably
62 have no non-marginal performance impact) - especially go through the
63 features.conf file in the project root directory. Also, you may try to override
64 the build system to build a dynamically linked binary, which can be a lot
65 smaller as well. Lastly, you can go to the Unicode/ and intl/ directories, then
66 edit index.txt and remove any codepages or translations you don't like;
67 especially for translations, it can significantly reduce the resulting binary
70 !BEWARE! If you _distribute_ a binary of ELinks with OpenSSL linked to it,
71 and the OpenSSL library is not part of your base system, you are VIOLATING THE
72 GPL (although I believe that for this absurd case no ELinks copyright holder
73 will sue you, and it's not a problem for the OpenSSL people as well, as they
74 have explicitly told me). So, people who are making ELinks binaries for systems
75 with no OpenSSL in the base system and who decided to link OpenSSL against the
76 ELinks binary may wish NOT to publish or distribute such a binary, as it's
77 breaking GPL 2(b), if they like to have everything legally perfect (like Debian
78 people ;). As a semi-solution to this for those people, GNUTLS support was
79 introduced; if you want to distribute ELinks binaries with HTTPS support,
80 compile ELinks with the --with-gnutls configure option (assuming that you have
81 GNUTLS 0.5.0 or later [tested with 0.5.4] installed). However, as GNUTLS is not
82 yet 100% stable and its support in ELinks is not so well tested yet, it's
83 recommended for users to give a strong preference to OpenSSL whenever possible.
87 The basic compilation looks like:
94 should be enough. However, in some FreeBSD 3 distributions you have to
95 set CFLAGS=-aout before running ./configure. Also, you may want to
96 adjust some compile-time options through ./configure - do
97 ./configure --help and it'll print out a list of them. You can more
98 finely control what's going to be included in the binary in the
99 features.conf file, and some really detailed tuning can be performed in
102 Also, a nice idea is to compile ELinks outside of the source tree.
103 Make another directory and run path_to_source_tree/configure from it.
104 Typically, it looks like:
106 $ mkdir ../elinks-build
108 $ ../elinks/configure
111 OS/2 - you can use ./configure.
113 The only supported compiler is EMX, you probably won't be able to
114 compile it with anything else.
116 Configure under OS/2 needs to know paths to gcc, make and bash.
120 SET MACHTYPE=i586-pc-os2
121 SET CONFIG_SHELL=d:/prg/gnu/bin/bash.exe
122 SET CC=d:/prg/emx/bin/gcc.exe
123 SET MAKE=d:/prg/emx/bin/make.exe
126 Dos, Windows - port it by yourself.
131 Ok, now let's install it:
133 Unix - # make install
136 Copy file links.exe somewhere to your path or create CMD file that runs
139 WARNING: EMX has a nasty limit on open files. Links will work badly or
140 won't work with the default settings. Set the variable EMXOPT=-h100
141 before you run links.
143 Now, check the contrib/ directory again. There may be some useful config
144 file examples there, along with a few support tools and some Lua scripts - you
145 probably want them ;) so just copy the hooks.lua to ~/.elinks, and edit the
146 configuration part - it adds various functionality to ELinks, like
147 decompression of gzipped files or user-defined protocols.
152 If you're upgrading from Links or older ELinks (0.4pre7 or older), you will
153 notice that several things have changed. First, the binary name is elinks, not
154 links, now; however, the basic usage is almost the same and it still looks like
155 the old (E)Links, so you probably want to make a links symlink pointing to
158 Then, note that configuration files were moved from /etc to /etc/elinks and
159 from ~/.links to ~/.elinks, because the name and format of parts of them were
162 links.cfg became elinks.conf and you need to convert it with
163 contrib/conv/conf-links2elinks.pl; html.cfg was merged into elinks.conf
165 bookmarks are still bookmarks, but you need to convert it with
166 old_to_new_bookmarks.sh.
168 links.his became gotohist and the format is the same.
170 history became globhist and the format is the same.
172 cookies are still cookies, but you need to convert it with tr " " "\t"
177 $Id: INSTALL,v 1.29 2004/09/22 16:17:23 pasky Exp $