summaryrefslogtreecommitdiff
path: root/m4/opengl.m4
blob: fdc30751ec6388fa71b9c5856371a8e0ba3cd305 (plain)
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
dnl
dnl Check for OpenGL & [Glut | GLU]
dnl
dnl AM_PATH_OPENGL([ACTION IF FOUND [, ACTION IF NOT FOUND]])
dnl

AC_DEFUN([AM_PATH_OPENGL], [

  AC_ARG_ENABLE(opengl, AC_HELP_STRING([--disable-opengl], [do not build OpenGL plugin]),
    [enableopengl=$enableval],
    [enableopengl="yes"]
  )

  if test x$enableopengl = "xyes"; then
    AC_CHECK_LIB(GL, glBegin,
     [AC_CHECK_HEADER(GL/gl.h,
       [ac_have_opengl="yes"
        OPENGL_LIBS="-lGL"
        dnl check for glut
        AC_CHECK_LIB(glut, glutInit,
         [ac_have_glut="yes"
          GLUT_LIBS="-lglut"
          AC_DEFINE(HAVE_GLUT,1,[Define this if you have GLut support available])
          AC_DEFINE(HAVE_OPENGL,1,[Define this if you have OpenGL support available])
         ],
         [ac_have_glut="no"
          dnl fallback, check for GLU
          AC_CHECK_LIB(GLU, gluPerspective,
           [ac_have_glu="yes"
            GLU_LIBS="-lGLU -lm" 
            AC_DEFINE(HAVE_GLU,1,[Define this if you have GLU support available])
            AC_DEFINE(HAVE_OPENGL,1,[Define this if you have OpenGL support available])
           ],
           [ac_have_glu="no"], 
           [$X_LIBS $X_PRE_LIBS $OPENGL_LIBS -lGLU -lm $X_EXTRA_LIBS]
          )
         ], 
         [$X_LIBS $X_PRE_LIBS -lglut $X_EXTRA_LIBS]
        )
       ]
     )],
     [],
     [$X_LIBS $X_PRE_LIBS -lGL $X_EXTRA_LIBS]
    )
    if test x$ac_have_opengl = "xyes" -a x$ac_have_glut = "xyes" -o x$ac_have_opengl = "xyes" -a x$ac_have_glu = "xyes"; then
      ac_use_opengl=yes
    fi
  fi

  AC_SUBST(OPENGL_CFLAGS)
  AC_SUBST(OPENGL_LIBS)
  AC_SUBST(GLUT_LIBS)
  AC_SUBST(GLU_LIBS)
  AM_CONDITIONAL(HAVE_OPENGL, [test x$ac_use_opengl = "xyes"])

  dnl result
  if test x$ac_use_opengl = "xyes"; then
    ifelse([$1], , :, [$1])
  else
    ifelse([$2], , :, [$2])
  fi

])