diff --git a/OpenGLRaw.cabal b/OpenGLRaw.cabal
--- a/OpenGLRaw.cabal
+++ b/OpenGLRaw.cabal
@@ -1,302 +1,301 @@
 name: OpenGLRaw
-version: 1.5.0.0
+version: 1.5.0.1
+synopsis: A raw binding for the OpenGL graphics system
+description:
+  OpenGLRaw is a raw Haskell binding for the OpenGL 3.2 graphics system and
+  lots of OpenGL extensions. It is basically a 1:1 mapping of OpenGL's C API,
+  intended as a basis for a nicer interface. OpenGLRaw offers access to all
+  necessary functions, tokens and types plus a general facility for loading
+  extension entries. The module hierarchy closely mirrors the naming structure
+  of the OpenGL extensions, making it easy to find the right module to import.
+  All API entries are loaded dynamically, so no special C header files are
+  needed for building this package. If an API entry is not found at runtime, a
+  userError is thrown.
+  .
+  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/>.
+homepage: http://www.haskell.org/haskellwiki/Opengl
+bug-reports: https://github.com/haskell-opengl/OpenGLRaw/issues
 license: BSD3
 license-file: LICENSE
+author: Sven Panne
 maintainer: Sven Panne <svenpanne@gmail.com>, Jason Dagit <dagitj@gmail.com>
-bug-reports: https://github.com/haskell-opengl/OpenGLRaw/issues
-homepage: http://www.haskell.org/haskellwiki/Opengl
 category: Graphics
-synopsis: A raw binding for the OpenGL graphics system
-description:
-   OpenGLRaw is a raw Haskell binding for the OpenGL 3.2 graphics system and
-   lots of OpenGL extensions. It is basically a 1:1 mapping of OpenGL's C API,
-   intended as a basis for a nicer interface. OpenGLRaw offers access to all
-   necessary functions, tokens and types plus a general facility for loading
-   extension entries. The module hierarchy closely mirrors the naming structure
-   of the OpenGL extensions, making it easy to find the right module to import.
-   All API entries are loaded dynamically, so no special C header files are
-   needed for building this package. If an API entry is not found at runtime, a
-   userError is thrown.
-   .
-   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
+cabal-version: >= 1.10
 extra-source-files:
-   README.md
-   include/HsOpenGLRaw.h
+  README.md
+  include/HsOpenGLRaw.h
 
 flag UseNativeWindowsLibraries
-   description:
-      When compiling under Windows, use the native libraries instead of e.g. the
-      ones coming with Cygwin.
+  description:
+    When compiling under Windows, use the native libraries instead of e.g. the
+    ones coming with Cygwin.
 
 flag UseGlXGetProcAddress
-   description:
-      Use glXGetProcAddress instead of dlsym on non-Windows/-Darwin platforms.
+  description:
+    Use glXGetProcAddress instead of dlsym on non-Windows/-Darwin platforms.
 
 library
