From: Diederick C. N. <dc...@gm...> - 2012-05-27 10:42:06
|
Hi Geoff and Martin, On Sat, May 26, 2012 at 6:51 PM, Martin Payne <li...@ma...> wrote: > Hi Geoff, > > On 25/05/2012 20:17, Geoff McLane wrote: >> But it seems what you are suggesting is that some >> older, other application compiled with glut.h that >> was with glut32.dll, the same linkage should now >> work with freeglut.dll, perhaps by overwriting >> glut32.dll with freeglut.dll, or some other 'trickery', >> without recompiling from source, then wow, good >> luck with that ;=)) > > Yes, this is what I'm suggesting. The implementation might be totally > different, but the interface is the same so it doesn't require any > recompilation or luck. The only exceptions are things like bugs in the > implementation or relying on undefined behaviour. The same thing applies > to the Unix build, and operating systems such as Fedora package freeglut > as a direct replacement for GLUT in exactly this way. > >> Even if you get this to work, then that older, >> other application obviously can not use any additional >> features or functionality that may be in freeglut.dll, >> simply because it would not know about them... so >> exactly what is the purpose, gain? > > The purpose is that an open source GLUT implementation which is actively > maintained can be used as a drop-in replacement for other GLUT > implementations which may no longer be maintained or may be released > under less permissive licenses. The fact that freeglut provides > additional functionality is not relevant to this point. > > The reverse is true too. If you don't use any of the additional > functionality that freeglut provides, then you can replace the freeglut > DLL with any other compatible GLUT implementation. I just wanted to chime in to say that Martin's explanation is exactly right. Being a drop in replacement for the traditional GLUT is the very first requirement for FreeGLUT. So we can't get rid of the def files, we need those undecorated function exports. An alternative to achieve that would be great of course, think i'll pull up google soon to have a good look. This is a good moment for a question: Are there any other compilers than 32bit MSVC that need the .def file? Its currently only defined to be used for the various versions MSVC in CMake. Geoff, I'll look at your other suggestions soon, thanks a lot for those! Best, Dee |