|
-
- # LOL_CHECK_OPENGL()
- # ------------------
- AC_DEFUN([LOL_CHECK_OPENGL],
- [
- dnl Find which version of OpenGL to use
- ac_cv_my_have_gl="no"
- ac_cv_my_stop_looking_for_gl="no"
-
- if test "x${ac_cv_my_stop_looking_for_gl}" = "xno"; then
- LIBS_save="$LIBS"
- LIBS="$LIBS -Wl,-framework -Wl,OpenGL"
- AC_MSG_CHECKING(for -framework OpenGL)
- AC_TRY_LINK([], [],
- [AC_MSG_RESULT(yes)
- ac_cv_my_have_gl="yes"
- GL_LIBS="${GL_LIBS} -framework OpenGL"
- CXXFLAGS="${CXXFLAGS} -ObjC++"
- AC_DEFINE(HAVE_GL_2X, 1, Define to 1 if GL 2.x is available)],
- [AC_MSG_RESULT(no)])
- LIBS="$LIBS_save"
- fi
-
- dnl Use the Raspberry Pi libraries?
- if test "x${ac_cv_my_stop_looking_for_gl}" = "xno"; then
- AC_CHECK_HEADERS(bcm_host.h,
- [AC_CHECK_LIB(vcos, main,
- [ac_cv_my_have_gl="yes"
- ac_cv_my_stop_looking_for_gl="yes"
- AC_DEFINE(HAVE_GLES_2X, 1, Define to 1 if GLES 2.x is available)
- dnl FIXME: -lEGL does not belong here but the configure test fails
- dnl when cross-compiling, so we add it manually here.
- GL_LIBS="${GL_LIBS} -lGLESv2 -lEGL -lvcos -lvchiq_arm -lbcm_host"])])
- fi
-
- dnl Use the PS3 PSGL?
- if test "x${ac_cv_my_stop_looking_for_gl}" = "xno"; then
- AC_CHECK_HEADERS(PSGL/psgl.h,
- [ac_cv_my_have_gl="yes"
- ac_cv_my_stop_looking_for_gl="yes"])
- fi
-
- if test "x${ac_cv_my_stop_looking_for_gl}" = "xno"; then
- PKG_CHECK_MODULES(GLES2, glesv2,
- [ac_cv_my_have_gl="yes"
- AC_DEFINE(HAVE_GLES_2X, 1, Define to 1 if GLES 2.x is available)
- GL_CFLAGS="${GL_CFLAGS} ${GLES2_CFLAGS}"
- GL_LIBS="${GL_LIBS} ${GLES2_LIBS}"],
- [:])
- fi
-
- if test "x${ac_cv_my_stop_looking_for_gl}" = "xno"; then
- AC_CHECK_HEADER(GLES2/gl2.h,
- [ac_cv_my_have_gl="yes"
- AC_DEFINE(HAVE_GLES_2X, 1, Define to 1 if GLES 2.x is available)
- AC_CHECK_LIB(GLESv2, glEnable,
- [GL_LIBS="${GL_LIBS} -lGLESv2"])])
- fi
-
- if test "x${ac_cv_my_stop_looking_for_gl}" = "xno"; then
- PKG_CHECK_MODULES(GL, gl,
- [ac_cv_my_have_gl="yes"
- AC_DEFINE(HAVE_GL_2X, 1, Define to 1 if GL 2.x is available)],
- [:])
- fi
-
- if test "x${ac_cv_my_stop_looking_for_gl}" = "xno"; then
- AC_CHECK_LIB(GL, glEnable,
- [ac_cv_my_have_gl="yes"
- AC_DEFINE(HAVE_GL_2X, 1, Define to 1 if GL 2.x is available) # FIXME: hackish
- GL_LIBS="-lGL"])
- fi
-
- if test "x${ac_cv_my_stop_looking_for_gl}" = "xno"; then
- AC_CHECK_HEADER(GL/gl.h,
- [LIBS_save="$LIBS"
- LIBS="$LIBS -lopengl32"
- AC_MSG_CHECKING(for glLoadIdentity in -lopengl32)
- AC_TRY_LINK([#include <GL/gl.h>],
- [glLoadIdentity();],
- [ac_cv_my_have_gl="yes"
- AC_DEFINE(HAVE_GL_2X, 1, Define to 1 if GL 2.x is available) # FIXME: hack
- AC_MSG_RESULT(yes)
- GL_LIBS="-lopengl32"],
- [AC_MSG_RESULT(no)])
- LIBS="$LIBS_save"])
- fi
-
- if test "${ac_cv_my_have_gl}" = "no"; then
- AC_MSG_ERROR([[No OpenGL or OpenGL ES implementation found]])
- fi
-
-
- dnl Use Glew?
- ac_cv_my_have_glew="no"
- PKG_CHECK_MODULES(GLEW, glew,
- [ac_cv_my_have_glew="yes"
- GL_CFLAGS="${GLEW_CFLAGS} ${GL_CFLAGS}"
- GL_LIBS="${GLEW_LIBS} ${GL_LIBS}"],
- [:])
- AC_CHECK_HEADER(glew.h,
- [LIBS_save="${LIBS}"
- LIBS="${LIBS} -lglew32 ${GL_LIBS}"
- AC_MSG_CHECKING(for glewInit in -lglew32)
- AC_TRY_LINK(
- [#include <glew.h>],
- [glewInit();],
- [ac_cv_my_have_glew="yes"
- GL_LIBS="-lglew32 ${GL_LIBS}"
- AC_MSG_RESULT(yes)],
- [AC_MSG_RESULT(no)])
- LIBS="${LIBS_save}"])
- if test "${ac_cv_my_have_glew}" != "no"; then
- AC_DEFINE(HAVE_GLES_2X, 1, Define to 1 if GLES 2.x is available)
- AC_DEFINE(USE_GLEW, 1, Define to 1 to use libglew)
- fi
- AM_CONDITIONAL(USE_GLEW, test "${ac_cv_my_have_glew}" != "no")
-
- dnl Poor man's GL feature detection if all else failed.
- save_LIBS="${LIBS}"
- LIBS="${LIBS} ${GL_LIBS} ${GLES2_LIBS}"
- AC_CHECK_FUNCS(glBegin)
- LIBS="${save_LIBS}"
-
- ])# LOL_CHECK_OPENGL
-
|