summaryrefslogtreecommitdiff
path: root/Build/source/utils/xindy/README-clisp
blob: 8339006499dd78c1246f63074d948b7a92ddbe3f (plain)
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
Prerequisite for building xindy is the clisp package supporting
foreign function calls functionality.

If your OS distribution already has CLISP installed, xindy will try to
use it (the configure script searches in PATH to find the `clisp'
executable, or you can pass the configure option --with-clisp=PATH
where PATH is an absolute path to the `clisp' executable).

Otherwise, you need to build CLISP from source before building xindy.
Sources and selected binaries are available by anonymous ftp from
  <ftp://ftp.gnu.org/pub/gnu/clisp/>
and its mirrors.

Sample steps to build clisp:

=======================================================
# define this to any directory where clisp should be built, e.g.:
clisp_builddir=`pwd`/clisp-build-dir

wget http://ftp.gnu.org/pub/gnu/clisp/release/2.43/clisp-2.43.tar.gz
gzip -dc clisp-2.43.tar.gz | tar xf -

cd clisp-2.43
./configure $clisp_builddir --with-dynamic-ffi --ignore-absence-of-libsigsegv
cd $clisp_builddir
make
=======================================================

NOTE: clisp package is only a build-dependency: it is not used by
xindy at runtime. So clisp could be uninstalled after xindy was built.
Therefore, running "make install" is not necessary, and you can
specify --with-clisp=$clisp_builddir/clisp when configuring xindy.

Xindy requires a clisp built with Foreign Function Interface support.
If you are using clisp 2.44 or newer, note the following (taken from
the NEWS file from clisp sources):

* CLISP does not come with GNU libffcall anymore.
  This is now a separate package and should be installed separately.
  Pass --with-libffcall-prefix to the top-level configure if it is not
  installed in a standard place.
  Option --with-dynamic-ffi is now replaced with --with-ffcall.

So you would need to install libffcall separately, before installing clisp,
and change --with-dynamic-ffi to --with-ffcall in the xindy configure call.
You can download libffcall sources from
http://www.haible.de/bruno/packages-ffcall-README.html
or from the "ffcall" directory in the clisp-2.43 tarball,
or from http://packages.debian.org/sid/libffcall1
(containing some improvements from Debian).
Again, this is needed only for clisp 2.44 and newer.

When running `configure' for clisp, the following options should be noted:

=======================================================
  --with-dynamic-ffi (for clisp 2.43 and older), or
  --with-ffcall (for clisp 2.44 and newer)

    This enables the Foreign Function Interface in clisp.
    But strictly speaking, it is not necessary to use either of these
    options, because the default is to support Foreign Function
    Interface when available.

  --ignore-absence-of-libsigsegv

    You may optionally install libsigsegv to improve clisp's runtime
    behavior.  You may get libsigsegv sources from
    http://ftp.gnu.org/pub/gnu/libsigsegv/

    If you don't have the libsigsegv library, use the above option to
    let it build without libsigsegv.

  --with-libsigsegv-prefix=DIR
  --with-libffcall-prefix=DIR

    In case you have installed libffcall or libsigsegv in some
    non-standard locations, use the above options to specify their
    prefix directories (such as /usr/local, /opt or /sw).

  --without-readline

    It was reported that CLISP fails to build on the MacOS X platform,
    because of the faulty 'readline' package. Use the above option if
    you'll experience problems.
=======================================================

As noted above, running "make install" for clisp is not necessary, and
you can specify --with-clisp=$clisp_builddir/clisp when configuring
xindy.