1AC_DEFUN([MDL_HAVE_OPENGL],
2[
3  AC_REQUIRE([AC_PROG_CC])
4  AC_REQUIRE([AC_PATH_X])
5  AC_REQUIRE([AC_PATH_XTRA])
6
7  AC_CACHE_CHECK([for OpenGL], mdl_cv_have_OpenGL,
8  [
9dnl Check for Mesa first, unless we were asked not to.
10    AC_ARG_WITH([--with-Mesa],
11                   [Prefer the Mesa library over a vendors native OpenGL library (default=yes)],
12                   with_Mesa_help_string)
13    AC_ARG_ENABLE(Mesa, $with_Mesa_help_string, use_Mesa=$enableval, use_Mesa=yes)
14
15    if test x"$use_Mesa" = xyes; then
16       GL_search_list="MesaGL   GL"
17      GLU_search_list="MesaGLU GLU"
18      GLX_search_list="MesaGLX GLX GL"
19    else
20       GL_search_list="GL  MesaGL"
21      GLU_search_list="GLU MesaGLU"
22      GLX_search_list="GLX MesaGLX GL"
23    fi
24
25    AC_LANG_SAVE
26    AC_LANG_C
27
28dnl If we are running under X11 then add in the appropriate libraries.
29if test x"$no_x" != xyes; then
30dnl Add everything we need to compile and link X programs to GL_X_CFLAGS
31dnl and GL_X_LIBS.
32  GL_CFLAGS="$X_CFLAGS"
33  GL_X_LIBS="$X_PRE_LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
34fi
35    GL_save_CPPFLAGS="$CPPFLAGS"
36    CPPFLAGS="$GL_CFLAGS"
37
38    GL_save_LIBS="$LIBS"
39    LIBS="$GL_X_LIBS"
40
41
42    # Save the "AC_MSG_RESULT file descriptor" to FD 8.
43    exec 8>&AC_FD_MSG
44
45    # Temporarily turn off AC_MSG_RESULT so that the user gets pretty
46    # messages.
47    exec AC_FD_MSG>/dev/null
48
49    AC_SEARCH_LIBS(glAccum,          $GL_search_list, have_GL=yes,   have_GL=no)
50    AC_SEARCH_LIBS(gluBeginCurve,   $GLU_search_list, have_GLU=yes,  have_GLU=no)
51    AC_SEARCH_LIBS(glXChooseVisual, $GLX_search_list, have_GLX=yes,  have_GLX=no)
52
53
54
55    # Restore pretty messages.
56    exec AC_FD_MSG>&8
57
58    if test -n "$LIBS"; then
59      mdl_cv_have_OpenGL=yes
60      GL_LIBS="$LIBS"
61      AC_SUBST(GL_CFLAGS)
62      AC_SUBST(GL_LIBS)
63    else
64      mdl_cv_have_OpenGL=no
65      GL_CFLAGS=
66    fi
67
68dnl Reset GL_X_LIBS regardless, since it was just a temporary variable
69dnl and we don't want to be global namespace polluters.
70    GL_X_LIBS=
71
72    LIBS="$GL_save_LIBS"
73    CPPFLAGS="$GL_save_CPPFLAGS"
74
75    AC_LANG_RESTORE
76
77dnl bugfix: dont forget to cache this variables, too
78    mdl_cv_GL_CFLAGS="$GL_CFLAGS"
79    mdl_cv_GL_LIBS="$GL_LIBS"
80    mdl_cv_have_GL="$have_GL"
81    mdl_cv_have_GLU="$have_GLU"
82    mdl_cv_have_GLX="$have_GLX"
83  ])
84  GL_CFLAGS="$mdl_cv_GL_CFLAGS"
85  GL_LIBS="$mdl_cv_GL_LIBS"
86  have_GL="$mdl_cv_have_GL"
87  have_GLU="$mdl_cv_have_GLU"
88  have_GLX="$mdl_cv_have_GLX"
89])
90dnl endof bugfix -ainan
91
92