From: Fay, J. F Dr C. U. A. 46 S. <joh...@eg...> - 2009-06-25 20:41:11
|
Gentlemen, I just tried running a "freeglut" demo and found that it would not build with the current "freeglut" library. Two functions were missing: "__glutCreateMenuWithExit" and "__glutInitWithExit". I have found both of these functions inside a "#ifdef" block checking for the definition of "_WIN32". It transpires that that particular symbol is not defined on my Windows machine with my MSVC 6 compiler. Several questions come to mind: * How do the demos behave on Linux systems? * What are we doing with "_WIN32" checks rather than "TARGET_HOST_WINDOWS" checks? * Why do we have interface functions that begin with a pair of underscores? A note in the SVN logs says that this makes it binary compatible with some GLUT 3.7 DLLs that are "out in the wild." A "grep" in my GLUT 3.7 source files reveals no such functions. This last point deserves further discussion. Mark Kilgard was adamant that NOBODY was allowed to modify the GLUT source code and redistribute it. A little research on the web reveals a "GLUT 3.7.6" by Nate Robins, who ported the original GLUT to Windows. I realize that we are not modifying GLUT source code, so we aren't in any legal trouble on this score. (There may be some trouble about using the same internal variable names, though.) But is this a road that we want to go down? How legal is GLUT 3.7.6? Are we breaking binary compatibility with earlier, legal versions of GLUT by including this? The latest bit of momentum for a 2.6.0 release seems to have sputtered and spent itself, and so we may have just dodged a bullet here. We need Steve Baker's input here before we go any further. John F. Fay Technical Fellow Jacobs Technology TEAS Group 850-883-1294 |