-   exposed-modules:
-      Graphics.Rendering.OpenGL.Raw,
-      Graphics.Rendering.OpenGL.Raw.APPLE,
-      Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange,
-      Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject,
-      Graphics.Rendering.OpenGL.Raw.ARB,
-      Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended,
-      Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat,
-      Graphics.Rendering.OpenGL.Raw.ARB.Compatibility,
-      Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader,
-      Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer,
-      Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile,
-      Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat,
-      Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp,
-      Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture,
-      Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers,
-      Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend,
-      Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex,
-      Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect,
-      Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced,
-      Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility,
-      Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility,
-      Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram,
-      Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader,
-      Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments,
-      Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB,
-      Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5,
-      Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64,
-      Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,
-      Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary,
-      Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel,
-      Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex,
-      Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays,
-      Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange,
-      Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette,
-      Graphics.Rendering.OpenGL.Raw.ARB.Multisample,
-      Graphics.Rendering.OpenGL.Raw.ARB.Multitexture,
-      Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery,
-      Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2,
-      Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.PointParameters,
-      Graphics.Rendering.OpenGL.Raw.ARB.PointSprite,
-      Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex,
-      Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.SampleShading,
-      Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects,
-      Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,
-      Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude,
-      Graphics.Rendering.OpenGL.Raw.ARB.Shadow,
-      Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient,
-      Graphics.Rendering.OpenGL.Raw.ARB.Sync,
-      Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureGather,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureRG,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle,
-      Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle,
-      Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery,
-      Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2,
-      Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3,
-      Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix,
-      Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit,
-      Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend,
-      Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject,
-      Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram,
-      Graphics.Rendering.OpenGL.Raw.ARB.VertexShader,
-      Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010Rev,
-      Graphics.Rendering.OpenGL.Raw.ARB.WindowPos,
-      Graphics.Rendering.OpenGL.Raw.Core31,
-      Graphics.Rendering.OpenGL.Raw.Core31.Types,
-      Graphics.Rendering.OpenGL.Raw.Core32,
-      Graphics.Rendering.OpenGL.Raw.EXT,
-      Graphics.Rendering.OpenGL.Raw.EXT.ABGR,
-      Graphics.Rendering.OpenGL.Raw.EXT.BGRA,
-      Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform,
-      Graphics.Rendering.OpenGL.Raw.EXT.BlendColor,
-      Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate,
-      Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate,
-      Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax,
-      Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract,
-      Graphics.Rendering.OpenGL.Raw.EXT.CMYKA,
-      Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint,
-      Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable,
-      Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray,
-      Graphics.Rendering.OpenGL.Raw.EXT.Convolution,
-      Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame,
-      Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture,
-      Graphics.Rendering.OpenGL.Raw.EXT.CullVertex,
-      Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest,
-      Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess,
-      Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2,
-      Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements,
-      Graphics.Rendering.OpenGL.Raw.EXT.FogCoord,
-      Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels,
-      Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting,
-      Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit,
-      Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample,
-      Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject,
-      Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB,
-      Graphics.Rendering.OpenGL.Raw.EXT.GPUProgramParameters,
-      Graphics.Rendering.OpenGL.Raw.EXT.GPUShader4,
-      Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4,
-      Graphics.Rendering.OpenGL.Raw.EXT.Histogram,
-      Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats,
-      Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc,
-      Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial,
-      Graphics.Rendering.OpenGL.Raw.EXT.LightTexture,
-      Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays,
-      Graphics.Rendering.OpenGL.Raw.EXT.Multisample,
-      Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil,
-      Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat,
-      Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels,
-      Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture,
-      Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform,
-      Graphics.Rendering.OpenGL.Raw.EXT.PointParameters,
-      Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset,
-      Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex,
-      Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal,
-      Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker,
-      Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor,
-      Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor,
-      Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette,
-      Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag,
-      Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide,
-      Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap,
-      Graphics.Rendering.OpenGL.Raw.EXT.Subtexture,
-      Graphics.Rendering.OpenGL.Raw.EXT.Texture,
-      Graphics.Rendering.OpenGL.Raw.EXT.Texture3D,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureArray,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionDXT1,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLATC,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionRGTC,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureLODBias,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureObject,
-      Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureSharedExponent,
-      Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle,
-      Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery,
-      Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback,
-      Graphics.Rendering.OpenGL.Raw.EXT.VertexArray,
-      Graphics.Rendering.OpenGL.Raw.EXT.VertexShader,
-      Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting,
-      Graphics.Rendering.OpenGL.Raw.GetProcAddress,
-      Graphics.Rendering.OpenGL.Raw.NV,
-      Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender,
-      Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor,
-      Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat,
-      Graphics.Rendering.OpenGL.Raw.NV.DepthClamp,
-      Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample,
-      Graphics.Rendering.OpenGL.Raw.NV.Fence,
-      Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer,
-      Graphics.Rendering.OpenGL.Raw.NV.FogDistance,
-      Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram,
-      Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2,
-      Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage,
-      Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4,
-      Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4,
-      Graphics.Rendering.OpenGL.Raw.NV.HalfFloat,
-      Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent,
-      Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint,
-      Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery,
-      Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil,
-      Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject,
-      Graphics.Rendering.OpenGL.Raw.NV.PathRendering,
-      Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange,
-      Graphics.Rendering.OpenGL.Raw.NV.PointSprite,
-      Graphics.Rendering.OpenGL.Raw.NV.PresentVideo,
-      Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart,
-      Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners,
-      Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2,
-      Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss,
-      Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection,
-      Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVTC,
-      Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4,
-      Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal,
-      Graphics.Rendering.OpenGL.Raw.NV.TextureRectangle,
-      Graphics.Rendering.OpenGL.Raw.NV.TextureShader,
-      Graphics.Rendering.OpenGL.Raw.NV.TextureShader2,
-      Graphics.Rendering.OpenGL.Raw.NV.TextureShader3,
-      Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback,
-      Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2,
-      Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange,
-      Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2,
-      Graphics.Rendering.OpenGL.Raw.NV.VertexProgram,
-      Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option,
-      Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3,
-      Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4,
-      Graphics.Rendering.OpenGL.Raw.Types
-   other-modules:
-      Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions,
-      Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens,
-      Graphics.Rendering.OpenGL.Raw.Core31.Functions,
-      Graphics.Rendering.OpenGL.Raw.Core31.Tokens,
-      Graphics.Rendering.OpenGL.Raw.Extensions
-   c-sources:
-      cbits/HsOpenGLRaw.c
-   hs-Source-Dirs: src
-   include-dirs: include
-   build-depends: base >= 3 && < 5
-   ghc-options: -Wall -O2
-   if impl(ghc)
-      -- these require 6.8, but that's pretty conservative these days
-      extensions: StandaloneDeriving, DeriveDataTypeable
-      build-depends: ghc-prim
-   if os(windows) && flag(UseNativeWindowsLibraries)
-      if arch(i386)
-         cpp-options: "-DCALLCONV=stdcall"
-      else
-         cpp-options: "-DCALLCONV=ccall"
-      cc-options: "-DUSE_WGLGETPROCADDRESS"
-      extra-libraries: opengl32
-   else
+  exposed-modules:
+    Graphics.Rendering.OpenGL.Raw
+    Graphics.Rendering.OpenGL.Raw.APPLE
+    Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange
+    Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject
+    Graphics.Rendering.OpenGL.Raw.ARB
+    Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended
+    Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat
+    Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
+    Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader
+    Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
+    Graphics.Rendering.OpenGL.Raw.ARB.CreateContextProfile
+    Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat
+    Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
+    Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture
+    Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers
+    Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend
+    Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
+    Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
+    Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
+    Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
+    Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility
+    Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
+    Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader
+    Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
+    Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObject
+    Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB
+    Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5
+    Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
+    Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
+    Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
+    Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel
+    Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex
+    Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays
+    Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange
+    Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette
+    Graphics.Rendering.OpenGL.Raw.ARB.Multisample
+    Graphics.Rendering.OpenGL.Raw.ARB.Multitexture
+    Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery
+    Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2
+    Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject
+    Graphics.Rendering.OpenGL.Raw.ARB.PointParameters
+    Graphics.Rendering.OpenGL.Raw.ARB.PointSprite
+    Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
+    Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject
+    Graphics.Rendering.OpenGL.Raw.ARB.SampleShading
+    Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects
+    Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
+    Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
+    Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters
+    Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects
+    Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject
+    Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine
+    Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100
+    Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude
+    Graphics.Rendering.OpenGL.Raw.ARB.Shadow
+    Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient
+    Graphics.Rendering.OpenGL.Raw.ARB.Sync
+    Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvAdd
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCrossbar
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureGather
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureRG
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
+    Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle
+    Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
+    Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2
+    Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3
+    Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix
+    Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
+    Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject
+    Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit
+    Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
+    Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject
+    Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
+    Graphics.Rendering.OpenGL.Raw.ARB.VertexShader
+    Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010Rev
+    Graphics.Rendering.OpenGL.Raw.ARB.WindowPos
+    Graphics.Rendering.OpenGL.Raw.Core31
+    Graphics.Rendering.OpenGL.Raw.Core31.Types
+    Graphics.Rendering.OpenGL.Raw.Core32
+    Graphics.Rendering.OpenGL.Raw.EXT
+    Graphics.Rendering.OpenGL.Raw.EXT.ABGR
+    Graphics.Rendering.OpenGL.Raw.EXT.BGRA
+    Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform
+    Graphics.Rendering.OpenGL.Raw.EXT.BlendColor
+    Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate
+    Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate
+    Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax
+    Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract
+    Graphics.Rendering.OpenGL.Raw.EXT.CMYKA
+    Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint
+    Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable
+    Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray
+    Graphics.Rendering.OpenGL.Raw.EXT.Convolution
+    Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame
+    Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture
+    Graphics.Rendering.OpenGL.Raw.EXT.CullVertex
+    Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest
+    Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
+    Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2
+    Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements
+    Graphics.Rendering.OpenGL.Raw.EXT.FogCoord
+    Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels
+    Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting
+    Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit
+    Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample
+    Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject
+    Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB
+    Graphics.Rendering.OpenGL.Raw.EXT.GPUProgramParameters
+    Graphics.Rendering.OpenGL.Raw.EXT.GPUShader4
+    Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4
+    Graphics.Rendering.OpenGL.Raw.EXT.Histogram
+    Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats
+    Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc
+    Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial
+    Graphics.Rendering.OpenGL.Raw.EXT.LightTexture
+    Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays
+    Graphics.Rendering.OpenGL.Raw.EXT.Multisample
+    Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil
+    Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat
+    Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels
+    Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture
+    Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform
+    Graphics.Rendering.OpenGL.Raw.EXT.PointParameters
+    Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset
+    Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex
+    Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal
+    Graphics.Rendering.OpenGL.Raw.EXT.SceneMarker
+    Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor
+    Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor
+    Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette
+    Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag
+    Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide
+    Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap
+    Graphics.Rendering.OpenGL.Raw.EXT.Subtexture
+    Graphics.Rendering.OpenGL.Raw.EXT.Texture
+    Graphics.Rendering.OpenGL.Raw.EXT.Texture3D
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureArray
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionDXT1
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLATC
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionRGTC
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvAdd
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureLODBias
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureObject
+    Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureSharedExponent
+    Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle
+    Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery
+    Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback
+    Graphics.Rendering.OpenGL.Raw.EXT.VertexArray
+    Graphics.Rendering.OpenGL.Raw.EXT.VertexShader
+    Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting
+    Graphics.Rendering.OpenGL.Raw.GetProcAddress
+    Graphics.Rendering.OpenGL.Raw.NV
+    Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender
+    Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor
+    Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat
+    Graphics.Rendering.OpenGL.Raw.NV.DepthClamp
+    Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample
+    Graphics.Rendering.OpenGL.Raw.NV.Fence
+    Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer
+    Graphics.Rendering.OpenGL.Raw.NV.FogDistance
+    Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram
+    Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2
+    Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage
+    Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4
+    Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4
+    Graphics.Rendering.OpenGL.Raw.NV.HalfFloat
+    Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent
+    Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint
+    Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery
+    Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil
+    Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
+    Graphics.Rendering.OpenGL.Raw.NV.PathRendering
+    Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange
+    Graphics.Rendering.OpenGL.Raw.NV.PointSprite
+    Graphics.Rendering.OpenGL.Raw.NV.PresentVideo
+    Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart
+    Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
+    Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2
+    Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss
+    Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection
+    Graphics.Rendering.OpenGL.Raw.NV.TextureCompressionVTC
+    Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4
+    Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal
+    Graphics.Rendering.OpenGL.Raw.NV.TextureRectangle
+    Graphics.Rendering.OpenGL.Raw.NV.TextureShader
+    Graphics.Rendering.OpenGL.Raw.NV.TextureShader2
+    Graphics.Rendering.OpenGL.Raw.NV.TextureShader3
+    Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback
+    Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2
+    Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange
+    Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2
+    Graphics.Rendering.OpenGL.Raw.NV.VertexProgram
+    Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option
+    Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3
+    Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4
+    Graphics.Rendering.OpenGL.Raw.Types
+  other-modules:
+    Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Functions
+    Graphics.Rendering.OpenGL.Raw.ARB.Compatibility.Tokens
+    Graphics.Rendering.OpenGL.Raw.Core31.Functions
+    Graphics.Rendering.OpenGL.Raw.Core31.Tokens
+    Graphics.Rendering.OpenGL.Raw.Extensions
+  c-sources:
+    cbits/HsOpenGLRaw.c
+  hs-source-dirs: src
+  include-dirs: include
+  build-depends: base >= 3 && < 5
+  default-language: Haskell2010
+  ghc-options: -Wall -O2
+  other-extensions: CPP
+  if os(windows) && flag(UseNativeWindowsLibraries)
+    if arch(i386)
+      cpp-options: "-DCALLCONV=stdcall"
+    else
       cpp-options: "-DCALLCONV=ccall"
