]> git.cworth.org Git - glaze/blobdiff - specs/README
Add specs/README
[glaze] / specs / README
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.
+