-dnl The variable LIBM (which is not an output variable by default) is
-dnl set to a value which is suitable for use in a Makefile (for example,
-dnl in make's LOADLIBES macro) provided you AC_SUBST it first.
-dnl
-dnl @author Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
-# FPTOOLS_CHECK_LIBM - check for math library
-AC_DEFUN(FPTOOLS_CHECK_LIBM,
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case "$host" in
-*-*-beos*)
- # These system don't have libm
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
- ;;
-*)
- AC_CHECK_LIB(m, main, LIBM="-lm")
- ;;
-esac
-])
-
-dnl ######################################################################
-dnl Note: Caching has been completely rewritten, but is still no perfect yet.
-dnl ######################################################################
-
-dnl ########################### -*- Mode: M4 -*- #######################
-dnl Copyright (C) 98, 1999 Matthew D. Langston <langston@SLAC.Stanford.EDU>
-dnl
-dnl This file is free software; you can redistribute it and/or modify it
-dnl under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This file is distributed in the hope that it will be useful, but
-dnl WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-dnl General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this file; if not, write to:
-dnl
-dnl Free Software Foundation, Inc.
-dnl Suite 330
-dnl 59 Temple Place
-dnl Boston, MA 02111-1307, USA.
-dnl ####################################################################
-
-dnl @synopsis FPTOOLS_HAVE_OPENGL
-dnl
-dnl Search for OpenGL. We search first for Mesa (a GPL'ed version of
-dnl OpenGL) before a vendor's version of OpenGL if we were specifically
-dnl asked to with `--with-Mesa=yes' or `--with-Mesa'.
-dnl
-dnl The four "standard" OpenGL libraries are searched for: "-lGL",
-dnl "-lGLU", "-lGLX" (or "-lMesaGL", "-lMesaGLU" as the case may be) and
-dnl "-lglut".
-dnl
-dnl All of the libraries that are found (since "-lglut" or "-lGLX" might
-dnl be missing) are added to the shell output variable "GL_LIBS", along
-dnl with any other libraries that are necessary to successfully link an
-dnl OpenGL application (e.g. the X11 libraries). Care has been taken to
-dnl make sure that all of the libraries in "GL_LIBS" are listed in the
-dnl proper order.
-dnl
-dnl Additionally, the shell output variable "GL_CFLAGS" is set to any
-dnl flags (e.g. "-I" flags) that are necessary to successfully compile
-dnl an OpenGL application.
-dnl
-dnl The following shell variable (which are not output variables) are
-dnl also set to either "yes" or "no" (depending on which libraries were
-dnl found) to help you determine exactly what was found.
-dnl
-dnl have_GL
-dnl have_GLU
-dnl have_GLX
-dnl have_glut
-dnl
-dnl A complete little toy "Automake `make distcheck'" package of how to
-dnl use this macro is available at:
-dnl
-dnl ftp://ftp.slac.stanford.edu/users/langston/autoconf/ac_opengl-0.01.tar.gz
-dnl
-dnl Please note that as the ac_opengl macro and the toy example evolves,
-dnl the version number increases, so you may have to adjust the above
-dnl URL accordingly.
-dnl
-dnl @author Matthew D. Langston <langston@SLAC.Stanford.EDU>
-
-AC_DEFUN(FPTOOLS_HAVE_OPENGL,
-[
- AC_REQUIRE([AC_PROG_CC])
- AC_REQUIRE([AC_PATH_X])
- AC_REQUIRE([AC_PATH_XTRA])
- AC_REQUIRE([FPTOOLS_CHECK_LIBM])
-
-dnl Check for Mesa first if we were asked to.
- AC_ARG_ENABLE(Mesa,
-[ --enable-mesa
- Prefer Mesa over a vendor's native OpenGL library (default=no)
-],
- use_Mesa=$enableval,
- use_Mesa=no)
-
- if test x"$use_Mesa" = xyes; then
- GL_search_list="MesaGL GL opengl32"
- GLU_search_list="MesaGLU GLU glu32"
- GLX_search_list="MesaGLX GLX"
- else
- GL_search_list="GL opengl32 MesaGL"
- GLU_search_list="GLU glu32 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_CFLAGS
-dnl and GL_X_LIBS/GLUT_X_LIBS.
- GL_CFLAGS="$CPPFLAGS $X_CFLAGS"
- GL_X_LIBS="$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS $LIBM"
- GLUT_X_LIBS="$X_LIBS $X_PRE_LIBS -lXmu -lXt -lXi -lXext -lX11 $X_EXTRA_LIBS $LIBM"
- fi
- GL_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$GL_CFLAGS"
-
- GL_save_LIBS="$LIBS"
- LIBS="$GL_X_LIBS"
-
- FPTOOLS_SEARCH_LIBS([#include <GL/gl.h>], glEnd, $GL_search_list, have_GL=yes, have_GL=no)
- FPTOOLS_SEARCH_LIBS([#include <GL/glu.h>], gluNewQuadric, $GLU_search_list, have_GLU=yes, have_GLU=no)
- FPTOOLS_SEARCH_LIBS([#include <GL/glx.h>], glXWaitX, $GLX_search_list, have_GLX=yes, have_GLX=no)
-
- if test -n "$LIBS"; then
- GL_LIBS="$LDFLAGS $LIBS"
- else
- GL_LIBS="$LDFLAGS"
- GL_CFLAGS=
- fi
-
- LIBS="$GLUT_X_LIBS"