packages feed

OpenGLRaw-1.4.0.0: OpenGLRaw.cabal

name: OpenGLRaw
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/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
extra-source-files:
   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.

flag UseGlXGetProcAddress
   description:
      Use glXGetProcAddress instead of dlsym on non-Windows/-Darwin platforms.

library
   exposed-modules:
      Graphics.Rendering.OpenGL.Raw,
      Graphics.Rendering.OpenGL.Raw.ARB,
      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.FramebufferObject,
      Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB,
      Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,
      Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary,
      Graphics.Rendering.OpenGL.Raw.ARB.GpuShader5,
      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.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.ShadingLanguage100,
      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.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.TextureRectangle,
      Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery,
      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.VertexBlend,
      Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject,
      Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram,
      Graphics.Rendering.OpenGL.Raw.ARB.VertexShader,
      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.ClipVolumeHint,
      Graphics.Rendering.OpenGL.Raw.EXT.Cmyka,
      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.DrawRangeElements,
      Graphics.Rendering.OpenGL.Raw.EXT.FogCoord,
      Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels,
      Graphics.Rendering.OpenGL.Raw.EXT.FragmentLighting,
      Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject,
      Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments,
      Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB,
      Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4,
      Graphics.Rendering.OpenGL.Raw.EXT.GpuProgramParameters,
      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.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.TextureCompressionDxt1,
      Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLatc,
      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.TextureSwizzle,
      Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery,
      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.FramebufferMultisampleCoverage,
      Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram,
      Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2,
      Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4,
      Graphics.Rendering.OpenGL.Raw.NV.GpuProgram4,
      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
      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
            extra-libraries: GL

source-repository head
  type:     git
  location: https://github.com/haskell-opengl/OpenGLRaw