Support: quest -f cjk_ngram
[xapian.git] / xapian-bindings / README
blob346ae50c7f86a8949431502bca87b4c66e43b757
1 See INSTALL for instructions on configuring, building, and installing this
2 software.  See TODO for the to-do list.  See HACKING for information relevant
3 to anyone wanting to do development work on the bindings.
5 Supported Platforms
6 -------------------
8 Most development work has been done on Linux with GCC, but the bindings should
9 work on other Unix-like platforms and with other compilers (we've heard success
10 stories for at least Mac OS X >= 10.3 and OpenBSD, and the tinderbox builds
11 pass "make check" on FreeBSD and NetBSD).
13 The Python bindings have been successfully built on Microsoft Windows using
14 Mingw and MSVC: the PHP bindings have been successfully build on Microsoft
15 Windows using MSVC.  The other bindings may need a few build tweaks to work
16 - contact us via the mailing lists if you want to get them working.
18 Supported Languages
19 -------------------
21 Bindings for the following languages should be fully functional and ready
22 for real world use:
24 C#              Tested with Mono C# 3.0.6.0 and 2.10.8.1 recently.  Requires
25                 .NET 2 or later (because that's what SWIG supports).
27 Java            Java bindings are generated with SWIG, as of Xapian 1.3.0.
28                 Recently tested with OpenJDK 1.7.0_03, 1.6.0_27, and 1.6.0_18.
29                 The minimum version we aim to support is JDK 1.6 (Java 6).
31 Lua             Requires Lua 5.1 or later; tested with 5.1 and 5.2.
33 Perl            Perl XS bindings contributed by Alex Bowley and co-maintained
34                 by Olly Betts are available from CPAN (module Search::Xapian).
35                 SWIG-based Perl bindings were implemented by Kosei Moriyama in
36                 GSoC 2009, and made their debut in the 1.2.4 release.  These
37                 are in module Xapian).  The intention is that these will
38                 replace the XS bindings once we are satisfied they are stable.
39                 The bindings here probably need Perl 5.8 or later.
41 PHP             Requires PHP >= 5.5 (older versions are no longer supported by
42                 the PHP developers).
44 Python 2.x      Requires Python 2.5 or later.  If you still need support for
45                 Python 2.3 or 2.4, use Xapian 1.2.x.
47 Python 3.x      Requires Python 3.2 or later.
49 Ruby            Requires Ruby 1.8 or later.  With Ruby 1.9.0, the testsuite
50                 fails due to a bug in the test/unit module, but applications
51                 using the bindings should work fine.  With Ruby 1.9.1, the
52                 testsuite passes.  Ruby 2.0 and 2.1 also work with
53                 xapian-bindings >= 1.2.17 and xapian-bindings >= 1.3.2.
55 Tcl             Requires Tcl 8.5 or later (older versions are no longer
56                 supported by the Tcl developers, so it doesn't make sense for
57                 us to expend effort to support them).
59 Languages Supported Elsewhere
60 -----------------------------
62 Erlang          Available from:
63                 https://github.com/arcusfelis/xapian-erlang-bindings/#readme
65 Node.js         Available from:
66                 https://github.com/mtibeica/node-xapian#readme
68 If you're interest in getting other languages supported, see the "Adding
69 support for other programming languages" section in the file HACKING.