public
Description: A type/value introspection library for C++, and a Ruby library allowing to cleanly dynamically interface with C code
Homepage: http://typelib.sourceforge.net
Clone URL: git://github.com/doudou/typelib.git
typelib / README.txt
100644 89 lines (70 sloc) 2.843 kb
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
Typelib is a C++ library which allows for introspection on data types and data
values. Its value model is based on the C type model. The library allows to
load definition from various type description files (including plain C), build
types programmatically, create and manipulate values from these types.
 
A binding to the Ruby language is provided, which allows to very easily interface
a dynamic library from within Ruby code. This Ruby binding is based on the dyncall
library, whose full source code is provided in this release.
 
Typelib has been written by
  Sylvain Joyeux <sylvain.joyeux@m4x.org>
 
Copyright 2004-2008
  LAAS/CNRS <openrobots@laas.fr>
  DGA <arnaud.paronian@dga.gouv.fr>
 
This software is provided under the CeCILL B License, which gives comparable terms
of use than the BSD license. See LICENSE.txt or LICENSE.fr.txt for the full license
texts.
 
== Installation
=== C++ library
The C++ library depends on the following:
 * the boost library, including boost/filesystem
 * utilmm which can be downloaded using Darcs with
     darcs get http://www.laas.fr/~sjoyeux/darcs/utilmm
   (check the INSTALL file)
 * the antlr parser generator
 * cmake and pkg-config
 * doxygen for the documentation (optional)
 * libxml2
 
When all these dependencies are installed, run
    mkdir build
    cd build
    cmake ..
    make
    make doc # to build the documentation, only if doxygen is available
 
and as root,
    make install
 
=== Ruby bindings
The installation of the Ruby bindings require the following:
 * the ruby interpreter version 1.8 and the associated
   development files.
   Under Debian, these are named ruby1.8 and libruby1.8-dev
 * testrb for the test suite
 * rdoc for generating the documentation (optional)
 
At runtime, the bindings require the following:
 * utilrb, which is best downloaded as a gem. See
     http://www.rubygems.org for information about the RubyGems
     system. This system can be installed by the rubygems
     package on Debian.
 
   When you have installed rubygems, run
     gem install utilrb
 
   You may have to run it as root if RubyGems is installed
   globally (this is the case for Debian's rubygems package)
 
   You can also find the sources at
     git clone http://www.laas.fr/~sjoyeux/git/utilrb.git
   read the INSTALL.txt file
 
=== Quick Debian installation guide
 
Run as root
  apt-get install build-essential cmake pkg-config libboost-dev libboost-filesystem-dev ruby1.8-dev libtest-unit-ruby rubygems cantlr libantlr-dev doxygen rdoc1.8 libxml2-dev
  gem install utilrb
 
Run as a normal user
  <go into a source directory>
  darcs get http://www.laas.fr/~sjoyeux/darcs/utilmm
  <install the utilmm library by following instructions in
  utilmm/INSTALL>
 
  <go into Typelib source directory>
  mkdir build
  cd build
  cmake ..
  make
  make doc
 
Run as root
  make install