*/
/* Define FREEGLUT_LIB_PRAGMAS to 1 to include library
- * pragmas or to 1 to exclude library pragmas.
+ * pragmas or to 0 to exclude library pragmas.
* The default behavior depends on the compiler/platform.
*/
# ifndef FREEGLUT_LIB_PRAGMAS
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN 1
# endif
-# define NOMINMAX
-# include <Windows.h>
+# ifndef NOMINMAX
+# define NOMINMAX
+# endif
+# include <windows.h>
/* Windows static library */
# ifdef FREEGLUT_STATIC
/*
* Always include OpenGL and GLU headers
*/
+#ifdef ANDROID
+/* Use EGL (implies OpenGL ES) */
+/* TODO: EGL/GLES builds should be more generally defined, possibly by
+ generating this file dynamically */
+#include <EGL/egl.h>
+/* TODO: we probably need 2 builds: -lGLESv1 and -lGLESv2 */
+/* #include <GLES/gl.h> */
+#include <GLES2/gl2.h>
+/* TODO: temporary work-around for e.g. glutWireCube */
+#define GLdouble GLfloat
+#else
#include <GL/gl.h>
#include <GL/glu.h>
+#endif
/*
* GLUT API macro definitions -- the special key codes:
#define GLUT_MULTISAMPLE 0x0080
#define GLUT_STEREO 0x0100
#define GLUT_LUMINANCE 0x0200
-#define GLUT_CAPTIONLESS 0x0400
-#define GLUT_BORDERLESS 0x0800
/*
* GLUT API macro definitions -- windows and menu related definitions
/* to get the prototype for exit() */
#include <stdlib.h>
-#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
+#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) && !defined(__WATCOMC__)
FGAPI void FGAPIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int));
FGAPI int FGAPIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int));
FGAPI int FGAPIENTRY __glutCreateMenuWithExit(void (* func)(int), void (__cdecl *exitfunc)(int));