1dnl @synopsis AX_CHECK_GL 2dnl 3dnl Check for an OpenGL implementation. If GL is found, the required 4dnl compiler and linker flags are included in the output variables 5dnl "GL_CFLAGS" and "GL_LIBS", respectively. This macro adds the 6dnl configure option "--with-apple-opengl-framework", which users can 7dnl use to indicate that Apple's OpenGL framework should be used on Mac 8dnl OS X. If Apple's OpenGL framework is used, the symbol 9dnl "HAVE_APPLE_OPENGL_FRAMEWORK" is defined. If no GL implementation 10dnl is found, "no_gl" is set to "yes". 11dnl 12dnl @category InstalledPackages 13dnl @author Braden McDaniel <braden@endoframe.com> 14dnl @version 2004-11-15 15dnl @license AllPermissive 16 17AC_DEFUN([AX_CHECK_GL], 18[AC_REQUIRE([AC_PATH_X])dnl 19AC_REQUIRE([ACX_PTHREAD])dnl 20 21# 22# There isn't a reliable way to know we should use the Apple OpenGL framework 23# without a configure option. A Mac OS X user may have installed an 24# alternative GL implementation (e.g., Mesa), which may or may not depend on X. 25# 26AC_ARG_WITH([apple-opengl-framework], 27 [AC_HELP_STRING([--with-apple-opengl-framework], 28 [use Apple OpenGL framework (Mac OS X only)])]) 29if test "X$with_apple_opengl_framework" = "Xyes"; then 30 AC_DEFINE([HAVE_APPLE_OPENGL_FRAMEWORK], [1], 31 [Use the Apple OpenGL framework.]) 32 GL_LIBS="-framework OpenGL" 33else 34 AC_LANG_PUSH(C) 35 36 AX_LANG_COMPILER_MS 37 if test X$ax_compiler_ms = Xno; then 38 GL_CFLAGS="${PTHREAD_CFLAGS}" 39 GL_LIBS="${PTHREAD_LIBS} -lm" 40 fi 41 42 # 43 # Use x_includes and x_libraries if they have been set (presumably by 44 # AC_PATH_X). 45 # 46 if test "X$no_x" != "Xyes"; then 47 if test -n "$x_includes"; then 48 GL_CFLAGS="-I${x_includes} ${GL_CFLAGS}" 49 fi 50 if test -n "$x_libraries"; then 51 GL_LIBS="-L${x_libraries} -lX11 ${GL_LIBS}" 52 fi 53 fi 54 55 AC_CHECK_HEADERS([windows.h]) 56 57 AC_CACHE_CHECK([for OpenGL library], [ax_cv_check_gl_libgl], 58 [ax_cv_check_gl_libgl="no" 59 ax_save_CPPFLAGS="${CPPFLAGS}" 60 CPPFLAGS="${GL_CFLAGS} ${CPPFLAGS}" 61 ax_save_LIBS="${LIBS}" 62 LIBS="" 63 ax_check_libs="-lopengl32 -lGL" 64 for ax_lib in ${ax_check_libs}; do 65 if test X$ax_compiler_ms = Xyes; then 66 ax_try_lib=`echo $ax_lib | sed -e 's/^-l//' -e 's/$/.lib/'` 67 else 68 ax_try_lib="${ax_lib}" 69 fi 70 LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}" 71 AC_LINK_IFELSE( 72 [AC_LANG_PROGRAM([[ 73# if HAVE_WINDOWS_H && defined(_WIN32) 74# include <windows.h> 75# endif 76# include <GL/gl.h>]], 77 [[glBegin(0)]])], 78 [ax_cv_check_gl_libgl="${ax_try_lib}"; break]) 79 done 80 LIBS=${ax_save_LIBS} 81 CPPFLAGS=${ax_save_CPPFLAGS}]) 82 83 if test "X${ax_cv_check_gl_libgl}" = "Xno"; then 84 no_gl="yes" 85 GL_CFLAGS="" 86 GL_LIBS="" 87 else 88 GL_LIBS="${ax_cv_check_gl_libgl} ${GL_LIBS}" 89 fi 90 AC_LANG_POP(C) 91fi 92 93AC_SUBST([GL_CFLAGS]) 94AC_SUBST([GL_LIBS]) 95])dnl 96