NAME

config/auto/opengl.pm - Probe for OpenGL, GLU, and GLUT libraries

DESCRIPTION

Determines whether the platform supports OpenGL, GLU and GLUT. The optimal result at this time is to find OpenGL 2.1, GLU 1.3, and GLUT API version 4.

You will typically need to install the headers and libraries required for compiling OpenGL/GLU/GLUT applications as a separate step in addition to the base development tools for your platform. The following sections detail the steps needed to add OpenGL support for each platform for which we have received this information -- details for additional platforms are welcome!

Mac OS X

You will need to install the OpenGL Framework and the GLUT Framework. With these in place, everything else should be autodetected. Mac OS X uses a proprietary GLUT variant that supports more functions than standard GLUT 3.7, but fewer than freeglut.

Linux

Linux distributions typically use freeglut (http://freeglut.sourceforge.net/) for GLUT support, and Mesa (http://www.mesa3d.org/) for GLU support. Either the Mesa headers (for open source drivers) or the vendor headers (for closed source drivers) can be used for core OpenGL/GLX support. Here are the package names for various distributions; installing each of these will typically pull in a number of prerequisites as well:

Debian/Ubuntu/etc.

GLUT
freeglut3-dev
GLU
libglu1-mesa-dev
OpenGL/GLX (open source drivers)
libgl1-mesa-dev
OpenGL/GLX (NVIDIA drivers)
nvidia-glx-dev

Fedora/RedHat/CentOS/etc.

GLUT
freeglut-devel
GLU
mesa-libGLU-devel
OpenGL/GLX (open source drivers)
mesa-libGL-devel
OpenGL/GLX (NVIDIA drivers)
nvidia-devel (?)

Windows

On Windows, Parrot supports three different compiler environments, each of which has different requirements for OpenGL support:

MSVC

OpenGL/GLU/WGL
Windows SDK for Windows Server 2008 and .NET Framework 3.5
GLUT
GLUT for Win32 (http://www.xmission.com/~nate/glut.html)

MinGW

GLUT 3.7.6, see http://www.transmissionzero.co.uk/computing/using-glut-with-mingw/.

Cygwin/w32api

The Cygwin/w32api for native opengl support

opengl, w32api

Cygwin/X

Requires a X server.

freeglut, libglut-devel, xorg-x11-devel

This is detected if freeglut is installed and DISPLAY is set. It requires an X server.