~ubuntu-branches/ubuntu/natty/lua-gtk/natty

« back to all changes in this revision

Viewing changes to doc/en/installation.html

  • Committer: Bazaar Package Importer
  • Author(s): Enrico Tassi
  • Date: 2009-05-17 18:16:21 UTC
  • mfrom: (1.2.1 upstream) (4.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20090517181621-9kmdd82nxg54jsio
* new upstream snapshot comprising many more GNOME libraries:
    Gtk, GDK, GLib, Pango, Atk, Libxml2, Cairo, Clutter, Gtkhtml, 
    GtkSourceView, Gio, Gtkspell and GConf. 
* new upstream release includes a new configure script written in Lua,
  no more bashisms there (Closes: #507205)
* renamed binary packages to liblua5.1-gnome-*
* updated standards-version to 3.8.1, no changes needed
* patch to load .so.* version of libraries and not .so (that was requiring
  -dev packages) (Closes: #522087)
* removed redundant Architecture line from the source stanza of control
  (Closes: #498120)
* updated copyright file, Wolfgang Oertl holds it for 2009 too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
<p>
 
3
These are the installation instructions for LuaGnome.  It is distributed
 
4
primarily as source tarball, with precompiled binaries possibly available
 
5
for Linux (different architectures), Windows, and as Debian packages (most
 
6
likely not the latest versions).  You can also get the latest source from
 
7
the CVS repository on LuaForge.
 
8
</p>
 
9
 
 
10
<h3>Prerequisites</h3>
 
11
 
 
12
<p>
 
13
The following software is required to build LuaGnome:
 
14
</p>
 
15
 
 
16
<ul>
 
17
 <li>Lua 5.1</li>
 
18
 <li>gcc</li>
 
19
 <li>make</li>
 
20
 <li>gccxml</li>
 
21
 <li>ffi (foreign function interface)</li>
 
22
 <li>(optional) <a href="http://cmph.sf.net/">cmph</a></li>
 
23
 <li>The libraries to support, i.e. glib, gdk, gtk, atk, cairo etc., with
 
24
   their header files.</li>
 
25
</ul>
 
26
 
 
27
<h3>Instructions</h3>
 
28
 
 
29
<ul>
 
30
 <li>Fetch the source from either CVS or as source tarball, unpack.</li>
 
31
 <li>Run the script <tt>./configure</tt> (which is a Lua script, not
 
32
  autoconf)</li>
 
33
 <li>Run <tt>make</tt></li>
 
34
</ul>
 
35
 
 
36
<p>
 
37
On success, you can now run the included tests, examples or other programs.
 
38
If something didn't work, please use your skillz to fix it, otherwise write
 
39
about your problems on the project's forums on LuaForge.
 
40
</p>
 
41
 
 
42
<h3>About CMPH</h3>
 
43
 
 
44
<p>
 
45
This is a library to create and use minimal perfect hash (mph) tables.
 
46
LuaGnome relies heavily on hashing to look up functions, constants, types and
 
47
fundamental types.  Thus having a good hashing algorithm and functions
 
48
available improves execution speed and reduces memory usage.  All these tables
 
49
are computed at build time, saved as .c files which are then compiled into the
 
50
modules.
 
51
</p>
 
52
 
 
53
<p>
 
54
Note: a hash <i>function</i> computes a hash value for a given input string.  A
 
55
hash <i>algorithm</i> maps an input string to a bucket number, and requires at
 
56
least one hash function.
 
57
</p>
 
58
 
 
59
<p>
 
60
Cmph comes with various algorithms.  Two of them are currently supported by
 
61
LuaGnome, which doesn't link with the cmph library, but implements the (simple)
 
62
lookup functions directly to save space (and because cmph doesn't offer saving
 
63
a hash table to a .c file).
 
64
</p>
 
65
 
 
66
<ul>
 
67
 <li>The older <b>fch</b> algorithm already delivers excellent results.</li>
 
68
 <li>The newer <b>bdz</b> algorithm, available starting with cmph version 0.8,
 
69
   results in slightly smaller hash table data which is generated a lot
 
70
   faster. </li>
 
71
 <li>A fallback algorithm (named <b>simple</b>) is not part of cmph.  It
 
72
   produces somewhat larger data tables and probably runs somewhat slower at
 
73
   runtime, but doesn't require cmph to build.</li>
 
74
</ul>
 
75
 
 
76
<p>
 
77
For comparison, the complete build of LuaGnome on Linux/i386 with all 10
 
78
libaries supported as of 12/2008 results in the following combined binary
 
79
sizes:
 
80
</p>
 
81
 
 
82
<table>
 
83
 <tr><th>Algorithm</th><th>Size in kB</th></tr>
 
84
 <tr><td>simple</td><td>415</td></tr>
 
85
 <tr><td>fch</td><td>372</td></tr>
 
86
 <tr><td>bdz</td><td>370</td></tr>
 
87
</table>
 
88
 
 
89