Dune Documentation¶
Dune is a build system for OCaml projects. Using it, you can build executables, libraries, run tests, and much more.
- Getting Started and Core Concepts
- Tutorials
- How-to Guides
- How to Install Dune
- How to Set up Automatic Formatting
- How to Generate Opam Files from
dune-project
- Cross-Compilation
- Dealing with Foreign Libraries
- Generating Documentation
- How to Load Additional Files at Runtime
- Instrumentation
- JavaScript Compilation With Js_of_ocaml
- Wasm Compilation With Wasm_of_ocaml
- JavaScript Compilation With Melange
- Virtual Libraries
- Writing and Running Tests
- How to Bundle Resources
- How to Load a Project in a Toplevel
- Using Rule Generation
- How to Override the Default C Entrypoint With C Stubs
- Reference Manual
- dune
- dune-project
- dune-workspace
- config
- Lexical Conventions
- Actions
- Ordered Set Language
- Boolean Language
- Predicate Language
- Library Dependencies
- Preprocessing Specification
- Cram Tests
- Scopes
- Variables
- Dependency Specification
- OCaml Flags
- Sandboxing
- Locks
- Diffing and Promotion
- Package Specification
- Aliases
- Foreign Stubs
- Foreign Archives
- Extra Objects
- Flags in Foreign Code
- Command Line Interface
- Dune Libraries
- Dune Cache
- Coq
- Dune RPC
- Packages
- Findlib Integration
- Explanation
- Advanced Topics
- Miscellaneous