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.12. REQUIREMENTS: The code generation requires doxygen (1.4.6) which is used to parse wxWidgets c++ headers and generate xml files (in wx_xml/). 2017-08-16 doxygen 1.8.11 is working with WXGTK_DIR=/ldisk/src/wxWidgets-2.8.12/include 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