summaryrefslogtreecommitdiff
path: root/m4/opengl.m4
blob: c8ec7bd1b4d5974e190dcdc646a80d67051c8627 (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
64
65
66
67
68
69
70
71
72
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
    case "$host" in
      *darwin*) dnl Use native interface
          OPENGL_LIBS="-framework Carbon -framework AGL -framework OpenGL -framework AppKit"
          OPENGL_CFLAGS="-framework Carbon -framework AGL -framework OpenGL -framework AppKit"
          ac_use_opengl="yes"
          ;;
      *)
        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
        ;;
    esac
  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

])