/
LAYOUT.txt
executable file
·43 lines (28 loc) · 1.25 KB
/
LAYOUT.txt
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
= BIOLIB Tree Layout =
== clib C/C++ modules ==
Biolib uses SWIG to generate interfaces to the scripting languages.
This can be to external libraries, or to modified or unique libraries
built from
./src/clibs/
For example the affyio library in ./src/clibs/affyio
generates a library named biolib-affyio.so.
Included modules can be copied into the tree, or the git submodule
feature can be used to add a 'live' tree from another git repository
- like is done with ./src/clibs/rqtl.
== Language Mappings ==
Language specific stuff is put in separate dynamically linked
libraries for each language in
./src/mappings/
so, Ruby lives in ./src/mappings/swig/ruby - and building the
interface requires both SWIG and the Ruby development libraries and
generates biolib-ruby.so.
SWIG .i files, shared by all languages, go into ./src/mappings/
=== Test files ===
Each mapping comes with tests which are under
./src/mappings/swig/language/test. Modules invoke these tests
individually.
== 'Extra' developments ==
Projects that provide functionality specific to a language go into
./src/extra/language/. This are acts as a portal for functionality
that may move into another project later. A typical example is a nice
Ruby/Perl or Python OOP wrapper for one of the libraries.