-
Notifications
You must be signed in to change notification settings - Fork 37
/
INSTALL
146 lines (96 loc) · 4.82 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
Elinks installation guidelines
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quick guide for the impatient:
meson setup builddir && cd builddir && meson compile && meson install
Alternatively, instead of meson:
./configure && make && make install
Check out the bottom of this file if you're upgrading from Links or an older
ELinks! And be sure to look at doc/ecmascript.txt if you want (experimental)
ECMAScript (that's JavaScript) support.
##########
In order to check out the latest tree from GIT:
$ git clone check_file_SITES_for_value_of_this
$ cd elinks
To update your existing tree to the latest GIT version, do:
$ git pull
##########
If you want to compile ELinks, first check the directory named contrib/, it
may contain patches that are of use to you. If you're interested in any of
them, try to apply them by doing (for each one):
$ patch -p0 < contrib/that-patch
They may not apply, since I don't update patches in contrib/ regularly - if
you want, feel free to go ahead and update the patch for the current tree and
submit the newer version.
The compilation itself looks like:
Unix - just doing:
$ meson setup build
$ meson compile -C build
should be enough.
OS/2 - you can use ./autogen.sh && ./configure.
The only supported compiler is EMX, you probably won't be able to
compile it with anything else.
Configure under OS/2 needs to know paths to gcc, make and bash.
Set (for example):
SET HOSTTYPE=i586
SET MACHTYPE=i586-pc-os2
SET CONFIG_SHELL=d:/prg/gnu/bin/bash.exe
SET CC=d:/prg/emx/bin/gcc.exe
SET MAKE=d:/prg/emx/bin/make.exe
SET EMXOPT=-h100
DOS, Windows - port it by yourself.
Usually, even after strip, the ELinks binary can measure a lot, but you can
radically reduce the resulting binary size by throwing out stuff you don't like.
Detailed discussion of reducing the executable size can be found in
doc/small.txt
##########
Ok, now let's install it:
Unix - # meson install -C build
OS/2 -
Copy file elinks.exe somewhere to your path or create CMD file that runs
elinks.
WARNING: EMX has a nasty limit on open files. Links will work badly or
won't work with the default settings. Set the variable EMXOPT=-h100
before you run links.
Now, check the contrib/ directory again. There may be some useful config
file examples there, along with few support tools and some Lua scripts - you
probably want them ;) so just copy hooks.lua to ~/.config/elinks, and edit the
configuration part - it adds various functionality to ELinks, like
decompression of gzipped files or HTML code rewriting for ELinks-unfriendly
websites.
!BEWARE! If you _distribute_ an ELinks executable linked with OpenSSL and
the OpenSSL library is not part of your base system, you are VIOLATING THE GPL.
I honestly believe that for this absurd case no ELinks copyright holder will
sue you, and it's not a problem for the OpenSSL people as well, as they have
explicitly told me, but you might stay on the safe side.
So, people who are making ELinks binaries for systems with no OpenSSL in the
base system and who decided to link OpenSSL against the ELinks binary may wish
NOT to publish or distribute such an executable, as it's breaking GPL 2(b), if
they like to have everything legally perfect (like the Debian people ;-).
As a semi-solution to this problem, GNUTLS support was introduced; if you want
to distribute ELinks executables with HTTPS support, compile ELinks with the
-Dgnutls=true meson option (assuming that you have GNUTLS 1.2.0 installed;
we can't say about later versions since GNUTLS people seem to have strange taste
wrt. backwards compatibility).
HOWEVER, beware that GNUTLS support in ELinks is not so well tested as
OpenSSL, and shall be probably still considered experimental. Therfore, it's
recommended to the users to give OpenSSL strong preference whenever possible.
(Just to show the GNU ideologists how silly can they sometimes be, if not
anything else. ;-)
##########
If you're upgrading from Links or older ELinks (0.4pre7 or older), you will
notice that several things have changed. First, the binary name is elinks, not
links, now; however, the basic usage is almost the same and it still looks like
the old (E)Links, so you probably want to make a links symlink pointing to
elinks.
Then, note that configuration files were moved from /etc to /etc/elinks and
from ~/.links to ~/.config/elinks, because the name and format of some of them was
changed:
links.cfg became elinks.conf and you need to convert it with
contrib/conv/conf-links2elinks.pl; html.cfg was merged into elinks.conf.
bookmarks are still bookmarks, but you need to convert it with
old_to_new_bookmarks.sh.
links.his became gotohist and the format is the same.
history became globhist and the format is the same.
cookies are still cookies, but you need to convert it with tr " " "\t".
##########
vim: textwidth=80