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