summaryrefslogtreecommitdiff
path: root/README
blob: b8f8332b5c70f3ac0961fbb2bab8d1da9bd5d4db (plain) (blame)
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
##################

EO Introspection

##################

EO introspection is set of tools to generate high-level
language bindings for C libraries based on Eo(E Object) library,
which is a part of Enlightenent Foundation Libraries.
http://svn.enlightenment.org/svn/e/trunk/efl/

Eo library provides an opportunity
to use object oriented concepts in C.

EO Introspection provides easy generation
of Python and JS bindings for your library based on Eo.

#####################################################

Tools:
      Scanner
      Graph Generator
      Python code generator
      JS code generator

#####################################################
Scanner is a part of EObject introspection module.
It analyzes source and header C files, which can contain EO-styled class definition,
   and generates XML - description for each found class

#####################################################

1. Introspecting folder:
    Scanner runs recursively on defined folders
    a. > python eo_xml_gen.py --dir=IN_DIR --dir=IN_DIR2 --outdir=OUT_DIR -include=INCLUDE_DIR
      script searches for dependency xmlfiles in Python env paths.
      if PYTHONPATH wasn't set explicit --include=INCLUDE_DIR can be needed

    b. Building classes graph chart:
      Graph generator runs recursively on defined folders and generates graphviz dot file,
      which can be used to generate image

#      > python eo_graph_gen.py --dir=FOLDER_WITH_XML1 --dir=FOLDER_WITH_XMLS --outfile=OUTFILE.dot
#      > dot -Tpng OUTFILE.dot -o out.png
#      > eog out.png
      > python eo_graph_gen.py --dir=FOLDER_WITH_XML1 --dir=FOLDER_WITH_XMLS --outfile=graph.png
      > eog graph.png

2. Generating python-bindings: read /eo_py/README