# Public domain sub TEST_glx { my ($ver, $pfx) = @_; MkDefine('GLX_CFLAGS', '${OPENGL_CFLAGS} ${X11_CFLAGS}'); MkDefine('GLX_LIBS', '${OPENGL_LIBS} ${X11_LIBS}'); MkCompileC('HAVE_GLX', '${GLX_CFLAGS}', '${GLX_LIBS}', << 'EOF'); #include #include #ifdef __APPLE__ # include # include #else # include # include #endif int main(int argc, char *argv[]) { Display *d; XVisualInfo *xvi; int glxAttrs[] = { GLX_RGBA, GLX_RED_SIZE,1, GLX_DEPTH_SIZE,1, None }; GLXContext glxCtx; int err, ev, s; d = XOpenDisplay(NULL); (void)glXQueryExtension(d, &err, &ev); s = DefaultScreen(d); if ((xvi = glXChooseVisual(d, s, glxAttrs)) == NULL) { return (1); } if ((glxCtx = glXCreateContext(d, xvi, 0, GL_FALSE)) == NULL) { return (1); } return (0); } EOF MkIfFalse('${HAVE_GLX}'); MkDisableFailed('glx'); MkEndif; } sub DISABLE_glx { MkDefine('HAVE_GLX', 'no') unless $TestFailed; MkDefine('GLX_CFLAGS', ''); MkDefine('GLX_LIBS', ''); MkSaveUndef('HAVE_GLX'); } BEGIN { my $n = 'glx'; $DESCR{$n} = 'the GLX interface'; $TESTS{$n} = \&TEST_glx; $DISABLE{$n} = \&DISABLE_glx; $DEPS{$n} = 'cc,opengl,x11,math'; $SAVED{$n} = 'GLX_CFLAGS GLX_LIBS'; } ;1