Opentk/Source/Converter
Stefanos A. a4f59f7384 Split binaries for library and supporting tools
Tools now go to the Binaries/Tools/[Debug|Release] directory. OpenTK
remains at BInaries/OpenTK/[Debug|Release].

Mono.Cecil and IKVM now reside under the Dependencies/managed/
directory.
2013-12-05 18:43:47 +01:00
..
Headers Normalized line endings 2013-10-11 01:58:54 +02:00
Properties Normalized line endings 2013-10-11 01:58:54 +02:00
ESCLParser.cs Merged gl4 branch into trunk 2010-12-04 21:51:40 +00:00
Generator.Convert.csproj Split binaries for library and supporting tools 2013-12-05 18:43:47 +01:00
GLParser.cs Improved extension detection in .spec parser. 2013-10-27 01:24:04 +02:00
GLXmlParser.cs Maintain api version information on converted signatures 2013-11-03 20:30:43 +01:00
Main.cs Maintain api version information on converted signatures 2013-11-03 20:30:43 +01:00
Options.cs Fixed project layout (files should be at root of project, not inside a folder). 2009-09-06 09:35:11 +00:00
Parser.cs Merged gl4 branch into trunk 2010-12-04 21:51:40 +00:00
Readme.txt Added usage example for new xml specs 2013-11-07 17:18:12 +01:00
XML schema notes.txt Normalized line endings 2013-10-11 01:58:54 +02:00

[Introduction]

This is a simple tool to convert C headers to XML files. It works using simple pattern matching - it does not actually parse the header files. For this reason, it will work with only a few, specific header files: ES and CL at this point.


[Examples]

To download and convert the new XML API registry from Khronos:
Convert.exe -p:gl -v:4.4 -t:xml -o:../../../Source/Bind/Specifications/GL2/signatures.xml https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/gl.xml

To download and convert the old .spec files from Khronos:
Convert.exe -p:gl -v:4.3 -t:spec -o:../../../Source/Bind/Specifications/GL2/signatures.xml https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/oldspecs/gl.spec https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/oldspecs/enum.spec https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/oldspecs/enumext.spec

The line above will download the latest .spec files from the public Khronos repository and update signatures.xml for the binding generator.

[Usage]

Convert.exe -p:{PREFIX} -v:{VERSION} -t:{TYPE} -o:{OUT} {INPUT1} ... {INPUTn}
    {PREFIX} is a simple string that defines the a common prefix for functions and constants in this header. This prefix will be removed from the generated XML file.
    {VERSION} is a string that defines that version that will be used for functions in the generated XML file. Specific input files may override this setting.
	{TYPE} can be either 'spec' or 'header' to indicate whether the input files are OpenGL .spec files or C headers.
	{OUT} is the output filename (optional). If no output file is specified, output will be directed to the console.
    {INPUT1..n} is a space-separated list of input files (headers).
    
Despite what the help says, all three parameters are necessary at the moment.


[Known issues]

OpenGL|ES 2.0: gl*Fence[s|iv]?NV fail to define parameters names. These have been added by hand (take care when updating the header file).


[Support]

If you encounter a bug, please file an issue report at http://www.opentk.com/issues

We will only accept bug reports for supported header files. This is not a generic tool and will fail to parse unsupported files.