The current version number of the system
The directory containing the binary programs
val standard_library : string
The directory containing the standard libraries
val unsafe_empty_array : bool ref
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 compiler to use for compiling C files
val c_output_obj : string
Name of the option of the C compiler for specifying the output file
val c_has_debug_prefix_map : bool
Whether the C compiler supports -fdebug-prefix-map
val as_has_debug_prefix_map : bool
Whether the assembler supports --debug-prefix-map
val ocamlc_cflags : string
The flags ocamlc should pass to the C compiler
val ocamlc_cppflags : string
The flags ocamlc should pass to the C preprocessor
val ocamlopt_cflags : string
val ocamlopt_cppflags : string
val bytecomp_c_libraries : string
The C libraries to link with custom runtimes
val native_c_libraries : string
The C libraries to link with native-code programs
val native_pack_linker : string
The linker to use for packaging (ocamlopt -pack) and for partial links (ocamlopt -output-obj).
The linker command line to build dynamic libraries.
The linker command line to build executables.
The linker command line to build main programs as dlls.
Command to randomize a library, or "" if not needed
val default_rpath : string
Option to add a directory to be searched for libraries at runtime (used by ocamlmklib)
val mksharedlibrpath : string
Option to add a directory to be searched for shared libraries at runtime (used by ocamlmklib)
Name of the ar command, or "" if not needed (MSVC)
val interface_suffix : string ref
Suffix for interface file names
val exec_magic_number : string
Magic number for bytecode executable files
val cmi_magic_number : string
Magic number for compiled interface files
val cmo_magic_number : string
Magic number for object bytecode files
val cma_magic_number : string
Magic number for archive files
val cmx_magic_number : string
Magic number for compilation unit descriptions
val cmxa_magic_number : string
Magic number for libraries of compilation unit descriptions
val ast_intf_magic_number : string
Magic number for file holding an interface syntax tree
val ast_impl_magic_number : string
Magic number for file holding an implementation syntax tree
val cmxs_magic_number : string
Magic number for dynamically-loadable plugins
val cmt_magic_number : string
Magic number for compiled interface files
val linear_magic_number : string
Magic number for Linear internal representation files
Biggest tag that can be stored in the header of a regular block.
Normally the same as Obj.lazy_tag. Separate definition because of technical reasons for bootstrapping.
val max_young_wosize : int
Maximal size of arrays that are directly allocated in the minor heap
val stack_threshold : int
Size in words of safe area at bottom of VM stack, see runtime/caml/config.h
val stack_safety_margin : int
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.
val architecture : string
Name of processor type for the native-code compiler
Name of processor submodel for the native-code compiler
Name of operating system for the native-code compiler
The assembler (and flags) to use for assembling ocamlopt-generated code.
val asm_cfi_supported : bool
Whether assembler understands CFI directives
val with_frame_pointers : bool
Whether assembler should maintain frame pointers
Extension for object files, e.g. .o
under Unix.
Extension for assembler files, e.g. .s
under Unix.
Extension for library files, e.g. .a
under Unix.
Extension for dynamically-loaded libraries, e.g. .so
under Unix.
Extension for executable programs, e.g. .exe
under Windows.
val default_executable_name : string
Name of executable produced by linking if none is given with -o, e.g. a.out
under Unix.
val systhread_supported : bool
Whether the system thread library is implemented
val flexdll_dirs : string list
Directories needed for the FlexDLL objects
Whether the compiler is a cross-compiler
Whether the compiler is a cross-compiler
Whether the compiler was configured for flambda
val with_flambda_invariants : bool
Whether the invariants checks for flambda are enabled
val with_cmm_invariants : bool
Whether the invariants checks for Cmm are enabled
Whether the compiler was configured for profiling
How many bits are to be used in values' headers for profiling information
Whether the compiler was configured with -force-safe-string; in that case, the -unsafe-string compile-time option is unavailable
val default_safe_string : bool
Whether the compiler was configured to use the -safe-string or -unsafe-string compile-time option by default.
val flat_float_array : bool
Whether the compiler and runtime automagically flatten float arrays
val function_sections : bool
Whether the compiler was configured to generate each function in a separate section
val windows_unicode : bool
Whether Windows Unicode runtime is enabled
val naked_pointers : bool
Whether the runtime supports naked pointers
val supports_shared_libraries : bool
Whether shared libraries are supported
val afl_instrument : bool
Whether afl-fuzz instrumentation is generated by default
Access to configuration values
val config_var : string -> string option
the configuration value of a variable, if it exists