[project @ 2003-08-05 15:52:01 by ross]
[ghc-hetmet.git] / configure.in
index e19c938..c661c4a 100644 (file)
@@ -496,27 +496,36 @@ AC_SUBST(ThreadedRts)
 
 dnl ** Enable the construction of Win32 DLLs?
 dnl --------------------------------------------------------------
-AC_ARG_ENABLE(win32-dlls,
-[  --enable-win32-dlls
-        If on a Win32 platform running mingw32/cygwin, enable the
-       construction of DLLs containing ghc-compiled code.
-],
-[
-case $HostOS_CPP in
-cygwin32) ;;
-mingw32)  ;;
-*)    echo "Unrecognised win32 platform: $HostPlatform"
-      exit 1
-      ;;
-esac
-EnableWin32DLLs=YES
-],
-[EnableWin32DLLs=NO]
-)
-AC_SUBST(EnableWin32DLLs)
-if test x"$EnableWin32DLLs" = "xYES" ; then
- AC_DEFINE(HAVE_WIN32_DLL_SUPPORT)
-fi
+dnl
+dnl [ The ability to build the RTS and libraries as separate DLLs used
+dnl   to be supported, but isn't currently (updates to the RTS, compiler 
+dnl   and build system would be required to bring it back again.)
+dnl   Hence, exposing it as an option is false advertisement, so better
+dnl   disable it to avoid confusion (but leave it commented-out rather
+dnl   than removed in order to remind ourselves to bring back the 
+dnl   feature at some stage.) ]
+dnl
+dnl AC_ARG_ENABLE(win32-dlls,
+dnl [  --enable-win32-dlls
+dnl         If on a Win32 platform running mingw32/cygwin, enable the
+dnl    construction of DLLs containing ghc-compiled code.
+dnl ],
+dnl [
+dnl case $HostOS_CPP in
+dnl cygwin32) ;;
+dnl mingw32)  ;;
+dnl *)    echo "Unrecognised win32 platform: $HostPlatform"
+dnl       exit 1
+dnl       ;;
+dnl esac
+dnl EnableWin32DLLs=YES
+dnl ],
+dnl [EnableWin32DLLs=NO]
+dnl )
+dnl AC_SUBST(EnableWin32DLLs)
+dnl if test x"$EnableWin32DLLs" = "xYES" ; then
+dnl  AC_DEFINE(HAVE_WIN32_DLL_SUPPORT)
+dnl fi
 
 dnl ** Enable the building of the ObjectIO?
 dnl --------------------------------------------------------------
@@ -534,10 +543,20 @@ dnl --------------------------------------------------------------
 AC_ARG_ENABLE(hopengl,
 [  --enable-hopengl
         Build HOpenGL, a Haskell binding for OpenGL/GLUT.
+        On Mac OS X, use --enable-hopengl=x11 to use X11 instead
+        of the "native" libraries.
 ],
 [GhcLibsWithHOpenGL=YES],
 [GhcLibsWithHOpenGL=NO]
 )
+UseQuartzOpenGL=NO
+if test x"$TargetOS_CPP" = x"darwin"; then
+  if test x"$enable_hopengl" != x"x11"; then
+    AC_DEFINE(USE_QUARTZ_OPENGL)
+    UseQuartzOpenGL=YES
+  fi
+fi
+
 AC_SUBST(GhcLibsWithHOpenGL)
 
 dnl ** .NET interop support?
@@ -771,7 +790,11 @@ dnl ** check for Windows include files
 AC_CHECK_HEADERS(windows.h)
 
 dnl ** check for OpenGL include files
-AC_CHECK_HEADERS(GL/gl.h)
+if test $UseQuartzOpenGL = YES ; then
+  AC_CHECK_HEADERS(OpenGL/gl.h)
+else
+  AC_CHECK_HEADERS(GL/gl.h)
+fi
 
 dnl ** check if it is safe to include both <time.h> and <sys/time.h>
 AC_HEADER_TIME
@@ -1081,7 +1104,18 @@ AC_PATH_XTRA()
 
 dnl ** check for OpenGL/GLUT/GLX include paths and libraries
 if test $GhcLibsWithHOpenGL = YES ; then
-FPTOOLS_HAVE_OPENGL
+  if test $UseQuartzOpenGL = YES ; then
+    dnl Take a shortcut for Mac OS X native OpenGL:
+    dnl It's in a non-standard location, but it's always there
+    GL_CFLAGS=
+       GL_LIBS=
+       GLUT_LIBS=
+       AC_SUBST(GL_CFLAGS)
+       AC_SUBST(GL_LIBS)
+       AC_SUBST(GLUT_LIBS)
+  else
+    FPTOOLS_HAVE_OPENGL
+  fi
 fi
 
 dnl ################################################################