Box2D-0.1.0.0: Box2D.cabal
cabal-version: 2.2
-- This file has been generated from package.yaml by hpack version 0.39.6.
--
-- see: https://github.com/sol/hpack
name: Box2D
version: 0.1.0.0
synopsis: Low-level bindings to the Box2D physics engine
description: Low-level FFI bindings to Box2D, Erin Catto's 2D rigid-body physics engine.
The engine's C sources (v3.2.0, MIT licensed) are bundled and compiled with
the package, so no system library is needed.
.
Each module follows one part of the C API, and each wrapper's documentation
names the function it binds. See the README for an example and the rules on
callbacks and object lifetimes.
category: Physics
author: IC Rainbow
maintainer: aenor.realm@gmail.com
copyright: 2026 IC Rainbow
license: BSD-3-Clause AND MIT
license-files: LICENSE,
upstream/LICENSE
build-type: Simple
tested-with:
GHC == 9.10.3
extra-source-files:
cbits/box2d_gen_shim.h
cbits/box2d_shim.h
upstream/include/box2d/base.h
upstream/include/box2d/box2d.h
upstream/include/box2d/collision.h
upstream/include/box2d/config.h
upstream/include/box2d/constants.h
upstream/include/box2d/id.h
upstream/include/box2d/math_functions.h
upstream/include/box2d/math_types.h
upstream/include/box2d/types.h
upstream/src/aabb.h
upstream/src/arena_allocator.h
upstream/src/bitset.h
upstream/src/body.h
upstream/src/broad_phase.h
upstream/src/constraint_graph.h
upstream/src/contact.h
upstream/src/contact_solver.h
upstream/src/container.h
upstream/src/core.h
upstream/src/dynamic_tree.h
upstream/src/id_pool.h
upstream/src/island.h
upstream/src/joint.h
upstream/src/parallel_for.h
upstream/src/physics_world.h
upstream/src/platform.h
upstream/src/recording.h
upstream/src/replay.h
upstream/src/scheduler.h
upstream/src/sensor.h
upstream/src/shape.h
upstream/src/simd.h
upstream/src/snapshot.h
upstream/src/solver.h
upstream/src/solver_set.h
upstream/src/table.h
upstream/src/contact_solver_wide.inl
upstream/src/recording_ops.inl
extra-doc-files:
README.md
CHANGELOG.md
source-repository head
type: git
location: https://gitlab.com/dpwiz/box-nd
flag assertions
description: Keep the engine's internal assertions. A failed one stops the process with a trap.
manual: True
default: False
flag double-precision
description: Store world positions as doubles (the engine's large world mode). Every package in a build shares this setting.
manual: True
default: False
library
exposed-modules:
Box2D.Base
Box2D.Body
Box2D.Callbacks
Box2D.Chain
Box2D.Collision
Box2D.Contact
Box2D.DebugDraw
Box2D.Distance
Box2D.DistanceJoint
Box2D.DynamicTree
Box2D.Events
Box2D.Extra
Box2D.FilterJoint
Box2D.Geometry
Box2D.Id
Box2D.Internal
Box2D.Internal.DrawClosure
Box2D.Joint
Box2D.MathFunctions
Box2D.MathTypes
Box2D.MotorJoint
Box2D.Mover
Box2D.MoverJoint
Box2D.PogoJoint
Box2D.PrismaticJoint
Box2D.Recording
Box2D.Replay
Box2D.RevoluteJoint
Box2D.Shape
Box2D.Tags
Box2D.UserData
Box2D.WeldJoint
Box2D.WheelJoint
Box2D.World
other-modules:
Paths_Box2D
autogen-modules:
Paths_Box2D
hs-source-dirs:
src
default-extensions:
StrictData
DuplicateRecordFields
NoFieldSelectors
OverloadedRecordDot
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints
cc-options: -std=c17
include-dirs:
cbits
upstream/include
upstream/src
c-sources:
cbits/box2d_shim.c
cbits/box2d_gen_shim.c
upstream/src/aabb.c
upstream/src/arena_allocator.c
upstream/src/bitset.c
upstream/src/body.c
upstream/src/broad_phase.c
upstream/src/constraint_graph.c
upstream/src/contact.c
upstream/src/contact_solver.c
upstream/src/contact_solver_w4.c
upstream/src/contact_solver_w8.c
upstream/src/core.c
upstream/src/distance.c
upstream/src/distance_joint.c
upstream/src/dynamic_tree.c
upstream/src/geometry.c
upstream/src/hull.c
upstream/src/id_pool.c
upstream/src/island.c
upstream/src/joint.c
upstream/src/manifold.c
upstream/src/math_functions.c
upstream/src/motor_joint.c
upstream/src/mover.c
upstream/src/mover_joint.c
upstream/src/parallel_for.c
upstream/src/physics_world.c
upstream/src/pogo_joint.c
upstream/src/prismatic_joint.c
upstream/src/recording.c
upstream/src/replay.c
upstream/src/revolute_joint.c
upstream/src/scheduler.c
upstream/src/sensor.c
upstream/src/shape.c
upstream/src/simd.c
upstream/src/snapshot.c
upstream/src/solver.c
upstream/src/solver_set.c
upstream/src/table.c
upstream/src/timer.c
upstream/src/types.c
upstream/src/weld_joint.c
upstream/src/wheel_joint.c
build-depends:
base >=4.16 && <5
, vector ==0.13.*
default-language: GHC2021
if !flag(assertions)
cc-options: -DNDEBUG
if flag(double-precision)
cc-options: -DBOX2D_DOUBLE_PRECISION
test-suite Box2D-test
type: exitcode-stdio-1.0
main-is: Spec.hs
other-modules:
Paths_Box2D
autogen-modules:
Paths_Box2D
hs-source-dirs:
test
default-extensions:
StrictData
DuplicateRecordFields
NoFieldSelectors
OverloadedRecordDot
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
build-depends:
Box2D
, base >=4.16 && <5
, tasty
, tasty-hunit
, vector ==0.13.*
default-language: GHC2021
benchmark Box2D-bench
type: exitcode-stdio-1.0
main-is: Bench.hs
other-modules:
Paths_Box2D
autogen-modules:
Paths_Box2D
hs-source-dirs:
bench
default-extensions:
StrictData
DuplicateRecordFields
NoFieldSelectors
OverloadedRecordDot
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -O2
build-depends:
Box2D
, base >=4.16 && <5
, tasty-bench
, vector ==0.13.*
default-language: GHC2021