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
  
AC_INIT(top.c) 
AC_CONFIG_HEADER(config.h) 
 
AC_MODULE_INIT() 
 
PIKE_FEATURE_WITHOUT(GLUT) 
 
AC_SUBST(AUTO) 
AC_ARG_WITH(GLUT,  [  --without-GLUT    no support for GLUT],[without_GLUT=yes],[without_GLUT=no]) 
 
if test x$without_GLUT = xyes; then 
  AUTO="" 
else 
  DO_IF_OS(Darwin, 
  [ 
    # MaxOS X 
    # NOTE: These tests may need to move to the main configure script. 
    #       cf comments in the Darwin section of the main configure script. 
    AC_SYS_COMPILER_FLAG(-framework GLUT, framework_GLUT, LDFLAGS) 
    AC_SYS_COMPILER_FLAG(-framework GLUT, framework_GLUT, CPPFLAGS) 
  ]) 
  AC_CHECK_HEADERS(GLUT/glut.h) 
 
  # FIXME: Ought to just check -lobjc, since -framework GLUT is checked above. 
  AC_MSG_CHECKING(for glutSolidTeapot in GLUT.framework) 
  AC_CACHE_VAL(pike_cv_framework_GLUT, [ 
    oldLIBS="$LIBS" 
    LIBS="-framework GLUT -lobjc $LIBS" 
    AC_TRY_LINK([ 
#ifdef HAVE_GLUT_GLUT_H 
#include <GLUT/glut.h> 
#else 
#ifdef HAVE_GL_GLUT_H 
#include <GL/glut.h> 
#endif /* HAVE_GL_GLUT_H */ 
#endif /* HAVE_GLUT_GLUT_H */ 
    ], [ glutSolidTeapot(1.0) ], 
       [ pike_cv_framework_GLUT=yes ], [ pike_cv_framework_GLUT=no ]) 
    LIBS="$oldLIBS" 
  ]) 
  if test x"$pike_cv_framework_GLUT" = "xyes"; then 
    AC_MSG_RESULT(yes) 
  else 
    AC_MSG_RESULT(no) 
  fi 
 
  if test x"$ac_cv_header_GLUT_glut_h$pike_cv_framework_GLUT" = "xyesyes"; then 
    AC_DEFINE_UNQUOTED(HAVE_LIBGLUT) 
    LIBS="-framework GLUT -lobjc $LIBS" 
    AUTO=auto.o 
    PIKE_FEATURE(GLUT,[yes (framework GLUT)]) 
  else 
 
  AC_PATH_XTRA() 
  # The variables from the PATH_XTRA macro are missnamed... 
  # 
  #   Variable     Function Contents 
  #   X_CFLAGS     CPPFLAGS -I 
  #   X_LIBS       LDFLAGS  -L & -R 
  #   X_EXTRA_LIBS LIBS             -lsocket -lnsl 
  #   X_PRE_LIBS   LIBS     -lSM -lICE 
  # 
  # /grubba 1999-11-21 
  echo "X_CFLAGS:     $X_CFLAGS" 
  echo "X_LIBS:       $X_LIBS" 
  echo "X_EXTRA_LIBS: $X_EXTRA_LIBS" 
  echo "X_PRE_LIBS:   $X_PRE_LIBS" 
 
  AC_CHECK_HEADERS(GL/glut.h) 
 
  CPPFLAGS="$CPPFLAGS $X_CFLAGS" 
  LIBS="$X_EXTRA_LIBS $LIBS" 
  LDFLAGS="$LDFLAGS $X_LIBS $X_PRE_LIBS" 
  AC_CHECK_LIB(X11, XDrawPoint) 
  AC_CHECK_LIB(Xext, XShmPutImage) 
  AC_CHECK_LIB(Xmu, XmuStandardColormap) 
  AC_CHECK_LIB(Xinput, XOpenDevice) 
  AC_CHECK_LIB(Xi, XOpenDevice) 
 
  AC_MSG_CHECKING(for glutSolidTeapot in -lglut) 
  AC_CACHE_VAL(pike_cv_lib_glut, [ 
    oldLIBS="$LIBS" 
    LIBS="-lglut $LIBS" 
    AC_TRY_LINK([ 
#ifdef HAVE_GLUT_GLUT_H 
#include <GLUT/glut.h> 
#else 
#ifdef HAVE_GL_GLUT_H 
#include <GL/glut.h> 
#endif /* HAVE_GL_GLUT_H */ 
#endif /* HAVE_GLUT_GLUT_H */ 
    ], [ glutSolidTeapot(1.0) ], 
       [ pike_cv_lib_glut=yes ], [ pike_cv_lib_glut=no ]) 
    LIBS="$oldLIBS" 
  ]) 
  if test x"$pike_cv_lib_glut" = "xyes"; then 
    AC_MSG_RESULT(yes) 
  else 
    AC_MSG_RESULT(no) 
  fi 
 
  if test x"$ac_cv_header_GL_glut_h$pike_cv_lib_glut" = "xyesyes"; then 
    AC_DEFINE_UNQUOTED(HAVE_LIBGLUT) 
    LIBS="-lglut $LIBS" 
    AUTO=auto.o 
    PIKE_FEATURE(GLUT,[yes (libglut)]) 
  else 
    AUTO="" 
    PIKE_FEATURE_NODEP(GLUT) 
  fi 
 
fi 
 
  AC_CHECK_LIB(GL, glOrtho) 
  AC_CHECK_LIB(OpenGL, glOrtho) 
  AC_CHECK_LIB(MesaGL, glOrtho) 
  AC_CHECK_LIB(GLU, gluCylinder) 
  AC_CHECK_LIB(MesaGLU, gluCylinder) 
 
  # Check for availability of some functions that aren't present in 
  # all versions of GLUT (they are missing in eg AIX 4.3). 
  AC_CHECK_FUNCS([glutEnterGameMode glutForceJoystickFunc glutGameModeGet \ 
    glutGameModeString glutIgnoreKeyRepeat glutInitDisplayString \ 
    glutJoystickFunc glutKeyboardUpFunc glutLeaveGameMode \ 
    glutPostWindowOverlayRedisplay glutPostWindowRedisplay glutReportErrors \ 
    glutSetKeyRepeat glutSpecialUpFunc], [], [ 
      AC_DEFINE_UNQUOTED(`echo "MISSING_$ac_func" | tr '[[a-z]]' '[[A-Z]]'`) 
  ]) 
fi 
 
AC_OUTPUT(Makefile,echo FOO >stamp-h )