mirror of
https://github.com/rkd77/elinks.git
synced 2024-09-26 02:46:13 -04:00
57c2e9e9ba
Git does not appear to have anything like cg clone -s, which makes the clone in the current directory rather than in a new directory. It seems possible to work around that with: git clone --bare http://elinks.cz/elinks.git .git git --git-dir=.git config core.bare false git reset --hard git clean -f git checkout elinks-0.12 but that's already so complex that I think it'll be easier to just remove the whole directory and clone to a new one. The whole concept of first downloading a snapshot and then updating that from version control comes from the time when ELinks was in CVS. It made sense then because CVS could download deltas based on the data in the CVS subdirectories contained in the snapshots. However, Git wants to get the whole history and does not benefit from having the files of a single commit available in advance.
166 lines
5.9 KiB
Plaintext
166 lines
5.9 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:
|
|
|
|
$ git clone check_file_SITES_for_value_of_this
|
|
$ cd elinks
|
|
|
|
To update your existing tree to the latest GIT version, do:
|
|
|
|
$ git pull
|
|
|
|
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
|