dnl
dnl After the toplevel configuration is complete, the script will recurse into
dnl these subdirectories (the use of cache values makes repeated checks cheap)
+dnl (We probably have to add hslibs/{OpenGL,GLUT} here later...)
AC_CONFIG_SUBDIRS(ghc)
# -------------------------------------------------------------------------
AC_DEFINE(HAVE_WIN32_DLL_SUPPORT)
fi
+dnl ** Enable the building of the OpenGL/GLUT binding in hslibs?
+dnl --------------------------------------------------------------
+AC_ARG_ENABLE(hopengl,
+[ --enable-hopengl
+ Build HOpenGL, a Haskell binding for OpenGL/GLUT, too.
+ (This option is only relevant when hslibs are built.)
+],
+[GhcLibsWithHOpenGL=YES],
+[GhcLibsWithHOpenGL=NO]
+)
+AC_SUBST(GhcLibsWithHOpenGL)
+
+dnl ** Use a specific version of the GLUT API
+dnl --------------------------------------------------------------
+AC_ARG_WITH(glut-api,
+[ --with-glut-api=<version>
+ Use a specific version of the GLUT API when building HOpenGL.
+])
+test -n "$with_glut_api" && CPPFLAGS="$CPPFLAGS -DGLUT_API_VERSION=$with_glut_api"
+
+
+dnl ** Use a specific version of the GLUT API
+dnl --------------------------------------------------------------
+AC_ARG_WITH(glut-xlib,
+[ --with-glut-xlib=<version>
+ Use a specific version of the GLUT Xlib implementation when building HOpenGL.
+])
+test -n "$with_glut_xlib" && CPPFLAGS="$CPPFLAGS -DGLUT_XLIB_IMPLEMENTATION=$with_glut_xlib"
+
+
dnl --------------------------------------------------------------
dnl End of configure script option section
dnl --------------------------------------------------------------
dnl ** check for Windows include files
AC_CHECK_HEADERS(windows.h)
+dnl ** check for OpenGL include files
+AC_CHECK_HEADERS(GL/gl.h)
+
dnl ** check if it is safe to include both <time.h> and <sys/time.h>
AC_HEADER_TIME
FPTOOLS_CHECK_HTYPE(clock_t)
FPTOOLS_CHECK_HTYPE(time_t)
+dnl ** Map OpenGL data types to Haskell types
+if test $GhcLibsWithHOpenGL = YES ; then
+FPTOOLS_CHECK_HTYPE(GLboolean)
+FPTOOLS_CHECK_HTYPE(GLbyte)
+FPTOOLS_CHECK_HTYPE(GLubyte)
+FPTOOLS_CHECK_HTYPE(GLshort)
+FPTOOLS_CHECK_HTYPE(GLushort)
+FPTOOLS_CHECK_HTYPE(GLint)
+FPTOOLS_CHECK_HTYPE(GLuint)
+FPTOOLS_CHECK_HTYPE(GLsizei)
+FPTOOLS_CHECK_HTYPE(GLenum)
+FPTOOLS_CHECK_HTYPE(GLbitfield)
+FPTOOLS_CHECK_HTYPE(GLfloat)
+FPTOOLS_CHECK_HTYPE(GLclampf)
+FPTOOLS_CHECK_HTYPE(GLdouble)
+FPTOOLS_CHECK_HTYPE(GLclampd)
+fi
+
dnl ** can we open files in binary mode?
FPTOOLS_O_BINARY
dnl ** check for specific library functions that we are interested in
AC_CHECK_FUNCS(access ftime getclock getpagesize getrusage gettimeofday mktime mprotect readlink setitimer stat symlink sysconf timelocal times vadvise vfork)
-dnl ** check whether this machine has gmp2 installed
-AC_CHECK_LIB(gmp, mpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp,
- AC_CHECK_LIB(gmp2, mpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp2,
+dnl ** check whether this machine has gmp3 installed
+AC_CHECK_LIB(gmp, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp,
+ AC_CHECK_LIB(gmp3, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp3,
HaveLibGmp=No; LibGmp=not-installed))
AC_SUBST(HaveLibGmp)
AC_SUBST(LibGmp)