aboutsummaryrefslogtreecommitdiffstats
path: root/lib/wx/api_gen/README
blob: dd0c49d227ea0b96288b0a599e2744e237e487d1 (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
API GENERATION:
    Most of the code in wx is generated.
    Users of wxErlang should not normally need to regenerate the generated code,
    as it is checked in by wxErlang developers, when changes are made.

    Code checked in is currently generated from wxwidgets 2.8.10.

REQUIREMENTS:
    The code generation requires doxygen (1.4.6) which is
    used to parse wxWidgets c++ headers and generate xml files (in
    wx_xml/).

    2012-02-09 doxygen 1.7.4 is working fine

    2008-09-29 doxygen 1.4.6 is required.
      Later versions of Doxygen - up to 1.5.6 at least - have a bug in the xml generation
      which causes us problems. This has been logged and we are waiting for a fix.

    doxygen 1.6.1 and doxygen 1.6.3 might work but is not what I use, i.e.
    review the diffs.

CONFIGURATION:
    wxapi.conf contains the specification to the code generator.  The code
    generator reads the specification and parses the xml files and
    produces the erlang and the 'C' code.

    Adding/changing stuff/classes should be done by updating wxapi.conf
    and running make. Sometimes the code generator will require changes,
    I havn't thought of everything yet.

RUNNING:
    I use the following alias wxgen='make WXGTK_DIR=/opt/local/include/wx-2.8/ GL_DIR=/home/dgud/opengl'

    I keep the opengl headers separate so I don't go backwards in version when generating the code
    from another machine.

    Also gl.h from different vendors differ so keep it consistent,
    I have used mesa's gl.h and the glext.h from opengl.org
    (version see GL_GLEXT_VERSION in gl.hrl)

    I also get the xml documentation from opengl.org (subversion) and place it in
    api_gen/gl_man2 (all old functions) and api_gen/gl_man4 (all the new functions).

CONTRIBUTION:
    Send me patches