1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>
Autoconf Macro: mdl_have_opengl
</title>
<link rel="stylesheet" type="text/css" href="ac-archive.css">
</head>
<body>
<table summary="web navigation" style="width:100%;">
<tbody>
<tr>
<td style="width:50%;" align="center">
<a href="http://autoconf-archive.cryp.to/mdl_have_opengl.m4">Download M4
Source</a>
</td>
<td style="width:50%;" align="center">
<a href="macros-by-category.html">Macro Index Page</a>
</td>
</tr>
</tbody>
</table>
<hr>
<h1>
mdl_have_opengl
</h1>
<h2>
Synopsis
</h2>
<p class="indent" style="white-space:nowrap;">
<code>MDL_HAVE_OPENGL</code>
</p>
<h2>
Description
</h2>
<div class="indent">
<p>
Search for OpenGL. We search first for Mesa (a GPL'ed version of Mesa)
before a vendor's version of OpenGL, unless we were specifically asked not
to with `--with-Mesa=no' or `--without-Mesa'.
</p>
<p>
The four "standard" OpenGL libraries are searched for: "-lGL", "-lGLU",
"-lGLX" (or "-lMesaGL", "-lMesaGLU" as the case may be) and "-lglut".
</p>
<p>
All of the libraries that are found (since "-lglut" or "-lGLX" might be
missing) are added to the shell output variable "GL_LIBS", along with any
other libraries that are necessary to successfully link an OpenGL
application (e.g. the X11 libraries). Care has been taken to make sure that
all of the libraries in "GL_LIBS" are listed in the proper order.
</p>
<p>
Additionally, the shell output variable "GL_CFLAGS" is set to any flags
(e.g. "-I" flags) that are necessary to successfully compile an OpenGL
application.
</p>
<p>
The following shell variable (which are not output variables) are also set
to either "yes" or "no" (depending on which libraries were found) to help
you determine exactly what was found.
</p>
<pre>
have_GL
have_GLU
have_GLX
have_glut
</pre>
<p>
A complete little toy "Automake `make distcheck'" package of how to use
this macro is available at:
</p>
<pre>
ftp://ftp.slac.stanford.edu/users/langston/autoconf/ac_opengl-0.01.tar.gz
</pre>
<p>
Please note that as the ac_opengl macro and the toy example evolves, the
version number increases, so you may have to adjust the above URL
accordingly.
</p>
<p>
minor bugfix by ahmet inan <auto@ainan.org>
</p>
</div>
<h2>
Author
</h2>
<p class="indent">
Matthew D. Langston <langston@SLAC.Stanford.EDU>
</p>
<h2>
Last Modified
</h2>
<p class="indent">
2002-09-25
</p>
<h2>
M4 Source Code
</h2>
<div class="indent">
<pre class="m4source">
AC_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; then
GL_search_list="MesaGL GL"
GLU_search_list="MesaGLU GLU"
GLX_search_list="MesaGLX GLX"
else
GL_search_list="GL MesaGL"
GLU_search_list="GLU MesaGLU"
GLX_search_list="GLX MesaGLX"
fi
AC_LANG_SAVE
AC_LANG_C
dnl If we are running under X11 then add in the appropriate libraries.
if test x"$no_x" != xyes; then
dnl Add everything we need to compile and link X programs to GL_X_CFLAGS
dnl and GL_X_LIBS.
GL_CFLAGS="$X_CFLAGS"
GL_X_LIBS="$X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
fi
GL_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/null
AC_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>&8
if test -n "$LIBS"; then
mdl_cv_have_OpenGL=yes
GL_LIBS="$LIBS"
AC_SUBST(GL_CFLAGS)
AC_SUBST(GL_LIBS)
else
mdl_cv_have_OpenGL=no
GL_CFLAGS=
fi
dnl Reset GL_X_LIBS regardless, since it was just a temporary variable
dnl and we don't want to be global namespace polluters.
GL_X_LIBS=
LIBS="$GL_save_LIBS"
CPPFLAGS="$GL_save_CPPFLAGS"
AC_LANG_RESTORE
dnl bugfix: dont forget to cache this variables, too
mdl_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
</pre>
</div>
</body>
</html>
|