A Lean executable's declarative configuration.
- name : Lean.Name
The name of the target.
- srcDir : System.FilePath
The subdirectory of the package's source directory containing the executable's Lean source file. Defaults simply to said
srcDir
.(This will be passed to
lean
as the-R
option.) - root : Lean.Name
The root module of the binary executable. Should include a
main
definition that will serve as the entry point of the program.The root is built by recursively building its local imports (i.e., fellow modules of the workspace).
Defaults to the name of the target.
- exeName : String
The name of the binary executable. Defaults to the target name with any
.
replaced with a-
. An
Array
of target names to build before the executable's modules.- supportInterpreter : Bool
Enables the executable to interpret Lean files (e.g., via
Lean.Elab.runFrontend
) by exposing symbols within the executable to the Lean interpreter.Implementation-wise, on Windows, the Lean shared libraries are linked to the executable and, on other systems, the executable is linked with
-rdynamic
. This increases the size of the binary on Linux and, on Windows, requireslibInit_shared.dll
andlibleanshared.dll
to be co-located with the executable or part ofPATH
(e.g., vialake exe
). Thus, this feature should only be enabled when necessary.Defaults to
false
. - nativeFacets : Bool → Array (Lake.ModuleFacet (Lake.BuildJob System.FilePath))
The module facets to build and combine into the executable. If
shouldExport
is true, the module facets should export any symbols a user may expect to lookup in the executable. For example, the Lean interpreter will use exported symbols in the executable. Thus,shouldExport
will betrue
ifsupportInterpreter := true
.Defaults to a singleton of
Module.oExportFacet
(ifshouldExport
) orModule.oFacet
. That is, the object file compiled from the Lean source, potentially with exported Lean symbols.
Instances For
Equations
- One or more equations did not get rendered due to their size.