1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
Boolean Language
================
The Boolean language allows the user to define simple Boolean expressions that
Dune can evaluate. Here's a semiformal specification of the language:
.. productionlist:: blang
op : '=' | '<' | '>' | '<>' | '>=' | '<='
expr : (and <expr>+)
: (or <expr>+)
: (<op> <template> <template>)
: (not <expr>)
: <template>
After an expression is evaluated, it must be exactly the string ``true`` or
``false`` to be considered as a Boolean. Any other value will be treated as an
error.
Below is a simple example of a condition expressing that the build
has a Flambda compiler, with the help of variable expansion, and is
targeting OSX:
.. code:: dune
(and %{ocaml-config:flambda} (= %{ocaml-config:system} macosx))
|