Documentation

Lake.Config.LeanExe

@[reducible, inline]

A Lean executable -- its package plus its configuration.

Instances For
    @[inline]

    The Lean executables of the package (as an Array).

    Instances For
      @[inline]

      Try to find a Lean executable in the package with the given name.

      Instances For

        Converts the executable configuration into a library with a single module (the root).

        Instances For
          @[inline]

          The executable's user-defined configuration.

          Instances For
            @[inline]

            Converts the executable into a library with a single module (the root).

            Instances For
              @[inline]

              The executable's root module.

              Instances For

                Return the root module if the name matches; otherwise, return none.

                Instances For

                  Return the root module if the file stem of the path matches the source file. Otherwise, returns none.

                  Instances For
                    @[inline]

                    The file name of binary executable (i.e., exeName plus the platform's exeExtension).

                    Instances For
                      @[inline]

                      The path to the executable in the package's binDir.

                      Instances For
                        @[inline]

                        The executable's supportInterpreter configuration.

                        Instances For

                          The arguments to pass to leanc when linking the binary executable.

                          By default, the package's plus the executable's moreLinkArgs. If supportInterpreter := true, Lake prepends -rdynamic on non-Windows systems. On Windows, it links in a manifest for Unicode path support.

                          Instances For
                            @[inline]

                            Whether the Lean shared library should be dynamically linked to the executable.

                            If supportInterpreter := true, Lean symbols must be visible to the interpreter. On Windows, it is not possible to statically include these symbols in the executable due to symbol limits, so Lake dynamically links to the Lean shared library. Otherwise, Lean is linked statically.

                            Instances For
                              @[inline]

                              The arguments to weakly pass to leanc when linking the binary executable. That is, the package's weakLinkArgs plus the executable's weakLinkArgs.

                              Instances For
                                @[inline]

                                Additional objects (e.g., .o files, static libraries) to link to the executable.

                                Instances For
                                  @[inline]

                                  Additional shared libraries to link to the executable.

                                  Instances For

                                    Locate the named, buildable, but not necessarily importable, module in the package.

                                    Instances For

                                      Returns the buildable module in the package whose source file is path.

                                      Instances For