diff --git a/GLURaw.cabal b/GLURaw.cabal
--- a/GLURaw.cabal
+++ b/GLURaw.cabal
@@ -1,68 +1,68 @@
-name: GLURaw
-version: 1.4.0.0
-license: BSD3
-license-file: LICENSE
-maintainer: Sven Panne <svenpanne@gmail.com>, Jason Dagit <dagitj@gmail.com>
-bug-reports: https://github.com/haskell-opengl/GLURaw/issues
-homepage: http://www.haskell.org/haskellwiki/Opengl
-category: Graphics
-synopsis: A raw binding for the OpenGL graphics system
-description:
-   GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL utility library. It is
-   basically a 1:1 mapping of GLU's C API, intended as a basis for a nicer
-   interface.
-   .
-   OpenGL is the industry's most widely used and supported 2D and 3D graphics
-   application programming interface (API), incorporating a broad set of
-   rendering, texture mapping, special effects, and other powerful visualization
-   functions. For more information about OpenGL and its various extensions,
-   please see <http://www.opengl.org/>
-   and <http://www.opengl.org/registry/>.
-build-type: Simple
-cabal-version:  >= 1.6
-extra-source-files:
-   README.md
-   include/HsGLURaw.h
-
-flag UseNativeWindowsLibraries
-   description:
-      When compiling under Windows, use the native libraries instead of e.g. the
-      ones coming with Cygwin.
-
-library
-   exposed-modules:
-      Graphics.Rendering.GLU.Raw
-      Graphics.Rendering.GLU.Raw.Callbacks,
-      Graphics.Rendering.GLU.Raw.Functions,
-      Graphics.Rendering.GLU.Raw.Tokens,
-      Graphics.Rendering.GLU.Raw.Types
-   other-modules:
-      Graphics.Rendering.GLU.Raw.APIEntry,
-      Graphics.Rendering.GLU.Raw.TypesInternal
-   c-sources:
-      cbits/HsGLURaw.c
-   hs-Source-Dirs: src
-   include-dirs: include
-   build-depends: base >= 3 && < 5, OpenGLRaw >= 1.3.0.0
-   ghc-options: -Wall -O2
-   if os(windows) && flag(UseNativeWindowsLibraries)
-      if arch(i386)
-         cpp-options: "-DCALLCONV=stdcall"
-      else
-         cpp-options: "-DCALLCONV=ccall"
-      cc-options: "-DUSE_GETPROCADDRESS"
-      extra-libraries: glu32
-   else
-      cpp-options: "-DCALLCONV=ccall"
-      cc-options: "-DUSE_DLSYM"
-      if os(darwin)
-         frameworks: OpenGL
-      else
-         if os(ios)
-            frameworks: OpenGLES
-         else
-            extra-libraries: GLU
-
-source-repository head
-  type:     git
-  location: https://github.com/haskell-opengl/GLURaw
+name: GLURaw
+version: 1.4.0.1
+license: BSD3
+license-file: LICENSE
+maintainer: Sven Panne <svenpanne@gmail.com>, Jason Dagit <dagitj@gmail.com>
+bug-reports: https://github.com/haskell-opengl/GLURaw/issues
+homepage: http://www.haskell.org/haskellwiki/Opengl
+category: Graphics
+synopsis: A raw binding for the OpenGL graphics system
+description:
+   GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL utility library. It is
+   basically a 1:1 mapping of GLU's C API, intended as a basis for a nicer
+   interface.
+   .
+   OpenGL is the industry's most widely used and supported 2D and 3D graphics
+   application programming interface (API), incorporating a broad set of
+   rendering, texture mapping, special effects, and other powerful visualization
+   functions. For more information about OpenGL and its various extensions,
+   please see <http://www.opengl.org/>
+   and <http://www.opengl.org/registry/>.
+build-type: Simple
+cabal-version:  >= 1.6
+extra-source-files:
+   README.md
+   include/HsGLURaw.h
+
+flag UseNativeWindowsLibraries
+   description:
+      When compiling under Windows, use the native libraries instead of e.g. the
+      ones coming with Cygwin.
+
+library
+   exposed-modules:
+      Graphics.Rendering.GLU.Raw
+      Graphics.Rendering.GLU.Raw.Callbacks,
+      Graphics.Rendering.GLU.Raw.Functions,
+      Graphics.Rendering.GLU.Raw.Tokens,
+      Graphics.Rendering.GLU.Raw.Types
+   other-modules:
+      Graphics.Rendering.GLU.Raw.APIEntry,
+      Graphics.Rendering.GLU.Raw.TypesInternal
+   c-sources:
+      cbits/HsGLURaw.c
+   hs-Source-Dirs: src
+   include-dirs: include
+   build-depends: base >= 3 && < 5, OpenGLRaw >= 1.3.0.0
+   ghc-options: -Wall -O2
+   if os(windows) && flag(UseNativeWindowsLibraries)
+      if arch(i386)
+         cpp-options: "-DCALLCONV=stdcall"
+      else
+         cpp-options: "-DCALLCONV=ccall"
+      cc-options: "-DUSE_GETPROCADDRESS"
+      extra-libraries: glu32
+   else
+      cpp-options: "-DCALLCONV=ccall"
+      cc-options: "-DUSE_DLSYM"
+      if os(darwin)
+         frameworks: OpenGL
+      else
+         if os(ios)
+            frameworks: OpenGLES
+         else
+            extra-libraries: GLU
+
+source-repository head
+  type:     git
+  location: https://github.com/haskell-opengl/GLURaw
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,1 +1,1 @@
-[![Build Status](https://travis-ci.org/haskell-opengl/GLURaw.png)](https://travis-ci.org/haskell-opengl/GLURaw)
+[![Build Status](https://travis-ci.org/haskell-opengl/GLURaw.png)](https://travis-ci.org/haskell-opengl/GLURaw)
diff --git a/cbits/HsGLURaw.c b/cbits/HsGLURaw.c
--- a/cbits/HsGLURaw.c
+++ b/cbits/HsGLURaw.c
@@ -1,104 +1,104 @@
-/* -----------------------------------------------------------------------------
- *
- * Module      :  C support for Graphics.Rendering.GLU.Raw.Extensions
- * Copyright   :  (c) Sven Panne 2013
- * License     :  BSD3
- *
- * Maintainer  :  Sven Panne <svenpanne@gmail.com>
- * Stability   :  stable
- * Portability :  portable
- *
- * -------------------------------------------------------------------------- */
-
-#if defined(USE_GETPROCADDRESS)
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-void*
-hs_GLU_getProcAddress(const char *name)
-{
-  static int firstTime = 1;
-  static HMODULE handle = NULL;
-
-  if (firstTime) {
-    firstTime = 0;
-    handle = LoadLibrary(TEXT("glu32"));
-  }
-
-  return handle ? GetProcAddress(handle, name) : NULL;
-}
-
-/* -------------------------------------------------------------------------- */
-#elif defined(USE_NSADDRESSOFSYMBOL)
-
-#include <mach-o/dyld.h>
-#include <stdlib.h>
-#include <string.h>
-
-void*
-hs_GLU_getProcAddress(const char *name)
-{
-  NSSymbol symbol;
-
-  /* Prepend a '_' for the Unix C symbol mangling convention */
-  char* symbolName = (char*)malloc(strlen(name) + 2);
-  if (!symbolName) {
-    return NULL;
-  }
-  symbolName[0] = '_';
-  strcpy(symbolName + 1, name);
-
-  if (!NSIsSymbolNameDefined(symbolName)) {
-    free(symbolName);
-    return NULL;
-  }
-
-  symbol = NSLookupAndBindSymbol(symbolName);
-  free(symbolName);
-  if (!symbol) {
-    return NULL;
-  }
-
-  return NSAddressOfSymbol(symbol);
-}
-
-/* -------------------------------------------------------------------------- */
-#elif defined(USE_DLSYM)
-
-#include <stdlib.h>
-#include <dlfcn.h>
-
-#ifndef __APPLE__
-#include <stdio.h>
-#include <GL/glu.h>
-#endif
-
-void*
-hs_GLU_getProcAddress(const char *name)
-{
-  static int firstTime = 1;
-  static void *handle = NULL;
-
-  if (firstTime) {
-    firstTime = 0;
-    /* Get a handle for our executable. */
-    handle = dlopen(NULL, RTLD_LAZY);
-  }
-
-#ifndef __APPLE__
-  /* Hack to force linking of GLU on Linux */
-  FILE *bitbucket = fopen("/dev/null", "w");
-  fprintf(bitbucket, "%p\n", gluBeginCurve);
-  fclose(bitbucket); 
-#endif
-
-  return handle ? dlsym(handle, name) : NULL;
-}
-
-/* -------------------------------------------------------------------------- */
-#else
-
-#error "Don't know how to retrieve GLU entries"
-
-#endif
+/* -----------------------------------------------------------------------------
+ *
+ * Module      :  C support for Graphics.Rendering.GLU.Raw.Extensions
+ * Copyright   :  (c) Sven Panne 2013
+ * License     :  BSD3
+ *
+ * Maintainer  :  Sven Panne <svenpanne@gmail.com>
+ * Stability   :  stable
+ * Portability :  portable
+ *
+ * -------------------------------------------------------------------------- */
+
+#if defined(USE_GETPROCADDRESS)
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+void*
+hs_GLU_getProcAddress(const char *name)
+{
+  static int firstTime = 1;
+  static HMODULE handle = NULL;
+
+  if (firstTime) {
+    firstTime = 0;
+    handle = LoadLibrary(TEXT("glu32"));
+  }
+
+  return handle ? GetProcAddress(handle, name) : NULL;
+}
+
+/* -------------------------------------------------------------------------- */
+#elif defined(USE_NSADDRESSOFSYMBOL)
+
+#include <mach-o/dyld.h>
+#include <stdlib.h>
+#include <string.h>
+
+void*
+hs_GLU_getProcAddress(const char *name)
+{
+  NSSymbol symbol;
+
+  /* Prepend a '_' for the Unix C symbol mangling convention */
+  char* symbolName = (char*)malloc(strlen(name) + 2);
+  if (!symbolName) {
+    return NULL;
+  }
+  symbolName[0] = '_';
+  strcpy(symbolName + 1, name);
+
+  if (!NSIsSymbolNameDefined(symbolName)) {
+    free(symbolName);
+    return NULL;
+  }
+
+  symbol = NSLookupAndBindSymbol(symbolName);
+  free(symbolName);
+  if (!symbol) {
+    return NULL;
+  }
+
+  return NSAddressOfSymbol(symbol);
+}
+
+/* -------------------------------------------------------------------------- */
+#elif defined(USE_DLSYM)
+
+#include <stdlib.h>
+#include <dlfcn.h>
+
+#ifndef __APPLE__
+#include <stdio.h>
+#include <GL/glu.h>
+#endif
+
+void*
+hs_GLU_getProcAddress(const char *name)
+{
+  static int firstTime = 1;
+  static void *handle = NULL;
+
+  if (firstTime) {
+    firstTime = 0;
+    /* Get a handle for our executable. */
+    handle = dlopen(NULL, RTLD_LAZY);
+  }
+
+#ifndef __APPLE__
+  /* Hack to force linking of GLU on Linux */
+  FILE *bitbucket = fopen("/dev/null", "w");
+  fprintf(bitbucket, "%p\n", gluBeginCurve);
+  fclose(bitbucket); 
+#endif
+
+  return handle ? dlsym(handle, name) : NULL;
+}
+
+/* -------------------------------------------------------------------------- */
+#else
+
+#error "Don't know how to retrieve GLU entries"
+
+#endif
diff --git a/include/HsGLURaw.h b/include/HsGLURaw.h
--- a/include/HsGLURaw.h
+++ b/include/HsGLURaw.h
@@ -1,33 +1,35 @@
-/* -----------------------------------------------------------------------------
- *
- * Module      :  GL extension support for Graphics.Rendering.GLU.Raw
- * Copyright   :  (c) Sven Panne 2013
- * License     :  BSD3
- * 
- * Maintainer  :  Sven Panne <svenpanne@gmail.com>
- * Stability   :  stable
- * Portability :  portable
- *
- * This header should only define preprocessor macros!
- *
- * -------------------------------------------------------------------------- */
-
-#ifndef HSGLURAW_H
-#define HSGLURAW_H
-
-/* NOTE: The macro must immediately start with the foreign declaration,
-   otherwise the magic mangler (hack_foreign) in the Hugs build system
-   doesn't recognize it. */
-#define API_ENTRY_INTERNAL(_entry,_ty,_safety)						\
-foreign import CALLCONV _safety "dynamic" dyn_/**/_entry :: Graphics.Rendering.GLU.Raw.APIEntry.Invoker (_ty) ; \
-_entry :: (_ty) ; \
-_entry = dyn_/**/_entry ptr_/**/_entry ; \
-ptr_/**/_entry :: FunPtr a ; \
-ptr_/**/_entry = unsafePerformIO (Graphics.Rendering.GLU.Raw.APIEntry.getAPIEntry "_entry") ; \
-{-# NOINLINE ptr_/**/_entry #-}
-
-#define API_ENTRY(_entry,_ty) API_ENTRY_INTERNAL(_entry,_ty,unsafe)
-
-#define API_ENTRY_SAFE(_entry,_ty) API_ENTRY_INTERNAL(_entry,_ty,safe)
-
-#endif
+/* -----------------------------------------------------------------------------
+ *
+ * Module      :  GL extension support for Graphics.Rendering.GLU.Raw
+ * Copyright   :  (c) Sven Panne 2013
+ * License     :  BSD3
+ * 
+ * Maintainer  :  Sven Panne <svenpanne@gmail.com>
+ * Stability   :  stable
+ * Portability :  portable
+ *
+ * This header should only define preprocessor macros!
+ *
+ * -------------------------------------------------------------------------- */
+
+#ifndef HSGLURAW_H
+#define HSGLURAW_H
+
+#define HASH #
+
+/* NOTE: The macro must immediately start with the foreign declaration,
+   otherwise the magic mangler (hack_foreign) in the Hugs build system
+   doesn't recognize it. */
+#define API_ENTRY_INTERNAL(_dyn_entry,_ptr_entry,_str_entry,_entry,_ty,_safety) \
+foreign import CALLCONV _safety "dynamic" _dyn_entry :: Graphics.Rendering.GLU.Raw.APIEntry.Invoker (_ty) ; \
+_entry :: (_ty) ; \
+_entry = _dyn_entry _ptr_entry ; \
+_ptr_entry :: FunPtr a ; \
+_ptr_entry = unsafePerformIO (Graphics.Rendering.GLU.Raw.APIEntry.getAPIEntry _str_entry) ; \
+{-HASH NOINLINE _ptr_entry HASH-}
+
+#define API_ENTRY(_dyn_entry,_ptr_entry,_str_entry,_entry,_ty) API_ENTRY_INTERNAL(_dyn_entry,_ptr_entry,_str_entry,_entry,_ty,unsafe)
+
+#define API_ENTRY_SAFE(_dyn_entry,_ptr_entry,_str_entry,_entry,_ty) API_ENTRY_INTERNAL(_dyn_entry,_ptr_entry,_str_entry,_entry,_ty,safe)
+
+#endif
diff --git a/src/Graphics/Rendering/GLU/Raw.hs b/src/Graphics/Rendering/GLU/Raw.hs
--- a/src/Graphics/Rendering/GLU/Raw.hs
+++ b/src/Graphics/Rendering/GLU/Raw.hs
@@ -1,25 +1,25 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.GLU.Raw
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A 1:1 binding for the OpenGL utility library.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.GLU.Raw (
-   module Graphics.Rendering.GLU.Raw.Functions,
-   module Graphics.Rendering.GLU.Raw.Tokens,
-   module Graphics.Rendering.GLU.Raw.Types,
-   module Graphics.Rendering.GLU.Raw.Callbacks
-) where
-
-import Graphics.Rendering.GLU.Raw.Functions
-import Graphics.Rendering.GLU.Raw.Tokens
-import Graphics.Rendering.GLU.Raw.Types
-import Graphics.Rendering.GLU.Raw.Callbacks
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.GLU.Raw
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A 1:1 binding for the OpenGL utility library.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.GLU.Raw (
+   module Graphics.Rendering.GLU.Raw.Functions,
+   module Graphics.Rendering.GLU.Raw.Tokens,
+   module Graphics.Rendering.GLU.Raw.Types,
+   module Graphics.Rendering.GLU.Raw.Callbacks
+) where
+
+import Graphics.Rendering.GLU.Raw.Functions
+import Graphics.Rendering.GLU.Raw.Tokens
+import Graphics.Rendering.GLU.Raw.Types
+import Graphics.Rendering.GLU.Raw.Callbacks
diff --git a/src/Graphics/Rendering/GLU/Raw/APIEntry.hs b/src/Graphics/Rendering/GLU/Raw/APIEntry.hs
--- a/src/Graphics/Rendering/GLU/Raw/APIEntry.hs
+++ b/src/Graphics/Rendering/GLU/Raw/APIEntry.hs
@@ -1,48 +1,48 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.GLU.Raw.APIEntry
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- This module offers a portable way to retrieve GLUT entries, providing a
--- portability layer upon platform-specific mechanisms like @dlsym@,
--- @GetProcAddress@ or @NSAddressOfSymbol@.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.GLU.Raw.APIEntry (
-   Invoker, getAPIEntry,
-   FunPtr, unsafePerformIO
-) where
-
-import Foreign.C.String
-import Foreign.Marshal.Error
-import Foreign.Ptr
-import System.IO.Unsafe
-
-#ifdef __HUGS__
-{-# CFILES cbits/HsOpenGLRaw.c #-}
-#endif
-
---------------------------------------------------------------------------------
-
-type Invoker a = FunPtr a -> a
-
--- | Retrieve a GLU API entry by name. Throws a userError when no entry with the
--- given name was found.
-getAPIEntry :: String -> IO (FunPtr a)
-getAPIEntry extensionEntry =
-   throwIfNullFunPtr ("unknown GLU entry " ++ extensionEntry) $
-      withCString extensionEntry hs_GLU_getProcAddress
-
-throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)
-throwIfNullFunPtr = throwIf (== nullFunPtr) . const
-
-foreign import ccall unsafe "hs_GLU_getProcAddress"
-   hs_GLU_getProcAddress :: CString -> IO (FunPtr a)
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# OPTIONS_HADDOCK hide #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.GLU.Raw.APIEntry
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- This module offers a portable way to retrieve GLUT entries, providing a
+-- portability layer upon platform-specific mechanisms like @dlsym@,
+-- @GetProcAddress@ or @NSAddressOfSymbol@.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.GLU.Raw.APIEntry (
+   Invoker, getAPIEntry,
+   FunPtr, unsafePerformIO
+) where
+
+import Foreign.C.String
+import Foreign.Marshal.Error
+import Foreign.Ptr
+import System.IO.Unsafe
+
+#ifdef __HUGS__
+{-# CFILES cbits/HsOpenGLRaw.c #-}
+#endif
+
+--------------------------------------------------------------------------------
+
+type Invoker a = FunPtr a -> a
+
+-- | Retrieve a GLU API entry by name. Throws a userError when no entry with the
+-- given name was found.
+getAPIEntry :: String -> IO (FunPtr a)
+getAPIEntry extensionEntry =
+   throwIfNullFunPtr ("unknown GLU entry " ++ extensionEntry) $
+      withCString extensionEntry hs_GLU_getProcAddress
+
+throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)
+throwIfNullFunPtr = throwIf (== nullFunPtr) . const
+
+foreign import ccall unsafe "hs_GLU_getProcAddress"
+   hs_GLU_getProcAddress :: CString -> IO (FunPtr a)
diff --git a/src/Graphics/Rendering/GLU/Raw/Callbacks.hs b/src/Graphics/Rendering/GLU/Raw/Callbacks.hs
--- a/src/Graphics/Rendering/GLU/Raw/Callbacks.hs
+++ b/src/Graphics/Rendering/GLU/Raw/Callbacks.hs
@@ -1,191 +1,191 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.GLU.Raw.Callbacks
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All callbacks from GLU 1.3, see <http://www.opengl.org/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.GLU.Raw.Callbacks (
-   -- * Tessellator Callbacks
-   -- ** Tessellator Callbacks without Polygon Data
-   TessBeginCallback, makeTessBeginCallback,
-   TessEdgeFlagCallback, makeTessEdgeFlagCallback,
-   TessVertexCallback, makeTessVertexCallback,
-   TessEndCallback, makeTessEndCallback,
-   TessErrorCallback, makeTessErrorCallback,
-   TessCombineCallback, makeTessCombineCallback,
-   -- ** Tessellator Callbacks with Polygon Data
-   TessBeginDataCallback, makeTessBeginDataCallback,
-   TessEdgeFlagDataCallback, makeTessEdgeFlagDataCallback,
-   TessVertexDataCallback, makeTessVertexDataCallback,
-   TessEndDataCallback, makeTessEndDataCallback,
-   TessErrorDataCallback, makeTessErrorDataCallback,
-   TessCombineDataCallback, makeTessCombineDataCallback,
-   -- * Quadrics Callbacks
-   QuadricCallback, makeQuadricCallback,
-   -- * NURBS Callbacks
-   -- ** NURBS Callbacks without User Data
-   NURBSBeginCallback, makeNURBSBeginCallback,
-   NURBSVertexCallback, makeNURBSVertexCallback,
-   NURBSNormalCallback, makeNURBSNormalCallback,
-   NURBSColorCallback, makeNURBSColorCallback,
-   NURBSTexCoordCallback, makeNURBSTexCoordCallback,
-   NURBSEndCallback, makeNURBSEndCallback,
-   NURBSErrorCallback, makeNURBSErrorCallback,
-   -- ** NURBS Callbacks with User Data
-   NURBSBeginDataCallback, makeNURBSBeginDataCallback,
-   NURBSVertexDataCallback, makeNURBSVertexDataCallback,
-   NURBSNormalDataCallback, makeNURBSNormalDataCallback,
-   NURBSColorDataCallback, makeNURBSColorDataCallback,
-   NURBSTexCoordDataCallback, makeNURBSTexCoordDataCallback,
-   NURBSEndDataCallback, makeNURBSEndDataCallback
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.OpenGL.Raw
-
---------------------------------------------------------------------------------
-
-type TessBeginCallback = GLenum -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessBeginCallback :: TessBeginCallback -> IO (FunPtr TessBeginCallback)
-
-type TessEdgeFlagCallback = GLboolean -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessEdgeFlagCallback :: TessEdgeFlagCallback -> IO (FunPtr TessEdgeFlagCallback)
-
-type TessVertexCallback v = Ptr v -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessVertexCallback :: TessVertexCallback v -> IO (FunPtr (TessVertexCallback v))
-
-type TessEndCallback = IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessEndCallback :: TessEndCallback -> IO (FunPtr TessEndCallback)
-
-type TessErrorCallback = GLenum -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessErrorCallback :: TessErrorCallback -> IO (FunPtr TessErrorCallback)
-
-type TessCombineCallback v = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessCombineCallback :: TessCombineCallback v -> IO (FunPtr (TessCombineCallback v))
-
-type TessBeginDataCallback p = GLenum -> Ptr p -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessBeginDataCallback :: TessBeginDataCallback p -> IO (FunPtr (TessBeginDataCallback p))
-
-type TessEdgeFlagDataCallback p = GLboolean -> Ptr p -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessEdgeFlagDataCallback :: TessEdgeFlagDataCallback p -> IO (FunPtr (TessEdgeFlagDataCallback p))
-
-type TessVertexDataCallback v p = Ptr v -> Ptr p -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessVertexDataCallback :: TessVertexDataCallback v p -> IO (FunPtr (TessVertexDataCallback v p))
-
-type TessEndDataCallback p = Ptr p -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessEndDataCallback :: TessEndDataCallback p -> IO (FunPtr (TessEndDataCallback p))
-
-type TessErrorDataCallback p = GLenum -> Ptr p -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessErrorDataCallback :: TessErrorDataCallback p -> IO (FunPtr (TessErrorDataCallback p))
-
-type TessCombineDataCallback v p = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> Ptr p -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeTessCombineDataCallback :: TessCombineDataCallback v p -> IO (FunPtr (TessCombineDataCallback v p))
-
---------------------------------------------------------------------------------
-
-type QuadricCallback = GLenum -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeQuadricCallback :: QuadricCallback -> IO (FunPtr QuadricCallback)
-
---------------------------------------------------------------------------------
-
-type NURBSBeginCallback = GLenum -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSBeginCallback :: NURBSBeginCallback -> IO (FunPtr NURBSBeginCallback)
-
-type NURBSVertexCallback = Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSVertexCallback :: NURBSVertexCallback -> IO (FunPtr NURBSVertexCallback)
-
-type NURBSNormalCallback = Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSNormalCallback :: NURBSNormalCallback -> IO (FunPtr NURBSNormalCallback)
-
-type NURBSColorCallback = Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSColorCallback :: NURBSColorCallback -> IO (FunPtr NURBSColorCallback)
-
-type NURBSTexCoordCallback = Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSTexCoordCallback :: NURBSTexCoordCallback -> IO (FunPtr NURBSTexCoordCallback)
-
-type NURBSEndCallback = IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSEndCallback :: NURBSEndCallback -> IO (FunPtr NURBSEndCallback)
-
-type NURBSErrorCallback = GLenum -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSErrorCallback :: NURBSErrorCallback -> IO (FunPtr NURBSErrorCallback)
-
-type NURBSBeginDataCallback u = GLenum -> Ptr u -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSBeginDataCallback :: NURBSBeginDataCallback u -> IO (FunPtr (NURBSBeginDataCallback u))
-
-type NURBSVertexDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSVertexDataCallback :: NURBSVertexDataCallback u -> IO (FunPtr (NURBSVertexDataCallback u))
-
-type NURBSNormalDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSNormalDataCallback :: NURBSNormalDataCallback u -> IO (FunPtr (NURBSNormalDataCallback u))
-
-type NURBSColorDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSColorDataCallback :: NURBSColorDataCallback u -> IO (FunPtr (NURBSColorDataCallback u))
-
-type NURBSTexCoordDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSTexCoordDataCallback :: NURBSTexCoordDataCallback u -> IO (FunPtr (NURBSTexCoordDataCallback u))
-
-type NURBSEndDataCallback u = Ptr u -> IO ()
-
-foreign import CALLCONV "wrapper"
-   makeNURBSEndDataCallback :: NURBSEndDataCallback u -> IO (FunPtr (NURBSEndDataCallback u))
-
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.GLU.Raw.Callbacks
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All callbacks from GLU 1.3, see <http://www.opengl.org/>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.GLU.Raw.Callbacks (
+   -- * Tessellator Callbacks
+   -- ** Tessellator Callbacks without Polygon Data
+   TessBeginCallback, makeTessBeginCallback,
+   TessEdgeFlagCallback, makeTessEdgeFlagCallback,
+   TessVertexCallback, makeTessVertexCallback,
+   TessEndCallback, makeTessEndCallback,
+   TessErrorCallback, makeTessErrorCallback,
+   TessCombineCallback, makeTessCombineCallback,
+   -- ** Tessellator Callbacks with Polygon Data
+   TessBeginDataCallback, makeTessBeginDataCallback,
+   TessEdgeFlagDataCallback, makeTessEdgeFlagDataCallback,
+   TessVertexDataCallback, makeTessVertexDataCallback,
+   TessEndDataCallback, makeTessEndDataCallback,
+   TessErrorDataCallback, makeTessErrorDataCallback,
+   TessCombineDataCallback, makeTessCombineDataCallback,
+   -- * Quadrics Callbacks
+   QuadricCallback, makeQuadricCallback,
+   -- * NURBS Callbacks
+   -- ** NURBS Callbacks without User Data
+   NURBSBeginCallback, makeNURBSBeginCallback,
+   NURBSVertexCallback, makeNURBSVertexCallback,
+   NURBSNormalCallback, makeNURBSNormalCallback,
+   NURBSColorCallback, makeNURBSColorCallback,
+   NURBSTexCoordCallback, makeNURBSTexCoordCallback,
+   NURBSEndCallback, makeNURBSEndCallback,
+   NURBSErrorCallback, makeNURBSErrorCallback,
+   -- ** NURBS Callbacks with User Data
+   NURBSBeginDataCallback, makeNURBSBeginDataCallback,
+   NURBSVertexDataCallback, makeNURBSVertexDataCallback,
+   NURBSNormalDataCallback, makeNURBSNormalDataCallback,
+   NURBSColorDataCallback, makeNURBSColorDataCallback,
+   NURBSTexCoordDataCallback, makeNURBSTexCoordDataCallback,
+   NURBSEndDataCallback, makeNURBSEndDataCallback
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.OpenGL.Raw
+
+--------------------------------------------------------------------------------
+
+type TessBeginCallback = GLenum -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessBeginCallback :: TessBeginCallback -> IO (FunPtr TessBeginCallback)
+
+type TessEdgeFlagCallback = GLboolean -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessEdgeFlagCallback :: TessEdgeFlagCallback -> IO (FunPtr TessEdgeFlagCallback)
+
+type TessVertexCallback v = Ptr v -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessVertexCallback :: TessVertexCallback v -> IO (FunPtr (TessVertexCallback v))
+
+type TessEndCallback = IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessEndCallback :: TessEndCallback -> IO (FunPtr TessEndCallback)
+
+type TessErrorCallback = GLenum -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessErrorCallback :: TessErrorCallback -> IO (FunPtr TessErrorCallback)
+
+type TessCombineCallback v = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessCombineCallback :: TessCombineCallback v -> IO (FunPtr (TessCombineCallback v))
+
+type TessBeginDataCallback p = GLenum -> Ptr p -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessBeginDataCallback :: TessBeginDataCallback p -> IO (FunPtr (TessBeginDataCallback p))
+
+type TessEdgeFlagDataCallback p = GLboolean -> Ptr p -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessEdgeFlagDataCallback :: TessEdgeFlagDataCallback p -> IO (FunPtr (TessEdgeFlagDataCallback p))
+
+type TessVertexDataCallback v p = Ptr v -> Ptr p -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessVertexDataCallback :: TessVertexDataCallback v p -> IO (FunPtr (TessVertexDataCallback v p))
+
+type TessEndDataCallback p = Ptr p -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessEndDataCallback :: TessEndDataCallback p -> IO (FunPtr (TessEndDataCallback p))
+
+type TessErrorDataCallback p = GLenum -> Ptr p -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessErrorDataCallback :: TessErrorDataCallback p -> IO (FunPtr (TessErrorDataCallback p))
+
+type TessCombineDataCallback v p = Ptr GLdouble -> Ptr (Ptr v) -> Ptr GLfloat -> Ptr (Ptr v) -> Ptr p -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeTessCombineDataCallback :: TessCombineDataCallback v p -> IO (FunPtr (TessCombineDataCallback v p))
+
+--------------------------------------------------------------------------------
+
+type QuadricCallback = GLenum -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeQuadricCallback :: QuadricCallback -> IO (FunPtr QuadricCallback)
+
+--------------------------------------------------------------------------------
+
+type NURBSBeginCallback = GLenum -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSBeginCallback :: NURBSBeginCallback -> IO (FunPtr NURBSBeginCallback)
+
+type NURBSVertexCallback = Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSVertexCallback :: NURBSVertexCallback -> IO (FunPtr NURBSVertexCallback)
+
+type NURBSNormalCallback = Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSNormalCallback :: NURBSNormalCallback -> IO (FunPtr NURBSNormalCallback)
+
+type NURBSColorCallback = Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSColorCallback :: NURBSColorCallback -> IO (FunPtr NURBSColorCallback)
+
+type NURBSTexCoordCallback = Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSTexCoordCallback :: NURBSTexCoordCallback -> IO (FunPtr NURBSTexCoordCallback)
+
+type NURBSEndCallback = IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSEndCallback :: NURBSEndCallback -> IO (FunPtr NURBSEndCallback)
+
+type NURBSErrorCallback = GLenum -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSErrorCallback :: NURBSErrorCallback -> IO (FunPtr NURBSErrorCallback)
+
+type NURBSBeginDataCallback u = GLenum -> Ptr u -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSBeginDataCallback :: NURBSBeginDataCallback u -> IO (FunPtr (NURBSBeginDataCallback u))
+
+type NURBSVertexDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSVertexDataCallback :: NURBSVertexDataCallback u -> IO (FunPtr (NURBSVertexDataCallback u))
+
+type NURBSNormalDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSNormalDataCallback :: NURBSNormalDataCallback u -> IO (FunPtr (NURBSNormalDataCallback u))
+
+type NURBSColorDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSColorDataCallback :: NURBSColorDataCallback u -> IO (FunPtr (NURBSColorDataCallback u))
+
+type NURBSTexCoordDataCallback u = Ptr GLfloat -> Ptr u -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSTexCoordDataCallback :: NURBSTexCoordDataCallback u -> IO (FunPtr (NURBSTexCoordDataCallback u))
+
+type NURBSEndDataCallback u = Ptr u -> IO ()
+
+foreign import CALLCONV "wrapper"
+   makeNURBSEndDataCallback :: NURBSEndDataCallback u -> IO (FunPtr (NURBSEndDataCallback u))
+
diff --git a/src/Graphics/Rendering/GLU/Raw/Functions.hs b/src/Graphics/Rendering/GLU/Raw/Functions.hs
--- a/src/Graphics/Rendering/GLU/Raw/Functions.hs
+++ b/src/Graphics/Rendering/GLU/Raw/Functions.hs
@@ -1,146 +1,146 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.GLU.Raw.Functions
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All functions from GLU 1.3, see <http://www.opengl.org/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.GLU.Raw.Functions (
-   gluBeginCurve,
-   gluBeginPolygon,
-   gluBeginSurface,
-   gluBeginTrim,
-   gluBuild1DMipmapLevels,
-   gluBuild1DMipmaps,
-   gluBuild2DMipmapLevels,
-   gluBuild2DMipmaps,
-   gluBuild3DMipmapLevels,
-   gluBuild3DMipmaps,
-   gluCheckExtension,
-   gluCylinder,
-   gluDeleteNurbsRenderer,
-   gluDeleteQuadric,
-   gluDeleteTess,
-   gluDisk,
-   gluEndCurve,
-   gluEndPolygon,
-   gluEndSurface,
-   gluEndTrim,
-   gluErrorString,
-   gluGetNurbsProperty,
-   gluGetString,
-   gluGetTessProperty,
-   gluLoadSamplingMatrices,
-   gluLookAt,
-   gluNewNurbsRenderer,
-   gluNewQuadric,
-   gluNewTess,
-   gluNextContour,
-   gluNurbsCallback,
-   gluNurbsCallbackData,
-   gluNurbsCallbackDataEXT,
-   gluNurbsCurve,
-   gluNurbsProperty,
-   gluNurbsSurface,
-   gluOrtho2D,
-   gluPartialDisk,
-   gluPerspective,
-   gluPickMatrix,
-   gluProject,
-   gluPwlCurve,
-   gluQuadricCallback,
-   gluQuadricDrawStyle,
-   gluQuadricNormals,
-   gluQuadricOrientation,
-   gluQuadricTexture,
-   gluScaleImage,
-   gluSphere,
-   gluTessBeginContour,
-   gluTessBeginPolygon,
-   gluTessCallback,
-   gluTessEndContour,
-   gluTessEndPolygon,
-   gluTessNormal,
-   gluTessProperty,
-   gluTessVertex,
-   gluUnProject,
-   gluUnProject4,
-) where
-
-import Foreign.Ptr
-import Foreign.C.Types
-import Graphics.Rendering.GLU.Raw.APIEntry
-import Graphics.Rendering.GLU.Raw.Types
-import Graphics.Rendering.OpenGL.Raw.Core31
-
-#include "HsGLURaw.h"
-
---------------------------------------------------------------------------------
-
-API_ENTRY_SAFE(gluBeginCurve,Ptr GLUnurbs -> IO ())
-API_ENTRY_SAFE(gluBeginPolygon,Ptr GLUtesselator -> IO ())
-API_ENTRY_SAFE(gluBeginSurface,Ptr GLUnurbs -> IO ())
-API_ENTRY_SAFE(gluBeginTrim,Ptr GLUnurbs -> IO ())
-API_ENTRY(gluBuild1DMipmapLevels,GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)
-API_ENTRY(gluBuild1DMipmaps,GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)
-API_ENTRY(gluBuild2DMipmapLevels,GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)
-API_ENTRY(gluBuild2DMipmaps,GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)
-API_ENTRY(gluBuild3DMipmapLevels,GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)
-API_ENTRY(gluBuild3DMipmaps,GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)
-API_ENTRY(gluCheckExtension,Ptr GLubyte -> Ptr GLubyte -> IO GLboolean)
-API_ENTRY_SAFE(gluCylinder,Ptr GLUquadric -> GLdouble -> GLdouble -> GLdouble -> GLint -> GLint -> IO ())
-API_ENTRY_SAFE(gluDeleteNurbsRenderer,Ptr GLUnurbs -> IO ())
-API_ENTRY(gluDeleteQuadric,Ptr GLUquadric -> IO ())
-API_ENTRY_SAFE(gluDeleteTess,Ptr GLUtesselator -> IO ())
-API_ENTRY_SAFE(gluDisk,Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> IO ())
-API_ENTRY_SAFE(gluEndCurve,Ptr GLUnurbs -> IO ())
-API_ENTRY_SAFE(gluEndPolygon,Ptr GLUtesselator -> IO ())
-API_ENTRY_SAFE(gluEndSurface,Ptr GLUnurbs -> IO ())
-API_ENTRY_SAFE(gluEndTrim,Ptr GLUnurbs -> IO ())
-API_ENTRY(gluErrorString,GLenum -> IO (Ptr GLubyte))
-API_ENTRY_SAFE(gluGetNurbsProperty,Ptr GLUnurbs -> GLenum -> Ptr GLfloat -> IO ())
-API_ENTRY(gluGetString,GLenum -> IO (Ptr GLubyte))
-API_ENTRY_SAFE(gluGetTessProperty,Ptr GLUtesselator -> GLenum -> Ptr GLdouble -> IO ())
-API_ENTRY_SAFE(gluLoadSamplingMatrices,Ptr GLUnurbs -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLint -> IO ())
-API_ENTRY(gluLookAt,GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-API_ENTRY_SAFE(gluNewNurbsRenderer,IO (Ptr GLUnurbs))
-API_ENTRY(gluNewQuadric,IO (Ptr GLUquadric))
-API_ENTRY(gluNewTess,IO (Ptr GLUtesselator))
-API_ENTRY_SAFE(gluNextContour,Ptr GLUtesselator -> GLenum -> IO ())
-API_ENTRY_SAFE(gluNurbsCallback,Ptr GLUnurbs -> GLenum -> FunPtr a -> IO ())
-API_ENTRY_SAFE(gluNurbsCallbackData,Ptr GLUnurbs -> Ptr a -> IO ())
-API_ENTRY_SAFE(gluNurbsCallbackDataEXT,Ptr GLUnurbs -> Ptr a -> IO ())
-API_ENTRY_SAFE(gluNurbsCurve,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ())
-API_ENTRY_SAFE(gluNurbsProperty,Ptr GLUnurbs -> GLenum -> GLfloat -> IO ())
-API_ENTRY_SAFE(gluNurbsSurface,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLint -> Ptr GLfloat -> GLint -> GLint -> GLenum -> IO ())
-API_ENTRY(gluOrtho2D,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-API_ENTRY_SAFE(gluPartialDisk,Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> IO ())
-API_ENTRY(gluPerspective,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-API_ENTRY(gluPickMatrix,GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLint -> IO ())
-API_ENTRY(gluProject,GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)
-API_ENTRY_SAFE(gluPwlCurve,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ())
-API_ENTRY_SAFE(gluQuadricCallback,Ptr GLUquadric -> GLenum -> FunPtr a -> IO ())
-API_ENTRY_SAFE(gluQuadricDrawStyle,Ptr GLUquadric -> GLenum -> IO ())
-API_ENTRY_SAFE(gluQuadricNormals,Ptr GLUquadric -> GLenum -> IO ())
-API_ENTRY_SAFE(gluQuadricOrientation,Ptr GLUquadric -> GLenum -> IO ())
-API_ENTRY_SAFE(gluQuadricTexture,Ptr GLUquadric -> GLboolean -> IO ())
-API_ENTRY(gluScaleImage,GLenum -> GLsizei -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLenum -> Ptr b -> IO GLint)
-API_ENTRY_SAFE(gluSphere,Ptr GLUquadric -> GLdouble -> GLint -> GLint -> IO ())
-API_ENTRY_SAFE(gluTessBeginContour,Ptr GLUtesselator -> IO ())
-API_ENTRY_SAFE(gluTessBeginPolygon,Ptr GLUtesselator -> Ptr a -> IO ())
-API_ENTRY_SAFE(gluTessCallback,Ptr GLUtesselator -> GLenum -> FunPtr a -> IO ())
-API_ENTRY_SAFE(gluTessEndContour,Ptr GLUtesselator -> IO ())
-API_ENTRY_SAFE(gluTessEndPolygon,Ptr GLUtesselator -> IO ())
-API_ENTRY(gluTessNormal,Ptr GLUtesselator -> GLdouble -> GLdouble -> GLdouble -> IO ())
-API_ENTRY_SAFE(gluTessProperty,Ptr GLUtesselator -> GLenum -> GLdouble -> IO ())
-API_ENTRY_SAFE(gluTessVertex,Ptr GLUtesselator -> Ptr GLdouble -> Ptr a -> IO ())
-API_ENTRY(gluUnProject,GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)
-API_ENTRY(gluUnProject4,GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> GLclampd -> GLclampd -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)
+{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.GLU.Raw.Functions
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All functions from GLU 1.3, see <http://www.opengl.org/>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.GLU.Raw.Functions (
+   gluBeginCurve,
+   gluBeginPolygon,
+   gluBeginSurface,
+   gluBeginTrim,
+   gluBuild1DMipmapLevels,
+   gluBuild1DMipmaps,
+   gluBuild2DMipmapLevels,
+   gluBuild2DMipmaps,
+   gluBuild3DMipmapLevels,
+   gluBuild3DMipmaps,
+   gluCheckExtension,
+   gluCylinder,
+   gluDeleteNurbsRenderer,
+   gluDeleteQuadric,
+   gluDeleteTess,
+   gluDisk,
+   gluEndCurve,
+   gluEndPolygon,
+   gluEndSurface,
+   gluEndTrim,
+   gluErrorString,
+   gluGetNurbsProperty,
+   gluGetString,
+   gluGetTessProperty,
+   gluLoadSamplingMatrices,
+   gluLookAt,
+   gluNewNurbsRenderer,
+   gluNewQuadric,
+   gluNewTess,
+   gluNextContour,
+   gluNurbsCallback,
+   gluNurbsCallbackData,
+   gluNurbsCallbackDataEXT,
+   gluNurbsCurve,
+   gluNurbsProperty,
+   gluNurbsSurface,
+   gluOrtho2D,
+   gluPartialDisk,
+   gluPerspective,
+   gluPickMatrix,
+   gluProject,
+   gluPwlCurve,
+   gluQuadricCallback,
+   gluQuadricDrawStyle,
+   gluQuadricNormals,
+   gluQuadricOrientation,
+   gluQuadricTexture,
+   gluScaleImage,
+   gluSphere,
+   gluTessBeginContour,
+   gluTessBeginPolygon,
+   gluTessCallback,
+   gluTessEndContour,
+   gluTessEndPolygon,
+   gluTessNormal,
+   gluTessProperty,
+   gluTessVertex,
+   gluUnProject,
+   gluUnProject4,
+) where
+
+import Foreign.Ptr
+import Foreign.C.Types
+import Graphics.Rendering.GLU.Raw.APIEntry
+import Graphics.Rendering.GLU.Raw.Types
+import Graphics.Rendering.OpenGL.Raw.Core31
+
+#include "HsGLURaw.h"
+
+--------------------------------------------------------------------------------
+
+API_ENTRY_SAFE(dyn_gluBeginCurve,ptr_gluBeginCurve,"gluBeginCurve",gluBeginCurve,Ptr GLUnurbs -> IO ())
+API_ENTRY_SAFE(dyn_gluBeginPolygon,ptr_gluBeginPolygon,"gluBeginPolygon",gluBeginPolygon,Ptr GLUtesselator -> IO ())
+API_ENTRY_SAFE(dyn_gluBeginSurface,ptr_gluBeginSurface,"gluBeginSurface",gluBeginSurface,Ptr GLUnurbs -> IO ())
+API_ENTRY_SAFE(dyn_gluBeginTrim,ptr_gluBeginTrim,"gluBeginTrim",gluBeginTrim,Ptr GLUnurbs -> IO ())
+API_ENTRY(dyn_gluBuild1DMipmapLevels,ptr_gluBuild1DMipmapLevels,"gluBuild1DMipmapLevels",gluBuild1DMipmapLevels,GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)
+API_ENTRY(dyn_gluBuild1DMipmaps,ptr_gluBuild1DMipmaps,"gluBuild1DMipmaps",gluBuild1DMipmaps,GLenum -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)
+API_ENTRY(dyn_gluBuild2DMipmapLevels,ptr_gluBuild2DMipmapLevels,"gluBuild2DMipmapLevels",gluBuild2DMipmapLevels,GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)
+API_ENTRY(dyn_gluBuild2DMipmaps,ptr_gluBuild2DMipmaps,"gluBuild2DMipmaps",gluBuild2DMipmaps,GLenum -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)
+API_ENTRY(dyn_gluBuild3DMipmapLevels,ptr_gluBuild3DMipmapLevels,"gluBuild3DMipmapLevels",gluBuild3DMipmapLevels,GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLint -> GLint -> GLint -> Ptr a -> IO GLint)
+API_ENTRY(dyn_gluBuild3DMipmaps,ptr_gluBuild3DMipmaps,"gluBuild3DMipmaps",gluBuild3DMipmaps,GLenum -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO GLint)
+API_ENTRY(dyn_gluCheckExtension,ptr_gluCheckExtension,"gluCheckExtension",gluCheckExtension,Ptr GLubyte -> Ptr GLubyte -> IO GLboolean)
+API_ENTRY_SAFE(dyn_gluCylinder,ptr_gluCylinder,"gluCylinder",gluCylinder,Ptr GLUquadric -> GLdouble -> GLdouble -> GLdouble -> GLint -> GLint -> IO ())
+API_ENTRY_SAFE(dyn_gluDeleteNurbsRenderer,ptr_gluDeleteNurbsRenderer,"gluDeleteNurbsRenderer",gluDeleteNurbsRenderer,Ptr GLUnurbs -> IO ())
+API_ENTRY(dyn_gluDeleteQuadric,ptr_gluDeleteQuadric,"gluDeleteQuadric",gluDeleteQuadric,Ptr GLUquadric -> IO ())
+API_ENTRY_SAFE(dyn_gluDeleteTess,ptr_gluDeleteTess,"gluDeleteTess",gluDeleteTess,Ptr GLUtesselator -> IO ())
+API_ENTRY_SAFE(dyn_gluDisk,ptr_gluDisk,"gluDisk",gluDisk,Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> IO ())
+API_ENTRY_SAFE(dyn_gluEndCurve,ptr_gluEndCurve,"gluEndCurve",gluEndCurve,Ptr GLUnurbs -> IO ())
+API_ENTRY_SAFE(dyn_gluEndPolygon,ptr_gluEndPolygon,"gluEndPolygon",gluEndPolygon,Ptr GLUtesselator -> IO ())
+API_ENTRY_SAFE(dyn_gluEndSurface,ptr_gluEndSurface,"gluEndSurface",gluEndSurface,Ptr GLUnurbs -> IO ())
+API_ENTRY_SAFE(dyn_gluEndTrim,ptr_gluEndTrim,"gluEndTrim",gluEndTrim,Ptr GLUnurbs -> IO ())
+API_ENTRY(dyn_gluErrorString,ptr_gluErrorString,"gluErrorString",gluErrorString,GLenum -> IO (Ptr GLubyte))
+API_ENTRY_SAFE(dyn_gluGetNurbsProperty,ptr_gluGetNurbsProperty,"gluGetNurbsProperty",gluGetNurbsProperty,Ptr GLUnurbs -> GLenum -> Ptr GLfloat -> IO ())
+API_ENTRY(dyn_gluGetString,ptr_gluGetString,"gluGetString",gluGetString,GLenum -> IO (Ptr GLubyte))
+API_ENTRY_SAFE(dyn_gluGetTessProperty,ptr_gluGetTessProperty,"gluGetTessProperty",gluGetTessProperty,Ptr GLUtesselator -> GLenum -> Ptr GLdouble -> IO ())
+API_ENTRY_SAFE(dyn_gluLoadSamplingMatrices,ptr_gluLoadSamplingMatrices,"gluLoadSamplingMatrices",gluLoadSamplingMatrices,Ptr GLUnurbs -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLint -> IO ())
+API_ENTRY(dyn_gluLookAt,ptr_gluLookAt,"gluLookAt",gluLookAt,GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+API_ENTRY_SAFE(dyn_gluNewNurbsRenderer,ptr_gluNewNurbsRenderer,"gluNewNurbsRenderer",gluNewNurbsRenderer,IO (Ptr GLUnurbs))
+API_ENTRY(dyn_gluNewQuadric,ptr_gluNewQuadric,"gluNewQuadric",gluNewQuadric,IO (Ptr GLUquadric))
+API_ENTRY(dyn_gluNewTess,ptr_gluNewTess,"gluNewTess",gluNewTess,IO (Ptr GLUtesselator))
+API_ENTRY_SAFE(dyn_gluNextContour,ptr_gluNextContour,"gluNextContour",gluNextContour,Ptr GLUtesselator -> GLenum -> IO ())
+API_ENTRY_SAFE(dyn_gluNurbsCallback,ptr_gluNurbsCallback,"gluNurbsCallback",gluNurbsCallback,Ptr GLUnurbs -> GLenum -> FunPtr a -> IO ())
+API_ENTRY_SAFE(dyn_gluNurbsCallbackData,ptr_gluNurbsCallbackData,"gluNurbsCallbackData",gluNurbsCallbackData,Ptr GLUnurbs -> Ptr a -> IO ())
+API_ENTRY_SAFE(dyn_gluNurbsCallbackDataEXT,ptr_gluNurbsCallbackDataEXT,"gluNurbsCallbackDataEXT",gluNurbsCallbackDataEXT,Ptr GLUnurbs -> Ptr a -> IO ())
+API_ENTRY_SAFE(dyn_gluNurbsCurve,ptr_gluNurbsCurve,"gluNurbsCurve",gluNurbsCurve,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ())
+API_ENTRY_SAFE(dyn_gluNurbsProperty,ptr_gluNurbsProperty,"gluNurbsProperty",gluNurbsProperty,Ptr GLUnurbs -> GLenum -> GLfloat -> IO ())
+API_ENTRY_SAFE(dyn_gluNurbsSurface,ptr_gluNurbsSurface,"gluNurbsSurface",gluNurbsSurface,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> Ptr GLfloat -> GLint -> GLint -> Ptr GLfloat -> GLint -> GLint -> GLenum -> IO ())
+API_ENTRY(dyn_gluOrtho2D,ptr_gluOrtho2D,"gluOrtho2D",gluOrtho2D,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+API_ENTRY_SAFE(dyn_gluPartialDisk,ptr_gluPartialDisk,"gluPartialDisk",gluPartialDisk,Ptr GLUquadric -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> IO ())
+API_ENTRY(dyn_gluPerspective,ptr_gluPerspective,"gluPerspective",gluPerspective,GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+API_ENTRY(dyn_gluPickMatrix,ptr_gluPickMatrix,"gluPickMatrix",gluPickMatrix,GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLint -> IO ())
+API_ENTRY(dyn_gluProject,ptr_gluProject,"gluProject",gluProject,GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)
+API_ENTRY_SAFE(dyn_gluPwlCurve,ptr_gluPwlCurve,"gluPwlCurve",gluPwlCurve,Ptr GLUnurbs -> GLint -> Ptr GLfloat -> GLint -> GLenum -> IO ())
+API_ENTRY_SAFE(dyn_gluQuadricCallback,ptr_gluQuadricCallback,"gluQuadricCallback",gluQuadricCallback,Ptr GLUquadric -> GLenum -> FunPtr a -> IO ())
+API_ENTRY_SAFE(dyn_gluQuadricDrawStyle,ptr_gluQuadricDrawStyle,"gluQuadricDrawStyle",gluQuadricDrawStyle,Ptr GLUquadric -> GLenum -> IO ())
+API_ENTRY_SAFE(dyn_gluQuadricNormals,ptr_gluQuadricNormals,"gluQuadricNormals",gluQuadricNormals,Ptr GLUquadric -> GLenum -> IO ())
+API_ENTRY_SAFE(dyn_gluQuadricOrientation,ptr_gluQuadricOrientation,"gluQuadricOrientation",gluQuadricOrientation,Ptr GLUquadric -> GLenum -> IO ())
+API_ENTRY_SAFE(dyn_gluQuadricTexture,ptr_gluQuadricTexture,"gluQuadricTexture",gluQuadricTexture,Ptr GLUquadric -> GLboolean -> IO ())
+API_ENTRY(dyn_gluScaleImage,ptr_gluScaleImage,"gluScaleImage",gluScaleImage,GLenum -> GLsizei -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLenum -> Ptr b -> IO GLint)
+API_ENTRY_SAFE(dyn_gluSphere,ptr_gluSphere,"gluSphere",gluSphere,Ptr GLUquadric -> GLdouble -> GLint -> GLint -> IO ())
+API_ENTRY_SAFE(dyn_gluTessBeginContour,ptr_gluTessBeginContour,"gluTessBeginContour",gluTessBeginContour,Ptr GLUtesselator -> IO ())
+API_ENTRY_SAFE(dyn_gluTessBeginPolygon,ptr_gluTessBeginPolygon,"gluTessBeginPolygon",gluTessBeginPolygon,Ptr GLUtesselator -> Ptr a -> IO ())
+API_ENTRY_SAFE(dyn_gluTessCallback,ptr_gluTessCallback,"gluTessCallback",gluTessCallback,Ptr GLUtesselator -> GLenum -> FunPtr a -> IO ())
+API_ENTRY_SAFE(dyn_gluTessEndContour,ptr_gluTessEndContour,"gluTessEndContour",gluTessEndContour,Ptr GLUtesselator -> IO ())
+API_ENTRY_SAFE(dyn_gluTessEndPolygon,ptr_gluTessEndPolygon,"gluTessEndPolygon",gluTessEndPolygon,Ptr GLUtesselator -> IO ())
+API_ENTRY(dyn_gluTessNormal,ptr_gluTessNormal,"gluTessNormal",gluTessNormal,Ptr GLUtesselator -> GLdouble -> GLdouble -> GLdouble -> IO ())
+API_ENTRY_SAFE(dyn_gluTessProperty,ptr_gluTessProperty,"gluTessProperty",gluTessProperty,Ptr GLUtesselator -> GLenum -> GLdouble -> IO ())
+API_ENTRY_SAFE(dyn_gluTessVertex,ptr_gluTessVertex,"gluTessVertex",gluTessVertex,Ptr GLUtesselator -> Ptr GLdouble -> Ptr a -> IO ())
+API_ENTRY(dyn_gluUnProject,ptr_gluUnProject,"gluUnProject",gluUnProject,GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)
+API_ENTRY(dyn_gluUnProject4,ptr_gluUnProject4,"gluUnProject4",gluUnProject4,GLdouble -> GLdouble -> GLdouble -> GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLint -> GLclampd -> GLclampd -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> Ptr GLdouble -> IO GLint)
diff --git a/src/Graphics/Rendering/GLU/Raw/Tokens.hs b/src/Graphics/Rendering/GLU/Raw/Tokens.hs
--- a/src/Graphics/Rendering/GLU/Raw/Tokens.hs
+++ b/src/Graphics/Rendering/GLU/Raw/Tokens.hs
@@ -1,487 +1,487 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.GLU.Raw.Tokens
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All tokens from GLU 1.3, see <http://www.opengl.org/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.GLU.Raw.Tokens where
-
-import Graphics.Rendering.OpenGL.Raw.Core31
-
---------------------------------------------------------------------------------
-
--- Boolean
-glu_FALSE :: GLenum
-glu_FALSE = 0
-
-glu_TRUE :: GLenum
-glu_TRUE = 1
-
--- StringName
-glu_VERSION :: GLenum
-glu_VERSION = 100800
-
-glu_EXTENSIONS :: GLenum
-glu_EXTENSIONS = 100801
-
--- ErrorCode
-glu_INVALID_ENUM :: GLenum
-glu_INVALID_ENUM = 100900
-
-glu_INVALID_VALUE :: GLenum
-glu_INVALID_VALUE = 100901
-
-glu_OUT_OF_MEMORY :: GLenum
-glu_OUT_OF_MEMORY = 100902
-
-glu_INCOMPATIBLE_GL_VERSION :: GLenum
-glu_INCOMPATIBLE_GL_VERSION = 100903
-
-glu_INVALID_OPERATION :: GLenum
-glu_INVALID_OPERATION = 100904
-
--- NurbsDisplay
---      GLU_FILL
-glu_OUTLINE_POLYGON :: GLenum
-glu_OUTLINE_POLYGON = 100240
-
-glu_OUTLINE_PATCH :: GLenum
-glu_OUTLINE_PATCH = 100241
-
--- NurbsCallback
-glu_NURBS_ERROR :: GLenum
-glu_NURBS_ERROR = 100103
-
-glu_ERROR :: GLenum
-glu_ERROR = 100103
-
-glu_NURBS_BEGIN :: GLenum
-glu_NURBS_BEGIN = 100164
-
-glu_NURBS_BEGIN_EXT :: GLenum
-glu_NURBS_BEGIN_EXT = 100164
-
-glu_NURBS_VERTEX :: GLenum
-glu_NURBS_VERTEX = 100165
-
-glu_NURBS_VERTEX_EXT :: GLenum
-glu_NURBS_VERTEX_EXT = 100165
-
-glu_NURBS_NORMAL :: GLenum
-glu_NURBS_NORMAL = 100166
-
-glu_NURBS_NORMAL_EXT :: GLenum
-glu_NURBS_NORMAL_EXT = 100166
-
-glu_NURBS_COLOR :: GLenum
-glu_NURBS_COLOR = 100167
-
-glu_NURBS_COLOR_EXT :: GLenum
-glu_NURBS_COLOR_EXT = 100167
-
-glu_NURBS_TEXTURE_COORD :: GLenum
-glu_NURBS_TEXTURE_COORD = 100168
-
-glu_NURBS_TEX_COORD_EXT :: GLenum
-glu_NURBS_TEX_COORD_EXT = 100168
-
-glu_NURBS_END :: GLenum
-glu_NURBS_END = 100169
-
-glu_NURBS_END_EXT :: GLenum
-glu_NURBS_END_EXT = 100169
-
-glu_NURBS_BEGIN_DATA :: GLenum
-glu_NURBS_BEGIN_DATA = 100170
-
-glu_NURBS_BEGIN_DATA_EXT :: GLenum
-glu_NURBS_BEGIN_DATA_EXT = 100170
-
-glu_NURBS_VERTEX_DATA :: GLenum
-glu_NURBS_VERTEX_DATA = 100171
-
-glu_NURBS_VERTEX_DATA_EXT :: GLenum
-glu_NURBS_VERTEX_DATA_EXT = 100171
-
-glu_NURBS_NORMAL_DATA :: GLenum
-glu_NURBS_NORMAL_DATA = 100172
-
-glu_NURBS_NORMAL_DATA_EXT :: GLenum
-glu_NURBS_NORMAL_DATA_EXT = 100172
-
-glu_NURBS_COLOR_DATA :: GLenum
-glu_NURBS_COLOR_DATA = 100173
-
-glu_NURBS_COLOR_DATA_EXT :: GLenum
-glu_NURBS_COLOR_DATA_EXT = 100173
-
-glu_NURBS_TEXTURE_COORD_DATA :: GLenum
-glu_NURBS_TEXTURE_COORD_DATA = 100174
-
-glu_NURBS_TEX_COORD_DATA_EXT :: GLenum
-glu_NURBS_TEX_COORD_DATA_EXT = 100174
-
-glu_NURBS_END_DATA :: GLenum
-glu_NURBS_END_DATA = 100175
-
-glu_NURBS_END_DATA_EXT :: GLenum
-glu_NURBS_END_DATA_EXT = 100175
-
--- NurbsError
-glu_NURBS_ERROR1 :: GLenum
-glu_NURBS_ERROR1 = 100251
-
-glu_NURBS_ERROR2 :: GLenum
-glu_NURBS_ERROR2 = 100252
-
-glu_NURBS_ERROR3 :: GLenum
-glu_NURBS_ERROR3 = 100253
-
-glu_NURBS_ERROR4 :: GLenum
-glu_NURBS_ERROR4 = 100254
-
-glu_NURBS_ERROR5 :: GLenum
-glu_NURBS_ERROR5 = 100255
-
-glu_NURBS_ERROR6 :: GLenum
-glu_NURBS_ERROR6 = 100256
-
-glu_NURBS_ERROR7 :: GLenum
-glu_NURBS_ERROR7 = 100257
-
-glu_NURBS_ERROR8 :: GLenum
-glu_NURBS_ERROR8 = 100258
-
-glu_NURBS_ERROR9 :: GLenum
-glu_NURBS_ERROR9 = 100259
-
-glu_NURBS_ERROR10 :: GLenum
-glu_NURBS_ERROR10 = 100260
-
-glu_NURBS_ERROR11 :: GLenum
-glu_NURBS_ERROR11 = 100261
-
-glu_NURBS_ERROR12 :: GLenum
-glu_NURBS_ERROR12 = 100262
-
-glu_NURBS_ERROR13 :: GLenum
-glu_NURBS_ERROR13 = 100263
-
-glu_NURBS_ERROR14 :: GLenum
-glu_NURBS_ERROR14 = 100264
-
-glu_NURBS_ERROR15 :: GLenum
-glu_NURBS_ERROR15 = 100265
-
-glu_NURBS_ERROR16 :: GLenum
-glu_NURBS_ERROR16 = 100266
-
-glu_NURBS_ERROR17 :: GLenum
-glu_NURBS_ERROR17 = 100267
-
-glu_NURBS_ERROR18 :: GLenum
-glu_NURBS_ERROR18 = 100268
-
-glu_NURBS_ERROR19 :: GLenum
-glu_NURBS_ERROR19 = 100269
-
-glu_NURBS_ERROR20 :: GLenum
-glu_NURBS_ERROR20 = 100270
-
-glu_NURBS_ERROR21 :: GLenum
-glu_NURBS_ERROR21 = 100271
-
-glu_NURBS_ERROR22 :: GLenum
-glu_NURBS_ERROR22 = 100272
-
-glu_NURBS_ERROR23 :: GLenum
-glu_NURBS_ERROR23 = 100273
-
-glu_NURBS_ERROR24 :: GLenum
-glu_NURBS_ERROR24 = 100274
-
-glu_NURBS_ERROR25 :: GLenum
-glu_NURBS_ERROR25 = 100275
-
-glu_NURBS_ERROR26 :: GLenum
-glu_NURBS_ERROR26 = 100276
-
-glu_NURBS_ERROR27 :: GLenum
-glu_NURBS_ERROR27 = 100277
-
-glu_NURBS_ERROR28 :: GLenum
-glu_NURBS_ERROR28 = 100278
-
-glu_NURBS_ERROR29 :: GLenum
-glu_NURBS_ERROR29 = 100279
-
-glu_NURBS_ERROR30 :: GLenum
-glu_NURBS_ERROR30 = 100280
-
-glu_NURBS_ERROR31 :: GLenum
-glu_NURBS_ERROR31 = 100281
-
-glu_NURBS_ERROR32 :: GLenum
-glu_NURBS_ERROR32 = 100282
-
-glu_NURBS_ERROR33 :: GLenum
-glu_NURBS_ERROR33 = 100283
-
-glu_NURBS_ERROR34 :: GLenum
-glu_NURBS_ERROR34 = 100284
-
-glu_NURBS_ERROR35 :: GLenum
-glu_NURBS_ERROR35 = 100285
-
-glu_NURBS_ERROR36 :: GLenum
-glu_NURBS_ERROR36 = 100286
-
-glu_NURBS_ERROR37 :: GLenum
-glu_NURBS_ERROR37 = 100287
-
--- NurbsProperty
-glu_AUTO_LOAD_MATRIX :: GLenum
-glu_AUTO_LOAD_MATRIX = 100200
-
-glu_CULLING :: GLenum
-glu_CULLING = 100201
-
-glu_SAMPLING_TOLERANCE :: GLenum
-glu_SAMPLING_TOLERANCE = 100203
-
-glu_DISPLAY_MODE :: GLenum
-glu_DISPLAY_MODE = 100204
-
-glu_PARAMETRIC_TOLERANCE :: GLenum
-glu_PARAMETRIC_TOLERANCE = 100202
-
-glu_SAMPLING_METHOD :: GLenum
-glu_SAMPLING_METHOD = 100205
-
-glu_U_STEP :: GLenum
-glu_U_STEP = 100206
-
-glu_V_STEP :: GLenum
-glu_V_STEP = 100207
-
-glu_NURBS_MODE :: GLenum
-glu_NURBS_MODE = 100160
-
-glu_NURBS_MODE_EXT :: GLenum
-glu_NURBS_MODE_EXT = 100160
-
-glu_NURBS_TESSELLATOR :: GLenum
-glu_NURBS_TESSELLATOR = 100161
-
-glu_NURBS_TESSELLATOR_EXT :: GLenum
-glu_NURBS_TESSELLATOR_EXT = 100161
-
-glu_NURBS_RENDERER :: GLenum
-glu_NURBS_RENDERER = 100162
-
-glu_NURBS_RENDERER_EXT :: GLenum
-glu_NURBS_RENDERER_EXT = 100162
-
--- NurbsSampling
-glu_OBJECT_PARAMETRIC_ERROR :: GLenum
-glu_OBJECT_PARAMETRIC_ERROR = 100208
-
-glu_OBJECT_PARAMETRIC_ERROR_EXT :: GLenum
-glu_OBJECT_PARAMETRIC_ERROR_EXT = 100208
-
-glu_OBJECT_PATH_LENGTH :: GLenum
-glu_OBJECT_PATH_LENGTH = 100209
-
-glu_OBJECT_PATH_LENGTH_EXT :: GLenum
-glu_OBJECT_PATH_LENGTH_EXT = 100209
-
-glu_PATH_LENGTH :: GLenum
-glu_PATH_LENGTH = 100215
-
-glu_PARAMETRIC_ERROR :: GLenum
-glu_PARAMETRIC_ERROR = 100216
-
-glu_DOMAIN_DISTANCE :: GLenum
-glu_DOMAIN_DISTANCE = 100217
-
--- NurbsTrim
-glu_MAP1_TRIM_2 :: GLenum
-glu_MAP1_TRIM_2 = 100210
-
-glu_MAP1_TRIM_3 :: GLenum
-glu_MAP1_TRIM_3 = 100211
-
--- QuadricDrawStyle
-glu_POINT :: GLenum
-glu_POINT = 100010
-
-glu_LINE :: GLenum
-glu_LINE = 100011
-
-glu_FILL :: GLenum
-glu_FILL = 100012
-
-glu_SILHOUETTE :: GLenum
-glu_SILHOUETTE = 100013
-
--- QuadricCallback
---      GLU_ERROR
-
--- QuadricNormal
-glu_SMOOTH :: GLenum
-glu_SMOOTH = 100000
-
-glu_FLAT :: GLenum
-glu_FLAT = 100001
-
-glu_NONE :: GLenum
-glu_NONE = 100002
-
--- QuadricOrientation
-glu_OUTSIDE :: GLenum
-glu_OUTSIDE = 100020
-
-glu_INSIDE :: GLenum
-glu_INSIDE = 100021
-
--- TessCallback
-glu_TESS_BEGIN :: GLenum
-glu_TESS_BEGIN = 100100
-
-glu_BEGIN :: GLenum
-glu_BEGIN = 100100
-
-glu_TESS_VERTEX :: GLenum
-glu_TESS_VERTEX = 100101
-
-glu_VERTEX :: GLenum
-glu_VERTEX = 100101
-
-glu_TESS_END :: GLenum
-glu_TESS_END = 100102
-
-glu_END :: GLenum
-glu_END = 100102
-
-glu_TESS_ERROR :: GLenum
-glu_TESS_ERROR = 100103
-
-glu_TESS_EDGE_FLAG :: GLenum
-glu_TESS_EDGE_FLAG = 100104
-
-glu_EDGE_FLAG :: GLenum
-glu_EDGE_FLAG = 100104
-
-glu_TESS_COMBINE :: GLenum
-glu_TESS_COMBINE = 100105
-
-glu_TESS_BEGIN_DATA :: GLenum
-glu_TESS_BEGIN_DATA = 100106
-
-glu_TESS_VERTEX_DATA :: GLenum
-glu_TESS_VERTEX_DATA = 100107
-
-glu_TESS_END_DATA :: GLenum
-glu_TESS_END_DATA = 100108
-
-glu_TESS_ERROR_DATA :: GLenum
-glu_TESS_ERROR_DATA = 100109
-
-glu_TESS_EDGE_FLAG_DATA :: GLenum
-glu_TESS_EDGE_FLAG_DATA = 100110
-
-glu_TESS_COMBINE_DATA :: GLenum
-glu_TESS_COMBINE_DATA = 100111
-
--- TessContour
-glu_CW :: GLenum
-glu_CW = 100120
-
-glu_CCW :: GLenum
-glu_CCW = 100121
-
-glu_INTERIOR :: GLenum
-glu_INTERIOR = 100122
-
-glu_EXTERIOR :: GLenum
-glu_EXTERIOR = 100123
-
-glu_UNKNOWN :: GLenum
-glu_UNKNOWN = 100124
-
--- TessProperty
-glu_TESS_WINDING_RULE :: GLenum
-glu_TESS_WINDING_RULE = 100140
-
-glu_TESS_BOUNDARY_ONLY :: GLenum
-glu_TESS_BOUNDARY_ONLY = 100141
-
-glu_TESS_TOLERANCE :: GLenum
-glu_TESS_TOLERANCE = 100142
-
--- TessError
-glu_TESS_ERROR1 :: GLenum
-glu_TESS_ERROR1 = 100151
-
-glu_TESS_ERROR2 :: GLenum
-glu_TESS_ERROR2 = 100152
-
-glu_TESS_ERROR3 :: GLenum
-glu_TESS_ERROR3 = 100153
-
-glu_TESS_ERROR4 :: GLenum
-glu_TESS_ERROR4 = 100154
-
-glu_TESS_ERROR5 :: GLenum
-glu_TESS_ERROR5 = 100155
-
-glu_TESS_ERROR6 :: GLenum
-glu_TESS_ERROR6 = 100156
-
-glu_TESS_ERROR7 :: GLenum
-glu_TESS_ERROR7 = 100157
-
-glu_TESS_ERROR8 :: GLenum
-glu_TESS_ERROR8 = 100158
-
-glu_TESS_MISSING_BEGIN_POLYGON :: GLenum
-glu_TESS_MISSING_BEGIN_POLYGON = 100151
-
-glu_TESS_MISSING_BEGIN_CONTOUR :: GLenum
-glu_TESS_MISSING_BEGIN_CONTOUR = 100152
-
-glu_TESS_MISSING_END_POLYGON :: GLenum
-glu_TESS_MISSING_END_POLYGON = 100153
-
-glu_TESS_MISSING_END_CONTOUR :: GLenum
-glu_TESS_MISSING_END_CONTOUR = 100154
-
-glu_TESS_COORD_TOO_LARGE :: GLenum
-glu_TESS_COORD_TOO_LARGE = 100155
-
-glu_TESS_NEED_COMBINE_CALLBACK :: GLenum
-glu_TESS_NEED_COMBINE_CALLBACK = 100156
-
--- TessWinding
-glu_TESS_WINDING_ODD :: GLenum
-glu_TESS_WINDING_ODD = 100130
-
-glu_TESS_WINDING_NONZERO :: GLenum
-glu_TESS_WINDING_NONZERO = 100131
-
-glu_TESS_WINDING_POSITIVE :: GLenum
-glu_TESS_WINDING_POSITIVE = 100132
-
-glu_TESS_WINDING_NEGATIVE :: GLenum
-glu_TESS_WINDING_NEGATIVE = 100133
-
-glu_TESS_WINDING_ABS_GEQ_TWO :: GLenum
-glu_TESS_WINDING_ABS_GEQ_TWO = 100134
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.GLU.Raw.Tokens
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All tokens from GLU 1.3, see <http://www.opengl.org/>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.GLU.Raw.Tokens where
+
+import Graphics.Rendering.OpenGL.Raw.Core31
+
+--------------------------------------------------------------------------------
+
+-- Boolean
+glu_FALSE :: GLenum
+glu_FALSE = 0
+
+glu_TRUE :: GLenum
+glu_TRUE = 1
+
+-- StringName
+glu_VERSION :: GLenum
+glu_VERSION = 100800
+
+glu_EXTENSIONS :: GLenum
+glu_EXTENSIONS = 100801
+
+-- ErrorCode
+glu_INVALID_ENUM :: GLenum
+glu_INVALID_ENUM = 100900
+
+glu_INVALID_VALUE :: GLenum
+glu_INVALID_VALUE = 100901
+
+glu_OUT_OF_MEMORY :: GLenum
+glu_OUT_OF_MEMORY = 100902
+
+glu_INCOMPATIBLE_GL_VERSION :: GLenum
+glu_INCOMPATIBLE_GL_VERSION = 100903
+
+glu_INVALID_OPERATION :: GLenum
+glu_INVALID_OPERATION = 100904
+
+-- NurbsDisplay
+--      GLU_FILL
+glu_OUTLINE_POLYGON :: GLenum
+glu_OUTLINE_POLYGON = 100240
+
+glu_OUTLINE_PATCH :: GLenum
+glu_OUTLINE_PATCH = 100241
+
+-- NurbsCallback
+glu_NURBS_ERROR :: GLenum
+glu_NURBS_ERROR = 100103
+
+glu_ERROR :: GLenum
+glu_ERROR = 100103
+
+glu_NURBS_BEGIN :: GLenum
+glu_NURBS_BEGIN = 100164
+
+glu_NURBS_BEGIN_EXT :: GLenum
+glu_NURBS_BEGIN_EXT = 100164
+
+glu_NURBS_VERTEX :: GLenum
+glu_NURBS_VERTEX = 100165
+
+glu_NURBS_VERTEX_EXT :: GLenum
+glu_NURBS_VERTEX_EXT = 100165
+
+glu_NURBS_NORMAL :: GLenum
+glu_NURBS_NORMAL = 100166
+
+glu_NURBS_NORMAL_EXT :: GLenum
+glu_NURBS_NORMAL_EXT = 100166
+
+glu_NURBS_COLOR :: GLenum
+glu_NURBS_COLOR = 100167
+
+glu_NURBS_COLOR_EXT :: GLenum
+glu_NURBS_COLOR_EXT = 100167
+
+glu_NURBS_TEXTURE_COORD :: GLenum
+glu_NURBS_TEXTURE_COORD = 100168
+
+glu_NURBS_TEX_COORD_EXT :: GLenum
+glu_NURBS_TEX_COORD_EXT = 100168
+
+glu_NURBS_END :: GLenum
+glu_NURBS_END = 100169
+
+glu_NURBS_END_EXT :: GLenum
+glu_NURBS_END_EXT = 100169
+
+glu_NURBS_BEGIN_DATA :: GLenum
+glu_NURBS_BEGIN_DATA = 100170
+
+glu_NURBS_BEGIN_DATA_EXT :: GLenum
+glu_NURBS_BEGIN_DATA_EXT = 100170
+
+glu_NURBS_VERTEX_DATA :: GLenum
+glu_NURBS_VERTEX_DATA = 100171
+
+glu_NURBS_VERTEX_DATA_EXT :: GLenum
+glu_NURBS_VERTEX_DATA_EXT = 100171
+
+glu_NURBS_NORMAL_DATA :: GLenum
+glu_NURBS_NORMAL_DATA = 100172
+
+glu_NURBS_NORMAL_DATA_EXT :: GLenum
+glu_NURBS_NORMAL_DATA_EXT = 100172
+
+glu_NURBS_COLOR_DATA :: GLenum
+glu_NURBS_COLOR_DATA = 100173
+
+glu_NURBS_COLOR_DATA_EXT :: GLenum
+glu_NURBS_COLOR_DATA_EXT = 100173
+
+glu_NURBS_TEXTURE_COORD_DATA :: GLenum
+glu_NURBS_TEXTURE_COORD_DATA = 100174
+
+glu_NURBS_TEX_COORD_DATA_EXT :: GLenum
+glu_NURBS_TEX_COORD_DATA_EXT = 100174
+
+glu_NURBS_END_DATA :: GLenum
+glu_NURBS_END_DATA = 100175
+
+glu_NURBS_END_DATA_EXT :: GLenum
+glu_NURBS_END_DATA_EXT = 100175
+
+-- NurbsError
+glu_NURBS_ERROR1 :: GLenum
+glu_NURBS_ERROR1 = 100251
+
+glu_NURBS_ERROR2 :: GLenum
+glu_NURBS_ERROR2 = 100252
+
+glu_NURBS_ERROR3 :: GLenum
+glu_NURBS_ERROR3 = 100253
+
+glu_NURBS_ERROR4 :: GLenum
+glu_NURBS_ERROR4 = 100254
+
+glu_NURBS_ERROR5 :: GLenum
+glu_NURBS_ERROR5 = 100255
+
+glu_NURBS_ERROR6 :: GLenum
+glu_NURBS_ERROR6 = 100256
+
+glu_NURBS_ERROR7 :: GLenum
+glu_NURBS_ERROR7 = 100257
+
+glu_NURBS_ERROR8 :: GLenum
+glu_NURBS_ERROR8 = 100258
+
+glu_NURBS_ERROR9 :: GLenum
+glu_NURBS_ERROR9 = 100259
+
+glu_NURBS_ERROR10 :: GLenum
+glu_NURBS_ERROR10 = 100260
+
+glu_NURBS_ERROR11 :: GLenum
+glu_NURBS_ERROR11 = 100261
+
+glu_NURBS_ERROR12 :: GLenum
+glu_NURBS_ERROR12 = 100262
+
+glu_NURBS_ERROR13 :: GLenum
+glu_NURBS_ERROR13 = 100263
+
+glu_NURBS_ERROR14 :: GLenum
+glu_NURBS_ERROR14 = 100264
+
+glu_NURBS_ERROR15 :: GLenum
+glu_NURBS_ERROR15 = 100265
+
+glu_NURBS_ERROR16 :: GLenum
+glu_NURBS_ERROR16 = 100266
+
+glu_NURBS_ERROR17 :: GLenum
+glu_NURBS_ERROR17 = 100267
+
+glu_NURBS_ERROR18 :: GLenum
+glu_NURBS_ERROR18 = 100268
+
+glu_NURBS_ERROR19 :: GLenum
+glu_NURBS_ERROR19 = 100269
+
+glu_NURBS_ERROR20 :: GLenum
+glu_NURBS_ERROR20 = 100270
+
+glu_NURBS_ERROR21 :: GLenum
+glu_NURBS_ERROR21 = 100271
+
+glu_NURBS_ERROR22 :: GLenum
+glu_NURBS_ERROR22 = 100272
+
+glu_NURBS_ERROR23 :: GLenum
+glu_NURBS_ERROR23 = 100273
+
+glu_NURBS_ERROR24 :: GLenum
+glu_NURBS_ERROR24 = 100274
+
+glu_NURBS_ERROR25 :: GLenum
+glu_NURBS_ERROR25 = 100275
+
+glu_NURBS_ERROR26 :: GLenum
+glu_NURBS_ERROR26 = 100276
+
+glu_NURBS_ERROR27 :: GLenum
+glu_NURBS_ERROR27 = 100277
+
+glu_NURBS_ERROR28 :: GLenum
+glu_NURBS_ERROR28 = 100278
+
+glu_NURBS_ERROR29 :: GLenum
+glu_NURBS_ERROR29 = 100279
+
+glu_NURBS_ERROR30 :: GLenum
+glu_NURBS_ERROR30 = 100280
+
+glu_NURBS_ERROR31 :: GLenum
+glu_NURBS_ERROR31 = 100281
+
+glu_NURBS_ERROR32 :: GLenum
+glu_NURBS_ERROR32 = 100282
+
+glu_NURBS_ERROR33 :: GLenum
+glu_NURBS_ERROR33 = 100283
+
+glu_NURBS_ERROR34 :: GLenum
+glu_NURBS_ERROR34 = 100284
+
+glu_NURBS_ERROR35 :: GLenum
+glu_NURBS_ERROR35 = 100285
+
+glu_NURBS_ERROR36 :: GLenum
+glu_NURBS_ERROR36 = 100286
+
+glu_NURBS_ERROR37 :: GLenum
+glu_NURBS_ERROR37 = 100287
+
+-- NurbsProperty
+glu_AUTO_LOAD_MATRIX :: GLenum
+glu_AUTO_LOAD_MATRIX = 100200
+
+glu_CULLING :: GLenum
+glu_CULLING = 100201
+
+glu_SAMPLING_TOLERANCE :: GLenum
+glu_SAMPLING_TOLERANCE = 100203
+
+glu_DISPLAY_MODE :: GLenum
+glu_DISPLAY_MODE = 100204
+
+glu_PARAMETRIC_TOLERANCE :: GLenum
+glu_PARAMETRIC_TOLERANCE = 100202
+
+glu_SAMPLING_METHOD :: GLenum
+glu_SAMPLING_METHOD = 100205
+
+glu_U_STEP :: GLenum
+glu_U_STEP = 100206
+
+glu_V_STEP :: GLenum
+glu_V_STEP = 100207
+
+glu_NURBS_MODE :: GLenum
+glu_NURBS_MODE = 100160
+
+glu_NURBS_MODE_EXT :: GLenum
+glu_NURBS_MODE_EXT = 100160
+
+glu_NURBS_TESSELLATOR :: GLenum
+glu_NURBS_TESSELLATOR = 100161
+
+glu_NURBS_TESSELLATOR_EXT :: GLenum
+glu_NURBS_TESSELLATOR_EXT = 100161
+
+glu_NURBS_RENDERER :: GLenum
+glu_NURBS_RENDERER = 100162
+
+glu_NURBS_RENDERER_EXT :: GLenum
+glu_NURBS_RENDERER_EXT = 100162
+
+-- NurbsSampling
+glu_OBJECT_PARAMETRIC_ERROR :: GLenum
+glu_OBJECT_PARAMETRIC_ERROR = 100208
+
+glu_OBJECT_PARAMETRIC_ERROR_EXT :: GLenum
+glu_OBJECT_PARAMETRIC_ERROR_EXT = 100208
+
+glu_OBJECT_PATH_LENGTH :: GLenum
+glu_OBJECT_PATH_LENGTH = 100209
+
+glu_OBJECT_PATH_LENGTH_EXT :: GLenum
+glu_OBJECT_PATH_LENGTH_EXT = 100209
+
+glu_PATH_LENGTH :: GLenum
+glu_PATH_LENGTH = 100215
+
+glu_PARAMETRIC_ERROR :: GLenum
+glu_PARAMETRIC_ERROR = 100216
+
+glu_DOMAIN_DISTANCE :: GLenum
+glu_DOMAIN_DISTANCE = 100217
+
+-- NurbsTrim
+glu_MAP1_TRIM_2 :: GLenum
+glu_MAP1_TRIM_2 = 100210
+
+glu_MAP1_TRIM_3 :: GLenum
+glu_MAP1_TRIM_3 = 100211
+
+-- QuadricDrawStyle
+glu_POINT :: GLenum
+glu_POINT = 100010
+
+glu_LINE :: GLenum
+glu_LINE = 100011
+
+glu_FILL :: GLenum
+glu_FILL = 100012
+
+glu_SILHOUETTE :: GLenum
+glu_SILHOUETTE = 100013
+
+-- QuadricCallback
+--      GLU_ERROR
+
+-- QuadricNormal
+glu_SMOOTH :: GLenum
+glu_SMOOTH = 100000
+
+glu_FLAT :: GLenum
+glu_FLAT = 100001
+
+glu_NONE :: GLenum
+glu_NONE = 100002
+
+-- QuadricOrientation
+glu_OUTSIDE :: GLenum
+glu_OUTSIDE = 100020
+
+glu_INSIDE :: GLenum
+glu_INSIDE = 100021
+
+-- TessCallback
+glu_TESS_BEGIN :: GLenum
+glu_TESS_BEGIN = 100100
+
+glu_BEGIN :: GLenum
+glu_BEGIN = 100100
+
+glu_TESS_VERTEX :: GLenum
+glu_TESS_VERTEX = 100101
+
+glu_VERTEX :: GLenum
+glu_VERTEX = 100101
+
+glu_TESS_END :: GLenum
+glu_TESS_END = 100102
+
+glu_END :: GLenum
+glu_END = 100102
+
+glu_TESS_ERROR :: GLenum
+glu_TESS_ERROR = 100103
+
+glu_TESS_EDGE_FLAG :: GLenum
+glu_TESS_EDGE_FLAG = 100104
+
+glu_EDGE_FLAG :: GLenum
+glu_EDGE_FLAG = 100104
+
+glu_TESS_COMBINE :: GLenum
+glu_TESS_COMBINE = 100105
+
+glu_TESS_BEGIN_DATA :: GLenum
+glu_TESS_BEGIN_DATA = 100106
+
+glu_TESS_VERTEX_DATA :: GLenum
+glu_TESS_VERTEX_DATA = 100107
+
+glu_TESS_END_DATA :: GLenum
+glu_TESS_END_DATA = 100108
+
+glu_TESS_ERROR_DATA :: GLenum
+glu_TESS_ERROR_DATA = 100109
+
+glu_TESS_EDGE_FLAG_DATA :: GLenum
+glu_TESS_EDGE_FLAG_DATA = 100110
+
+glu_TESS_COMBINE_DATA :: GLenum
+glu_TESS_COMBINE_DATA = 100111
+
+-- TessContour
+glu_CW :: GLenum
+glu_CW = 100120
+
+glu_CCW :: GLenum
+glu_CCW = 100121
+
+glu_INTERIOR :: GLenum
+glu_INTERIOR = 100122
+
+glu_EXTERIOR :: GLenum
+glu_EXTERIOR = 100123
+
+glu_UNKNOWN :: GLenum
+glu_UNKNOWN = 100124
+
+-- TessProperty
+glu_TESS_WINDING_RULE :: GLenum
+glu_TESS_WINDING_RULE = 100140
+
+glu_TESS_BOUNDARY_ONLY :: GLenum
+glu_TESS_BOUNDARY_ONLY = 100141
+
+glu_TESS_TOLERANCE :: GLenum
+glu_TESS_TOLERANCE = 100142
+
+-- TessError
+glu_TESS_ERROR1 :: GLenum
+glu_TESS_ERROR1 = 100151
+
+glu_TESS_ERROR2 :: GLenum
+glu_TESS_ERROR2 = 100152
+
+glu_TESS_ERROR3 :: GLenum
+glu_TESS_ERROR3 = 100153
+
+glu_TESS_ERROR4 :: GLenum
+glu_TESS_ERROR4 = 100154
+
+glu_TESS_ERROR5 :: GLenum
+glu_TESS_ERROR5 = 100155
+
+glu_TESS_ERROR6 :: GLenum
+glu_TESS_ERROR6 = 100156
+
+glu_TESS_ERROR7 :: GLenum
+glu_TESS_ERROR7 = 100157
+
+glu_TESS_ERROR8 :: GLenum
+glu_TESS_ERROR8 = 100158
+
+glu_TESS_MISSING_BEGIN_POLYGON :: GLenum
+glu_TESS_MISSING_BEGIN_POLYGON = 100151
+
+glu_TESS_MISSING_BEGIN_CONTOUR :: GLenum
+glu_TESS_MISSING_BEGIN_CONTOUR = 100152
+
+glu_TESS_MISSING_END_POLYGON :: GLenum
+glu_TESS_MISSING_END_POLYGON = 100153
+
+glu_TESS_MISSING_END_CONTOUR :: GLenum
+glu_TESS_MISSING_END_CONTOUR = 100154
+
+glu_TESS_COORD_TOO_LARGE :: GLenum
+glu_TESS_COORD_TOO_LARGE = 100155
+
+glu_TESS_NEED_COMBINE_CALLBACK :: GLenum
+glu_TESS_NEED_COMBINE_CALLBACK = 100156
+
+-- TessWinding
+glu_TESS_WINDING_ODD :: GLenum
+glu_TESS_WINDING_ODD = 100130
+
+glu_TESS_WINDING_NONZERO :: GLenum
+glu_TESS_WINDING_NONZERO = 100131
+
+glu_TESS_WINDING_POSITIVE :: GLenum
+glu_TESS_WINDING_POSITIVE = 100132
+
+glu_TESS_WINDING_NEGATIVE :: GLenum
+glu_TESS_WINDING_NEGATIVE = 100133
+
+glu_TESS_WINDING_ABS_GEQ_TWO :: GLenum
+glu_TESS_WINDING_ABS_GEQ_TWO = 100134
diff --git a/src/Graphics/Rendering/GLU/Raw/Types.hs b/src/Graphics/Rendering/GLU/Raw/Types.hs
--- a/src/Graphics/Rendering/GLU/Raw/Types.hs
+++ b/src/Graphics/Rendering/GLU/Raw/Types.hs
@@ -1,21 +1,21 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.GLU.Raw.Types
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All (abstract) types from GLU 1.3, see <http://www.opengl.org/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.GLU.Raw.Types (
-   GLUnurbs,
-   GLUquadric,
-   GLUtesselator
-) where
-
-import Graphics.Rendering.GLU.Raw.TypesInternal
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.GLU.Raw.Types
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All (abstract) types from GLU 1.3, see <http://www.opengl.org/>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.GLU.Raw.Types (
+   GLUnurbs,
+   GLUquadric,
+   GLUtesselator
+) where
+
+import Graphics.Rendering.GLU.Raw.TypesInternal
diff --git a/src/Graphics/Rendering/GLU/Raw/TypesInternal.hs b/src/Graphics/Rendering/GLU/Raw/TypesInternal.hs
--- a/src/Graphics/Rendering/GLU/Raw/TypesInternal.hs
+++ b/src/Graphics/Rendering/GLU/Raw/TypesInternal.hs
@@ -1,22 +1,22 @@
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.GLU.Raw.TypesInternal
--- Copyright   :  (c) Sven Panne 2013
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All types from GLU 1.3, see <http://www.opengl.org/>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.GLU.Raw.TypesInternal where
-
-data GLUnurbs = GLUnurbs
-
-data GLUquadric = GLUquadric
-
-data GLUtesselator = GLUtesselator
+{-# OPTIONS_HADDOCK hide #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.Rendering.GLU.Raw.TypesInternal
+-- Copyright   :  (c) Sven Panne 2013
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All types from GLU 1.3, see <http://www.opengl.org/>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.Rendering.GLU.Raw.TypesInternal where
+
+data GLUnurbs = GLUnurbs
+
+data GLUquadric = GLUquadric
+
+data GLUtesselator = GLUtesselator
