h-raylib-4.6.0.1: h-raylib.cabal
cabal-version: 2.4
name: h-raylib
version: 4.6.0.1
synopsis: Raylib bindings for Haskell
category: graphics
description:
This library contains Haskell bindings to the Raylib library. It supports Windows, Mac, Linux, and BSD.
bug-reports: https://github.com/Anut-py/h-raylib/issues
license: Apache-2.0
license-file: LICENSE
author: Anut
maintainer: Anut
extra-doc-files:
CONTRIBUTING.md
README.md
ROADMAP.md
extra-source-files:
CHANGELOG.md
examples/**/*.frag
examples/**/*.mtl
examples/**/*.obj
examples/**/*.png
examples/**/*.vert
lib/**/*.c
lib/**/*.h
lib/**/*.m
raylib/**/*.c
raylib/**/*.h
raylib/**/*.m
flag detect-platform
description:
Detect platform and automatically add platform-specific configuration
default: True
manual: True
flag platform-windows
description: Build for Windows
default: False
manual: True
flag platform-mac
description: Build for macOS/OSX
default: False
manual: True
flag platform-linux
description: Build for Linux
default: False
manual: True
flag platform-bsd
description: Build for FreeBSD, OpenBSD, or NetBSD
default: False
manual: True
flag mingw-cross
description:
Cross-compiling for mingw (used in combination with Windows)
default: False
manual: True
flag examples
description: Build the example projects
default: False
manual: True
flag ghci
description: Used when running the program in GHCi
default: False
manual: True
common example-options
default-language: Haskell2010
if !flag(examples)
buildable: False
else
build-depends:
, base
, h-raylib
-- core
executable basic-window
import: example-options
hs-source-dirs: examples/basic-window/src
main-is: Main.hs
executable first-person-camera
import: example-options
hs-source-dirs: examples/first-person-camera/src
main-is: Main.hs
executable camera-ray-collision
import: example-options
hs-source-dirs: examples/camera-ray-collision/src
main-is: Main.hs
-- textures
executable basic-images
import: example-options
hs-source-dirs: examples/basic-images/src
main-is: Main.hs
-- text
executable custom-font-text
import: example-options
hs-source-dirs: examples/custom-font-text/src
main-is: Main.hs
-- models
executable basic-models
import: example-options
hs-source-dirs: examples/basic-models/src
main-is: Main.hs
-- shaders
executable basic-shaders
import: example-options
hs-source-dirs: examples/basic-shaders/src
main-is: Main.hs
executable postprocessing-effects
import: example-options
hs-source-dirs: examples/postprocessing-effects/src
main-is: Main.hs
-- audio
executable basic-audio
import: example-options
hs-source-dirs: examples/basic-audio/src
main-is: Main.hs
-- rlgl
executable basic-rlgl
import: example-options
hs-source-dirs: examples/basic-rlgl/src
main-is: Main.hs
library
exposed-modules:
Raylib.Core
Raylib.Core.Audio
Raylib.Core.Camera
Raylib.Core.Models
Raylib.Core.Shapes
Raylib.Core.Text
Raylib.Core.Textures
Raylib.Types
Raylib.Util
Raylib.Util.Camera
Raylib.Util.Colors
Raylib.Util.Math
Raylib.Util.RLGL
other-modules:
Raylib.ForeignUtil
Raylib.Internal
Raylib.Native
build-depends:
, base >=4.0 && <4.17.0
, containers >=0.6.0 && <0.6.7.0
hs-source-dirs: src
default-language: Haskell2010
other-extensions:
CPP
DeriveAnyClass
ForeignFunctionInterface
cc-options: -Wno-discarded-qualifiers -DPLATFORM_DESKTOP
if (flag(platform-windows) || (flag(detect-platform) && os(windows)))
if flag(mingw-cross)
extra-libraries:
opengl32
gdi32
winmm
shell32
gcc
gcc_eh
else
extra-libraries:
opengl32
gdi32
winmm
shell32
gcc_eh
cc-options: -D_ftelli64=ftello64 -D_fseeki64=fseeko64
elif (flag(platform-linux) || (flag(detect-platform) && os(linux)))
extra-libraries:
GL
c
m
pthread
dl
rt
X11
Xinerama
Xcursor
Xrandr
Xi
Xext
cc-options: -Wno-implicit-function-declaration -Wno-unused-result
elif (flag(platform-mac) || (flag(detect-platform) && os(osx)))
frameworks: OpenGL Cocoa IOKit CoreVideo CoreAudio CoreFoundation
elif (flag(platform-bsd) || (flag(detect-platform) && ((os(freebsd) || os(netbsd)) || os(openbsd))))
extra-libraries:
GL
pthread
else
-- Unsupported OS, do nothing. If you can get it working on an
-- OS that isn't on here, please add it here.
c-sources:
lib/rl_bindings.c
lib/rl_internal.c
lib/rlgl_bindings.c
raylib/src/raudio.c
raylib/src/rcore.c
raylib/src/rmodels.c
raylib/src/rshapes.c
raylib/src/rtext.c
raylib/src/rtextures.c
raylib/src/utils.c
if (flag(platform-mac) || (flag(detect-platform) && os(osx)))
-- Use rgflw.m instead of .c on Mac to force objective-c
c-sources: lib/rglfw.m
elif (flag(ghci) && (flag(platform-windows) || (flag(detect-platform) && os(windows))))
c-sources: lib/glfw_patch/rglfw_patch.c
else
c-sources: raylib/src/rglfw.c
if flag(ghci)
cpp-options: -DGHCI
include-dirs:
lib raylib/src raylib/src/external/glfw/src
raylib/src/external/glfw/include