File: gl.m4

package info (click to toggle)
ftgl 2.4.0-7
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,596 kB
  • sloc: cpp: 17,918; sh: 1,073; ansic: 644; makefile: 372
file content (166 lines) | stat: -rw-r--r-- 5,748 bytes parent folder | download | duplicates (5)
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
dnl FTGL_CHECK_GL()
dnl Check for OpenGL development environment and GLU >= 1.2
dnl
AC_DEFUN([FTGL_CHECK_GL],
[dnl
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_PATH_X])
AC_REQUIRE([AC_PATH_XTRA])

AC_ARG_WITH([--with-gl-inc],
    AC_HELP_STRING([--with-gl-inc=DIR],[Directory where GL/gl.h is installed]))
AC_ARG_WITH([--with-gl-lib],
    AC_HELP_STRING([--with-gl-lib=DIR],[Directory where OpenGL libraries are installed]))
AC_ARG_WITH([--with-glu-lib],
    AC_HELP_STRING([--with-glu-lib=DIR],[Directory where OpenGL GLU library is installed]))

AC_LANG_SAVE
AC_LANG_C

GL_SAVE_CPPFLAGS="$CPPFLAGS"
GL_SAVE_LIBS="$LIBS"

if test "x$no_x" != xyes ; then
    GL_CFLAGS="$X_CFLAGS"
    GL_X_LIBS="$X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu $X_EXTRA_LIBS"
fi

if test "x$with_gl_inc" != "xnone" ; then
    if test -d "$with_gl_inc" ; then
        GL_CFLAGS="-I$with_gl_inc"
    else
        GL_CFLAGS="$with_gl_inc"
    fi
else
    GL_CFLAGS=
fi

CPPFLAGS="$GL_CFLAGS"
AC_CHECK_HEADER([GL/gl.h], [AC_DEFINE([HAVE_GL_GL_H], 1, [Define to 1 if you have the <GL/gl.h header])], [
	AC_CHECK_HEADER([OpenGL/gl.h], [AC_DEFINE([HAVE_OPENGL_GL_H], 1, [Define to 1 if you have the <OpenGL/gl.h header])], [
		AC_MSG_ERROR([GL/gl.h or OpenGL/gl.h is needed, please specify its location with --with-gl-inc.  If this still fails, please contact henryj@paradise.net.nz, include the string FTGL somewhere in the subject line and provide a copy of the config.log file that was left behind.])
	])
])

dnl check whether the OpenGL framework is available
AC_MSG_CHECKING([for OpenGL framework (Darwin-specific)])
FRAMEWORK_OPENGL=""
PRELIBS="$LIBS"
LIBS="$LIBS -Xlinker -framework -Xlinker OpenGL"
# -Xlinker is used because libtool is busted prior to 1.6 wrt frameworks
AC_TRY_LINK([#include <OpenGL/gl.h>], [glBegin(GL_POINTS)],
    [GL_DYLIB="/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib"
     FRAMEWORK_OPENGL="-Xlinker -framework -Xlinker OpenGL -dylib_file $GL_DYLIB: $GL_DYLIB"
     ac_cv_search_glBegin="$FRAMEWORK_OPENGL"
     AC_MSG_RESULT(yes)],
    [AC_MSG_RESULT(no)])
if test x"$FRAMEWORK_OPENGL" != "x"; then
  with_gl_lib="$FRAMEWORK_OPENGL"
fi
AC_SUBST(FRAMEWORK_OPENGL)
LIBS="$PRELIBS"

AC_MSG_CHECKING([for GL library])
echo host=$host
case "x${host}" in
  x*-mingw32) GL_GL_LIBS="-lopengl32"
              GL_GLU_LIBS="-lglu32"
              ;;
  x*) GL_GL_LIBS="-lGL"
      GL_GLU_LIBS="-lGLU"
      ;;
esac

if test "x$with_gl_lib" != "x" ; then
    if test -d "$with_gl_lib" ; then
        LIBS="-L$with_gl_lib $GL_GL_LIBS"
    else
        LIBS="$with_gl_lib"
    fi
else
    LIBS="$GL_GL_LIBS"
