I am still working on building my program for the package-challenged RHEL9 machines. When I build a Wayland-only build, I end up with a dependence on glvnd. When I build in a more conventional (trying to use defaults for the whole stack), I end up with FLTK depending on GLU.
My user's machines do not have glvnd installed on them. At least some of their machines do not have GLU installed on them. Quoting from the config.h:
/*
* HAVE_GL_GLU_H:
*
* Do you have the OpenGL Utility Library header file?
* (many broken Mesa RPMs do not...)
*/
It would seem that this machine has a broken Mesa RPM installed.
Of course my development VM has tons of stuff installed, as I've been installing all kinds of packages trying to get everything bootstrapped and working.
Consequently, you can think of my situation as 'cross compiling'. I'm on a feature-rich RHEL9 machine trying to build for a feature-deprived RHEL9 machine. So, although CMake detects HAVE_GL_GLU_H=1 for my machine, I'd like to build with HAVE_GL_GLU=0.
As you pointed out, the only GLU call in all of FLTK itself is
gluUnProject() in
gl_draw.cxx. It appears that the examples make much more extensive use of GLU. One tempting option would be to re-implement
gluUnProject natively in FLTK and remove the dependence on GLU (for the main library) entirely. It is just a little matrix math and a permissively licensed implementation can probably be found.
The TLDR is -- I'm cross-compiling for a HAVE_GL_GLU=0 machine on a HAVE_GL_GLU=1 machine and I would like to be able to set the variable manually.
Rob