88
99 Some of these are mini how-to guides, or sections of existing guides.
1010
11- Why Do Many Dune Projects Contain a ``Makefile ``?
11+ Why do many Dune projects contain a ``Makefile ``?
1212=================================================
1313
1414Many Dune projects contain a root ``Makefile ``. It's often only there for
@@ -23,31 +23,31 @@ convenience for the following reasons:
2323
24243. ``make `` is shorter to type than ``dune build @install ``
2525
26- How to Add a Configure Step to a Dune Project
27- =============================================
26+ How to add a configure step to a Dune project?
27+ ==============================================
2828
2929The with-configure-step _ example shows one way to add a configure step that
3030preserves composability; i.e., it doesn't require manually running the
3131``./configure `` script when working on multiple projects simultaneously.
3232
3333.. _with-configure-step : https://github.com/ocaml/dune/tree/master/example/with-configure-step.t
3434
35- Can I Use ``topkg `` with Dune?
35+ Can I use ``topkg `` with Dune?
3636==============================
3737
3838While it's possible to use the topkg-jbuilder _, it's not recommended.
3939dune-release _ subsumes ``topkg-jbuilder `` and is specifically tailored to Dune
4040projects.
4141
4242
43- How Do I Publish My Packages with Dune?
43+ How do I publish my packages with Dune?
4444=======================================
4545
4646Dune is just a build system and considers publishing outside of its scope.
4747However, the dune-release _ project is specifically designed for releasing Dune
4848projects to opam. We recommend using this tool for publishing Dune packages.
4949
50- Where Can I Find Some Examples of Projects Using Dune?
50+ Where can I find some examples of projects using Dune?
5151======================================================
5252
5353The dune-universe _ repository contains a snapshot of the latest versions of all
@@ -68,8 +68,8 @@ Jane Street as well.
6868.. _dune-release : https://github.com/samoht/dune-release
6969.. _jenga : https://github.com/janestreet/jenga
7070
71- How to Make Warnings Non-Fatal
72- ==============================
71+ How to make warnings non-fatal?
72+ ===============================
7373
7474`jbuilder ` formerly displayed warnings, but most of them wouldn't stop the
7575build. However, Dune makes all warnings fatal by default. This can be a
@@ -92,8 +92,8 @@ non-fatal:
9292 (dev
9393 (flags (:standard -warn-error -A))))
9494
95- How to Turn Specific Errors into Warnings
96- =========================================
95+ How to turn specific errors into warnings?
96+ ==========================================
9797
9898Dune is strict about warnings by default in that all warnings are treated as
9999fatal errors. To change certain errors into warnings for a project, you can add
@@ -106,8 +106,8 @@ the following to ``dune-workspace``:
106106 In this example, the warnings 27 (unused-var-strict) and 32
107107(unused-value-declaration) are treated as warnings rather than errors.
108108
109- How to Display the Output of Commands as They Run
110- =================================================
109+ How to display the output of commands as they run?
110+ ==================================================
111111
112112When Dune runs external commands, it redirects and saves their output, then
113113displays it when complete. This ensures that there's no interleaving when
@@ -120,8 +120,8 @@ In that case, one can pass ``-j1 --no-buffer`` so the commands are directly
120120printed on the console (and the parallelism is disabled so the output stays
121121readable).
122122
123- How Can I Generate an ``mli `` File From an ``ml `` File
124- ======================================================
123+ How can I generate an ``mli `` file from an ``ml `` file?
124+ =======================================================
125125
126126When a module starts as just an implementation (``.ml `` file), it can be
127127tedious to define the corresponding interface (``.mli `` file).
@@ -143,7 +143,7 @@ file:
143143 The ``ocaml-print-intf `` program has special support for Dune, so it will
144144automatically understand external dependencies.
145145
146- How Can I Build a Single Library ?
146+ How can I build a single library ?
147147=================================
148148
149149You might want to do this when you don't have all the dependencies installed to
@@ -171,8 +171,8 @@ directory - not the project root. If the library defines a ``name`` distinct fro
171171its ``public_name `` then that can be used interchangeably with the ``public_name ``
172172in this command.
173173
174- Files and Directories Whose Names Begin with "." (Period) are Ignored by `` source_tree ``
175- ========================================================================================
174+ Why does `` source_tree `` ignore files and directories when they begin with a "." (period)?
175+ ==========================================================================================
176176
177177Dune's default behaviour is to ignore files and directories starting with "."
178178when copying directories with ``source_tree ``. This is to avoid accidentally
@@ -224,8 +224,8 @@ In this case you can update it to look like this:
224224 (dirs :standard .cargo \ target)
225225 (data_only_dirs vendor)
226226
227- How Can I Write Inline Tests in a Package Without my Users Needing to Install ``ppx_inline_test ``?
228- ==================================================================================================
227+ Why can't I write inline tests in a package without users needing to install ``ppx_inline_test ``?
228+ =================================================================================================
229229
230230If you came to OCaml from Rust and noticed that Dune has a feature for running
231231inline tests you might be wondering how to do the OCaml equivalent of:
0 commit comments