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