mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
171 lines
6.1 KiB
Plaintext
171 lines
6.1 KiB
Plaintext
Elinks installation guidelines
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Quick guide for the impatient:
|
|
|
|
./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 (using Cogito):
|
|
|
|
$ cg clone check_file_SITES_for_value_of_this
|
|
$ cd elinks
|
|
|
|
To update your existing tree to the latest GIT version, do:
|
|
|
|
$ cg update
|
|
|
|
If you downloaded a nightly snapshot, and want to check out the latest tree
|
|
from GIT in it, use the command:
|
|
|
|
$ cg clone -s check_file_SITES_for_value_of_this
|
|
|
|
Note that if you obtained the sources directly from GIT, you NEED to run
|
|
./autogen.sh! (It should be enough to do it once - however, if you have build
|
|
problems, try running this first.) Also, you obviously need GNU make and
|
|
autoconf installed on your system (note that autoconf-2.13 is supported, newer
|
|
ones may cause problems thanks to the autoconf developers who don't know how to
|
|
maintain backwards compatibility). Otherwise, you have to use the nightly GIT
|
|
snapshot - you don't need to do this there.
|
|
|
|
|
|
##########
|
|
|
|
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:
|
|
|
|
$ ./configure
|
|
$ make
|
|
|
|
should be enough. However, in some FreeBSD 3 distributions you have to
|
|
set CFLAGS=-aout before running ./configure. Also, you may want to
|
|
adjust some (well, plenty of) compile-time options through ./configure
|
|
- do ./configure --help and it'll print out a list of them. You can
|
|
finetune what's going to be included in the binary in the features.conf
|
|
file, and some really detailed tuning can be performed in src/setup.h.
|
|
|
|
Also, a nice idea is to compile ELinks outside of the source tree (note
|
|
that this might not quite work right now, but we're working on fixing
|
|
it). Make another directory and run path_to_source_tree/configure from
|
|
it. Typically, it looks like:
|
|
|
|
$ mkdir ../elinks-build
|
|
$ cd ../elinks-build
|
|
$ ../elinks/configure
|
|
$ make
|
|
|
|
OS/2 - you can use ./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 - # make install
|
|
|
|
OS/2 -
|
|
Copy file links.exe somewhere to your path or create CMD file that runs
|
|
links.
|
|
|
|
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 ~/.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
|
|
--with-gnutls configure 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 ~/.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
|