This commit is contained in:
swrup 2025-11-11 02:07:51 +01:00
parent aa2ff7b2f0
commit 2f3113f55d
11742 changed files with 1223940 additions and 0 deletions

View file

@ -0,0 +1,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))