-      if !os(darwin) && !os(ios) && flag(UseGlXGetProcAddress)
-         cc-options: "-DUSE_GLXGETPROCADDRESS"
-      else
-         cc-options: "-DUSE_DLSYM"
-      if os(darwin)
-         cpp-options: "-DHANDLE_IS_POINTER"
-         frameworks: OpenGL
+    cc-options: "-DUSE_WGLGETPROCADDRESS"
+    extra-libraries: opengl32
+  else
+    cpp-options: "-DCALLCONV=ccall"
+    if !os(darwin) && !os(ios) && flag(UseGlXGetProcAddress)
+      cc-options: "-DUSE_GLXGETPROCADDRESS"
+    else
+      cc-options: "-DUSE_DLSYM"
+    if os(darwin)
+      cpp-options: "-DHANDLE_IS_POINTER"
+      frameworks: OpenGL
+    else
+      if os(ios)
+        frameworks: OpenGLES
       else
-         if os(ios)
-            frameworks: OpenGLES
-         else
-            extra-libraries: GL
+        extra-libraries: GL
 
 source-repository head
-  type:     git
-  location: https://github.com/haskell-opengl/OpenGLRaw
+  type: git
+  location: https://github.com/haskell-opengl/OpenGLRaw.git
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/OpenGLRaw.png)](https://travis-ci.org/haskell-opengl/OpenGLRaw)
+[![Hackage](https://img.shields.io/hackage/v/OpenGLRaw.svg)](https://hackage.haskell.org/package/OpenGLRaw) [![Build Status](https://travis-ci.org/haskell-opengl/OpenGLRaw.png)](https://travis-ci.org/haskell-opengl/OpenGLRaw)
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010Rev.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010Rev.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010Rev.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010Rev.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010Rev
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs b/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core31/Functions.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 {-# OPTIONS_HADDOCK hide #-}
 --------------------------------------------------------------------------------
 -- |
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Core32.hs b/src/Graphics/Rendering/OpenGL/Raw/Core32.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/Core32.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/Core32.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.Core32
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.Fence
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.HalfFloat
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PathRendering.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PathRendering
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PresentVideo
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs
+++ b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ForeignFunctionInterface, CPP #-}
+{-# LANGUAGE CPP #-}
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram
