package ocaml-compiler
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=c018052c8264a3791a8f54f84179e6bcc78ed82eb889bacc2773df445259aed3
doc/compiler-libs.common/Config_main/index.html
Module Config_main
System configuration
Warning: this module is unstable and part of compiler-libs.
The directory containing the binary programs. If the compiler was configured with --with-relative-libdir then this will be the directory containing the currently executing runtime.
The explicit relative path from the compiler binaries to the standard libraries directory if the compiler was configured with --with-relative-libdir, or None otherwise.
The effective value for the default directory containing the standard libraries. This is always an absolute path, computed using standard_library_relative if necessary.
The effective directory containing the standard libraries, taking CAMLLIB and OCAMLLIB into account.
The "kind" of the C compiler, assembler and linker used: one of "cc" (for Unix-style C compilers) "msvc" (for Microsoft Visual C++ and MASM)
The vendor and version of the C compiler. Consists of hyphenated values where the first part indicates the C compiler's vendor and remaining parts indicate the version of the C compiler, as reported by that C compiler's preprocessor.
Possible values are:
msvc
Windows, using Microsoft Visual Studio.
_MSC_VER
follows and optionally
clang-
if
clang-cl
, rather than Visual Studio itself, is in use.
icc
- Intel C Compiler.
mingw
Windows, using the mingw-w64 project. The major and minor version of mingw-w64 itself follow and then either
gcc-
or
clang-
indicating which C compiler is in use.
clang
- Clang LLVM C Compiler.
gcc
- GNU Compiler Collection C Compiler.
xlc
- IBM XL C Compiler.
sunc
- Oracle Solaris Studio.
unknown
- unknown compiler vendor. No additional version info.
Whether the assembler is actually an assembler, or whether we are really assembling files via the C compiler
The C libraries needed with -lcomprmarsh (should appear before native_c_libraries in a call to the C compiler)
Whether an explicit ".note.GNU-stack" section is to be added to indicate the stack should not be executable
The linker to use for packaging (ocamlopt -pack) and for partial links (ocamlopt -output-obj).
Option to add a directory to be searched for libraries at runtime (used by ocamlmklib)
Option to add a directory to be searched for shared libraries at runtime (used by ocamlmklib)
val interface_suffix : string refSuffix for interface file names
Normally the same as Obj.lazy_tag. Separate definition because of technical reasons for bootstrapping.
Size in words of safe area at bottom of VM stack, see runtime/caml/config.h
Size in words of the safety margin between the bottom of the stack and the stack pointer. This margin can be used by intermediate computations of some instructions, or the event handler.
Operating system targeted by the native-code compiler. One of
"Unix"(for all Unix versions, including Linux and macOS),"Win32"(for MS-Windows, OCaml compiled with MSVC++ or MinGW-w64),"Cygwin"(for MS-Windows, OCaml compiled with Cygwin).
The DWARF Version emitted by the asm command. At present this is only implemented for the clang internal assembler, all other assemblers have None.
Name of executable produced by linking if none is given with -o, e.g. a.out under Unix.
Whether the invariant checks for native code generation are enabled.
Whether the compiler and runtime need to align double values. If false, a floatarray value can be cast to a C array of doubles.
Whether the compiler was configured to generate each function in a separate section
Whether shared libraries are supported
type launch_method = | Executable(*Use the executable launcher stub
*)| Shebang of string option(*Use a shebang-style launcher. Whenever possible, the interpreter will be the runtime itself, but if the path to the runtime is not valid for a shebang line, then a shell script is generated. When this is necessary, the parameter in
*)Shebang (Some sh)is the full path tosh; if the parameter isNone, then the linker searches PATH forsh.
Launch mechanisms for bytecode executables
val launch_method : launch_methodDefault launch mechanism for bytecode executables
val search_method : search_methodDefault search mechanism for bytecode executables
Whether the runtime executable and shared library filenames and C stub library filenames are being mangled with Runtime IDs and the target.
val print_config : out_channel -> unitAccess to configuration values