fi
AC_LINK_IFELSE([AC_LANG_CALL([],[glBegin])],[HAVE_GL=yes],[
dnl This is done here so that we can check for the Win32 version of the
dnl GL library, which may not use cdecl calling convention.
 AC_TRY_LINK([#include <GL/gl.h>],[glBegin(GL_POINTS)],[HAVE_GL=yes],[HAVE_GL=no])]
)

if test "x$HAVE_GL" = xno ; then
    if test "x$GL_X_LIBS" != x ; then
        LIBS="$GL_GL_LIBS $GL_X_LIBS"
        AC_LINK_IFELSE([AC_LANG_CALL([],[glBegin])],[HAVE_GL=yes], [HAVE_GL=no])
    fi
fi
if test "x$HAVE_GL" = xyes ; then
    AC_MSG_RESULT([yes])
    GL_LIBS=$LIBS
else
    AC_MSG_RESULT([no])
    AC_MSG_ERROR([GL library could not be found, please specify its location with --with-gl-lib.  If this still fails, please contact henryj@paradise.net.nz, include the string FTGL somewhere in the subject line and provide a copy of the config.log file that was left behind.])
fi

AC_CHECK_HEADER([GL/glu.h], [AC_DEFINE([HAVE_GL_GLU_H], 1, [Define to 1 if you have the <GL/glu.h header])], [
	AC_CHECK_HEADER([OpenGL/glu.h], [AC_DEFINE([HAVE_OPENGL_GLU_H], 1, [Define to 1 if you have the <OpenGL/glu.h header])], [
		AC_MSG_ERROR([GL/glu.h or OpenGL/glu.h is needed, please specify its location with --with-gl-inc.  If this still fails, please contact henryj@paradise.net.nz, include the string FTGL somewhere in the subject line and provide a copy of the config.log file that was left behind.])
	])
])
AC_MSG_CHECKING([for GLU version >= 1.2])
AC_TRY_COMPILE([
#ifdef HAVE_GL_GLU_H
#  include <GL/glu.h>
#endif
#ifdef HAVE_OPENGL_GLU_H
#  include <OpenGL/glu.h>
#endif
], [
#if !defined(GLU_VERSION_1_2)
#error GLU too old
#endif
               ],
               [AC_MSG_RESULT([yes])],
               [AC_MSG_RESULT([no])
                AC_MSG_ERROR([GLU >= 1.2 is needed to compile this library])
               ])

if test "x$FRAMEWORK_OPENGL" = "x" ; then

AC_MSG_CHECKING([for GLU library])
if test "x$with_glu_lib" != "x" ; then
    if test -d "$with_glu_lib" ; then
        LIBS="$GL_LIBS -L$with_glu_lib $GL_GLU_LIBS"
    else
        LIBS="$GL_LIBS $with_glu_lib"
    fi
else
    LIBS="$GL_LIBS $GL_GLU_LIBS"
fi
AC_LINK_IFELSE([AC_LANG_CALL([],[gluNewTess])],[HAVE_GLU=yes], [
dnl This is done here so that we can check for the Win32 version of the
dnl GL library, which may not use cdecl calling convention.
 AC_TRY_LINK([#include <GL/glu.h>],[gluNewTess()],[HAVE_GLU=yes],[HAVE_GLU=no])]
)
if test "x$HAVE_GLU" = xno ; then
    if test "x$GL_X_LIBS" != x ; then
        LIBS="$GL_GLU_LIBS $GL_LIBS $GL_X_LIBS"
        AC_LINK_IFELSE([AC_LANG_CALL([],[gluNewTess])],[HAVE_GLU=yes], [HAVE_GLU=no])
    fi
fi
if test "x$HAVE_GLU" = xyes ; then
    AC_MSG_RESULT([yes])
    GL_LIBS="$LIBS"
else
    AC_MSG_RESULT([no])
    AC_MSG_ERROR([GLU library could not be found, please specify its location with --with-gl-lib.  If this still fails, please contact henryj@paradise.net.nz, include the string FTGL somewhere in the subject line and provide a copy of the config.log file that was left behind.])
fi

fi

AC_SUBST(GL_CFLAGS)
AC_SUBST(GL_LIBS)

CPPFLAGS="$GL_SAVE_CPPFLAGS"
LIBS="$GL_SAVE_LIBS"
AC_LANG_RESTORE
GL_X_LIBS=""
])