dnl @synopsis MDL_HAVE_OPENGLdnldnl Search for OpenGL. We search first for Mesa (a GPL'ed version ofdnl Mesa) before a vendor's version of OpenGL, unless we werednl specifically asked not to with `--with-Mesa=no' ordnl `--without-Mesa'.dnldnl The four "standard" OpenGL libraries are searched for: "-lGL",dnl "-lGLU", "-lGLX" (or "-lMesaGL", "-lMesaGLU" as the case may be)dnl and "-lglut".dnldnl All of the libraries that are found (since "-lglut" or "-lGLX"dnl might be missing) are added to the shell output variable "GL_LIBS",dnl along with any other libraries that are necessary to successfullydnl link an OpenGL application (e.g. the X11 libraries). Care has beendnl taken to make sure that all of the libraries in "GL_LIBS" arednl listed in the proper order.dnldnl Additionally, the shell output variable "GL_CFLAGS" is set to anydnl flags (e.g. "-I" flags) that are necessary to successfully compilednl an OpenGL application.dnldnl The following shell variable (which are not output variables) arednl also set to either "yes" or "no" (depending on which libraries werednl found) to help you determine exactly what was found.dnldnl have_GLdnl have_GLUdnl have_GLXdnl have_glutdnldnl A complete little toy "Automake `make distcheck'" package of how todnl use this macro is available at:dnldnl ftp://ftp.slac.stanford.edu/users/langston/autoconf/ac_opengl-0.01.tar.gzdnldnl Please note that as the ac_opengl macro and the toy examplednl evolves, the version number increases, so you may have to adjustdnl the above URL accordingly.dnldnl minor bugfix by ahmet inan <auto@ainan.org>dnldnl @category InstalledPackagesdnl @author Matthew D. Langston <langston@SLAC.Stanford.EDU>dnl @version 2002-09-25dnl @license GPLWithACExceptionAC_DEFUN([MDL_HAVE_OPENGL],[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PATH_X])AC_REQUIRE([AC_PATH_XTRA])AC_CACHE_CHECK([for OpenGL], mdl_cv_have_OpenGL,[dnl Check for Mesa first, unless we were asked not to.AC_ARG_WITH([--with-Mesa],[Prefer the Mesa library over a vendors native OpenGL library (default=yes)],with_Mesa_help_string)AC_ARG_ENABLE(Mesa, $with_Mesa_help_string, use_Mesa=$enableval, use_Mesa=yes)if test x"$use_Mesa" = xyes; thenGL_search_list="MesaGL GL"GLU_search_list="MesaGLU GLU"GLX_search_list="MesaGLX GLX"elseGL_search_list="GL MesaGL"GLU_search_list="GLU MesaGLU"GLX_search_list="GLX MesaGLX"fiAC_LANG_SAVEAC_LANG_Cdnl If we are running under X11 then add in the appropriate libraries.if test x"$no_x" != xyes; thendnl Add everything we need to compile and link X programs to GL_X_CFLAGSdnl and GL_X_LIBS.GL_CFLAGS="$X_CFLAGS"GL_X_LIBS="$X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"fiGL_save_CPPFLAGS="$CPPFLAGS"CPPFLAGS="$GL_CFLAGS"GL_save_LIBS="$LIBS"LIBS="$GL_X_LIBS"# Save the "AC_MSG_RESULT file descriptor" to FD 8.exec 8>&AC_FD_MSG# Temporarily turn off AC_MSG_RESULT so that the user gets pretty# messages.exec AC_FD_MSG>/dev/nullAC_SEARCH_LIBS(glAccum, $GL_search_list, have_GL=yes, have_GL=no)AC_SEARCH_LIBS(gluBeginCurve, $GLU_search_list, have_GLU=yes, have_GLU=no)AC_SEARCH_LIBS(glXChooseVisual, $GLX_search_list, have_GLX=yes, have_GLX=no)AC_SEARCH_LIBS(glutInit, glut, have_glut=yes, have_glut=no)# Restore pretty messages.exec AC_FD_MSG>&8if test -n "$LIBS"; thenmdl_cv_have_OpenGL=yesGL_LIBS="$LIBS"AC_SUBST(GL_CFLAGS)AC_SUBST(GL_LIBS)elsemdl_cv_have_OpenGL=noGL_CFLAGS=fidnl Reset GL_X_LIBS regardless, since it was just a temporary variablednl and we don't want to be global namespace polluters.GL_X_LIBS=LIBS="$GL_save_LIBS"CPPFLAGS="$GL_save_CPPFLAGS"AC_LANG_RESTOREdnl bugfix: dont forget to cache this variables, toomdl_cv_GL_CFLAGS="$GL_CFLAGS"mdl_cv_GL_LIBS="$GL_LIBS"mdl_cv_have_GL="$have_GL"mdl_cv_have_GLU="$have_GLU"mdl_cv_have_GLX="$have_GLX"mdl_cv_have_glut="$have_glut"])GL_CFLAGS="$mdl_cv_GL_CFLAGS"GL_LIBS="$mdl_cv_GL_LIBS"have_GL="$mdl_cv_have_GL"have_GLU="$mdl_cv_have_GLU"have_GLX="$mdl_cv_have_GLX"have_glut="$mdl_cv_have_glut"])dnl endof bugfix -ainan