]> git.cworth.org Git - glaze/commitdiff
Add specs/README
authorCarl Worth <cworth@cworth.org>
Sat, 21 Sep 2013 22:12:24 +0000 (15:12 -0700)
committerCarl Worth <cworth@cworth.org>
Sat, 21 Sep 2013 22:12:24 +0000 (15:12 -0700)
Previously, the only documentation for where the XML files came from
was in commit messages. Fix this by adding specs/README which explains
where the XML files came from, their license, the script that
processes them, etc.

specs/README [new file with mode: 0644]

diff --git a/specs/README b/specs/README
new file mode 100644 (file)
index 0000000..2fcbf7f
--- /dev/null
@@ -0,0 +1,37 @@
+This directory contains .def files listing all of the OpenGL functions
+for which Glaze creates ifunc resolvers so that libraries using Glaze
+can provide their own implementations.
+
+The .def files are automatically generated from XML descriptions of
+the OpenGL API. The XML descriptions are included here as well, and
+were obtained by starting from the Khronos "OpenGL Registry" at:
+
+       http://www.opengl.org/registry/
+
+From there, browse to the "XML API Registry" to find:
+
+       https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/
+
+Where the actual .xml files can be downloaded.
+
+The XML files are made available under the same license as Glaze
+itself, so are included in this directory.
+
+The XML files contain much more information than Glaze needs. Glaze
+requires only the list of function names. We have written a one-liner
+script named xml2def that extracts the function names. That script is
+also included here.
+
+The xml2def script depends on the XMLStarlet command-line XML toolkit
+which is aailable as a Debian package named "xmlstarlet" or available
+for download from:
+
+       http://xmlstar.sourceforge.net/
+
+The simple .def files are the true "source" file used by Glaze, so
+even though they were generated from an XML document, the generated
+files are tracked under revision control here in this directory.
+
+This means that a user of Glaze does not need to have xmlstarlet
+installed in order to compile Glaze.
+