Welcome to dune’s documentation!¶
- Overview
- Quickstart
- Building a hello world program
- Building a hello world program using Lwt
- Building a hello world program using Core and Jane Street PPXs
- Defining a library using Lwt and ocaml-re
- Building a hello world program in byte-code
- Setting the OCaml compilation flags globally
- Using cppo
- Defining a library with C stubs
- Defining a library with C stubs using pkg-config
- Using a custom code generator
- Defining tests
- Building a custom toplevel
- Command-line interface
- Stanza reference
- dune-project
- dune
- jbuild_version
- library
- foreign_library
- deprecated_library_name
- executable
- executables
- rule
- ocamllex
- ocamlyacc
- menhir
- cinaps
- documentation
- alias
- install
- copy_files
- include
- tests
- test
- env
- dirs (since 1.6)
- data_only_dirs (since 1.6)
- ignored_subdirs (deprecated in 1.6)
- vendored_dirs (since 1.11)
- include_subdirs
- toplevel
- subdir
- external_variant
- coq.theory
- coq.pp
- coq.extraction
- mdx (since 2.4)
- plugin (since 2.8)
- generate_sites_module (since 2.8)
- dune-workspace
- General concepts
- Writing and running tests
- Running tests
- Inline tests
- Inline expectation tests
- Running a subset of the test suite
- Running tests in bytecode or JavaScript
- Specifying inline test dependencies
- Passing special arguments to the test runner
- Passing special arguments to the test executable
- Using additional libraries in the test runner
- Defining your own inline test backend
- Custom tests
- Cram Tests
- Instrumentation
- Dealing with foreign libraries
- Generating documentation
- JavaScript compilation
- How to load additional files at runtime
- OPAM integration
- Virtual libraries & variants
- Automatic formatting
- Cross compilation
- Dune libraries
- Other topics
- Lexical conventions
- FAQ
- Why do many dune projects contain a Makefile?
- How to add a configure step to a dune project?
- Can I use topkg with dune?
- How do I publish my packages with dune?
- Where can I find some examples of projects using dune?
- What is Jenga?
- How to make warnings non-fatal?
- How to display the output of commands as they run?
- How can I generate an mli file from an ml file?
- Known Issues
- Migration
- Caching
- Toplevel integration
- Goal of Dune
- Working on the Dune codebase