-#ifndef HAVE_MESA_GL
-# if defined(__sun) && defined(__SVR4) /* Solaris */
-# define SUN_OGL_NO_VERTEX_MACROS 1
-# endif /* Solaris */
-#endif /* !HAVE_MESA_GL */
+# ifndef HAVE_MESA_GL
+# if defined(__sun) && defined(__SVR4) /* Solaris */
+# define SUN_OGL_NO_VERTEX_MACROS 1
+# endif /* Solaris */
+# endif /* !HAVE_MESA_GL */
+
+# ifdef HAVE_COCOA
+# include <OpenGL/gl.h>
+# else
+# include <GL/gl.h>
+# include <GL/glx.h>
+# endif
+
+ extern GLXContext *init_GL (ModeInfo *);
+ extern void clear_gl_error (void);
+ extern void check_gl_error (const char *type);
+
+ extern void do_fps (ModeInfo *);
+ extern GLfloat fps_1 (ModeInfo *);
+ extern void fps_2 (ModeInfo *);
+
+ extern Visual *xlockmore_pick_gl_visual (Screen *);
+ extern Bool xlockmore_validate_gl_visual (Screen *, const char *, Visual *);
+
+#endif /* !USE_GL */
+
+extern void xlockmore_setup (struct xscreensaver_function_table *, void *);