]> git.cworth.org Git - glaze/log
glaze
10 years agoUse "gcc --print-multiarch" to determine directory names for library installs
Carl Worth [Thu, 22 Aug 2013 00:28:49 +0000 (17:28 -0700)]
Use "gcc --print-multiarch" to determine directory names for library installs

Previously, we had hardcoded names of lib32 and lib64. Instead, we now
ask gcc for the actual triple being targeted, (such as, for example,
lib/i386-linux-gnu or lib/x86_64-linux-gnu).

Using these correct names means that the user of Glaze can put a
literal $LIB into LD_PRELOAD or LD_LIBRARY_PATH and the run-time
linker will expand that to the correct name based on the architecture
of the program being linked

10 years agoDon't compile 32- or 64-bit components when not supported
Carl Worth [Thu, 22 Aug 2013 00:15:41 +0000 (17:15 -0700)]
Don't compile 32- or 64-bit components when not supported

The configure script is already kind enough to detect whether we can
compile 32-bit- or 64-bit-specific components. Now, fix the Makefile
to actually pay attention and not try to compile something which we
know will not work.

10 years agoMakefile: Fix to enable compiler warnings
Carl Worth [Tue, 20 Aug 2013 23:11:31 +0000 (16:11 -0700)]
Makefile: Fix to enable compiler warnings

The configure script was carefully detecting available warning options, but
the Makefile was neglecting to actually use them when compiling.

Fix so that we get useful warning messages.

10 years agoAdd a new libglaze library
Carl Worth [Mon, 12 Aug 2013 21:09:58 +0000 (14:09 -0700)]
Add a new libglaze library

So far this is simply a glaze_lookup function which uses GLAZE_LIBGL
to find libGL.so, then does a dlopen on that, and then a dlsym for the
function name of interest.

10 years agoAdd a configure script
Carl Worth [Mon, 12 Aug 2013 20:18:37 +0000 (13:18 -0700)]
Add a configure script

The primary motivation is a new install target. And it's just plain
rude to provide an install target without also supporting --prefix and
DESTDIR, so we need this simple configure script at least.

10 years agoRename glaze.c to glaze-gl.c
Carl Worth [Mon, 12 Aug 2013 19:22:00 +0000 (12:22 -0700)]
Rename glaze.c to glaze-gl.c

I'm planning to add a new glaze library with a "glaze.h" header file,
so it will be natural to have its implementation in glaze.c. To
prepare for that, I'm renaming the OpenGL API implementation from
glaze.c to glaze-gl.c.

10 years agoAdd a README file
Carl Worth [Mon, 29 Jul 2013 22:04:21 +0000 (15:04 -0700)]
Add a README file

Documenting how to set LD_LIBRARY_PATH, GLAZE_WRAPPER, and GLAZE_LIBGL
for invoking Glaze. Also giving credit to Alexander Monakov for
teaching me how to ue ifuncs.

10 years agoAdd GLAZE_WRAPPER variable to specify library with OpenGL wrapper functions
Carl Worth [Mon, 29 Jul 2013 21:25:55 +0000 (14:25 -0700)]
Add GLAZE_WRAPPER variable to specify library with OpenGL wrapper functions

The GLAZE_WRAPPER environment variable should point to a library which
has symbols for some subset of the OpenGL API. For all such symbols,
Glaze will resolve its ifunc symbols to the wrapper functions. For all
functions not having symbols in the GLAZE_WRAPPER library, Glaze will
resolve its ifunc symbols to the functions in the GLAZE_LIBGL library.

10 years agoAdd GLX functions as well.
Carl Worth [Thu, 25 Jul 2013 03:16:36 +0000 (20:16 -0700)]
Add GLX functions as well.

The glx.xml file was downloaded from:

https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/glx.xml

And should be current as of OpenGL 4.4.

10 years agoExtend OpenGL API list to all functions in Khronos gl.xml
Carl Worth [Thu, 25 Jul 2013 00:33:18 +0000 (17:33 -0700)]
Extend OpenGL API list to all functions in Khronos gl.xml

Here we add the gl.xml file downloaded from:

https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/gl.xml

Along with a script and Makefile to convert it to the list form
expected by glaze.c.

Note: The Makefile to perform the conversion is not called by
default. Instead, the result of the conversion (gl.def) is committed
directly to the source repository. This makes it convenient, (the
general user does not need to install xmlstarlet, for example), while
a developer that does need to update gl.xml can simply invoke "make
clean; make" in the specs directory to rebuild gl.def.

10 years agoInitial commit of glaze, a thin, shiny wrapper for OpenGL
Carl Worth [Wed, 24 Jul 2013 23:48:02 +0000 (16:48 -0700)]
Initial commit of glaze, a thin, shiny wrapper for OpenGL

The basic mechanic is in place here to create a pass-through ifunc for
every function in a list of functions.

The current list is the tiniest stub so far, (nothing but glClear).

And there is not yet any mechanism to do selective substitution of any
OpenGL functions, (so glaze cannot actually be used for anything yet).