h-raylib-4.5.2.0: h-raylib.cabal
cabal-version: 2.4
name: h-raylib
version: 4.5.2.0
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
lib/*.c
lib/*.h
lib/rglfw.m
raylib/src/*.c
raylib/src/*.h
raylib/src/external/*.h
raylib/src/external/*.c
raylib/src/external/glfw/deps/*.c
raylib/src/external/glfw/deps/*.h
raylib/src/external/glfw/deps/glad/*.h
raylib/src/external/glfw/deps/mingw/*.h
raylib/src/external/glfw/deps/vs2008/*.h
raylib/src/external/glfw/include/GLFW/*.h
raylib/src/external/glfw/src/*.c
raylib/src/external/glfw/src/*.h
raylib/src/external/glfw/src/*.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
common example-options
default-language: Haskell2010
if !flag(examples)
buildable: False
else
build-depends:
, base
, h-raylib
executable basic-window
import: example-options
hs-source-dirs: examples/basic-window/src
main-is: Main.hs
executable basic-images
import: example-options
hs-source-dirs: examples/basic-images/src
main-is: Main.hs
executable basic-models
import: example-options
hs-source-dirs: examples/basic-models/src
main-is: Main.hs
executable basic-audio
import: example-options
hs-source-dirs: examples/basic-audio/src
main-is: Main.hs
executable custom-font-text
import: example-options
hs-source-dirs: examples/custom-font-text/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
library
exposed-modules:
Raylib.Audio
Raylib.Colors
Raylib.Core
Raylib.Models
Raylib.Shapes
Raylib.Text
Raylib.Textures
Raylib.Types
other-modules:
Raylib.Native
Raylib.Util
Raylib.Internal
build-depends: base >=4.0 && <4.17.0
hs-source-dirs: src
default-language: Haskell2010
other-extensions: ForeignFunctionInterface, DeriveAnyClass
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: -DPLATFORM_DESKTOP -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-unused-result -DPLATFORM_DESKTOP
elif (flag(platform-mac) || (flag(detect-platform) && os(osx)))
frameworks: OpenGL Cocoa IOKit CoreVideo CoreAudio CoreFoundation
cc-options: -DPLATFORM_DESKTOP
elif (flag(platform-bsd) || (flag(detect-platform) && ((os(freebsd) || os(netbsd)) || os(openbsd))))
extra-libraries:
GL
pthread
cc-options: -DPLATFORM_DESKTOP
else
-- Unsupported OS, do nothing. If you can get it working on an
-- OS that isn't on here, please add it here.
if (flag(platform-mac) || (flag(detect-platform) && os(osx)))
-- Use rgflw.m instead of .c on Mac to force objective-c
c-sources:
lib/rl_bindings.c
lib/rglfw.m
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
else
c-sources:
lib/rl_bindings.c
lib/rl_internal.c
raylib/src/raudio.c
raylib/src/rcore.c
raylib/src/rglfw.c
raylib/src/rmodels.c
raylib/src/rshapes.c
raylib/src/rtext.c
raylib/src/rtextures.c
raylib/src/utils.c
include-dirs: lib raylib/src raylib/src/external/glfw/include