Config_boot(3)
π Config_boot(3) π
okay so this is the Config_boot page from the OCaml library β manual name folded in near the top, as requested, and honestly it's giving βcompiler internals but make it a group chat.β Buckle up, bestie π«Ά
π NAME
Config_boot β System configuration
π§© Module
Module Config_boot
π Documentation
π§© Module Config_boot
Module Config_boot
: sig end
System configuration.
β οΈ Warning: this module is unstable and part of Compiler_libs.
okay bestie, now the big val list. every single one is here, no cap β no skipping the βboringβ ones, because they're literally the whole point. π
val version : stringβ The current version number of the systemval release_number : intβ The release number for the compiler. Since 5.5val is_official_release : boolβTrueif the compiler is an unmodified official OCaml release. Since 5.5val bindir : stringβ The directory containing the binary programs. If the compiler was configured with--with-relative-libdirthen this will be the directory containing the currently executing runtime.val standard_library_relative : string optionβ The explicit relative path from the compiler binaries to the standard libraries directory if the compiler was configured with--with-relative-libdir, orNoneotherwise. Since 5.5val target_bindir : stringβ The directory containing the runtime binaries on the target system. Since 5.5val standard_library_default : stringβ The effective value for the default directory containing the standard libraries. This is always an absolute path, computed usingConfig_boot.standard_library_relativeif necessary. Since 5.5val standard_library : stringβ The effective directory containing the standard libraries, takingCAMLLIBandOCAMLLIBinto account.val 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)val c_compiler : stringβ The compiler to use for compiling C filesval c_compiler_vendor : stringβ 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_VERfollows and optionallyclang-ifclang-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 eithergcc-orclang-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.
Since 5.5
val c_output_obj : stringβ Name of the option of the C compiler for specifying the output fileval c_has_debug_prefix_map : boolβ Whether the C compiler supports-fdebug-prefix-mapval as_has_debug_prefix_map : boolβ Whether the assembler supports--debug-prefix-mapval as_is_cc : boolβ Whether the assembler is actually an assembler, or whether we are really assembling files via the C compiler. Since 5.5val bytecode_cflags : stringβ The flagsocamlcshould pass to the C compilerval bytecode_cppflags : stringβ The flagsocamlcshould pass to the C preprocessorval native_cflags : stringβ The flagsocamloptshould pass to the C compilerval native_cppflags : stringβ The flagsocamloptshould pass to the C preprocessorval bytecomp_c_libraries : stringβ The C libraries to link with custom runtimesval native_c_libraries : stringβ The C libraries to link with native-code programsval compression_c_libraries : stringβ The C libraries needed with-lcomprmarsh(should appear beforeConfig_boot.native_c_librariesin a call to the C compiler). Since 5.4val native_ldflags : stringβ no description attached in the original; it's just the type, bestie.val with_nonexecstack_note : boolβ Whether an explicit".note.GNU-stack"section is to be added to indicate the stack should not be executable. Since 5.4val native_pack_linker : stringβ The linker to use for packaging (ocamlopt -pack) and for partial links (ocamlopt -output-obj).val mkdll : stringβ The linker command line to build dynamic libraries.val mkexe : stringβ The linker command line to build executables.val mkmaindll : stringβ The linker command line to build main programs as dlls.val default_rpath : stringβ Option to add a directory to be searched for libraries at runtime (used byocamlmklib)val mksharedlibrpath : stringβ Option to add a directory to be searched for shared libraries at runtime (used byocamlmklib)val ar : stringβ Name of thearcommand, or""if not needed (MSVC)val interface_suffix : string refβ Suffix for interface file namesval exec_magic_number : stringβ Magic number for bytecode executable filesval cmi_magic_number : stringβ Magic number for compiled interface filesval cmo_magic_number : stringβ Magic number for object bytecode filesval cma_magic_number : stringβ Magic number for archive filesval cmx_magic_number : stringβ Magic number for compilation unit descriptionsval cmxa_magic_number : stringβ Magic number for libraries of compilation unit descriptionsval ast_intf_magic_number : stringβ Magic number for file holding an interface syntax treeval ast_impl_magic_number : stringβ Magic number for file holding an implementation syntax treeval cmxs_magic_number : stringβ Magic number for dynamically-loadable pluginsval cmt_magic_number : stringβ Magic number for compiled interface filesval linear_magic_number : stringβ Magic number for Linear internal representation filesval max_tag : intβ Biggest tag that can be stored in the header of a regular block.val lazy_tag : intβ Normally the same asObj.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 heapval stack_threshold : intβ Size in words of safe area at bottom of VM stack, seeruntime/caml/config.hval 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 native_compiler : boolβ Whether the native compiler is available or not. Since 5.1val architecture : stringβ Name of processor type for the native-code compilerval model : stringβ Name of processor submodel for the native-code compilerval system : stringβ Name of operating system for the native-code compilerval target_os_type : stringβ 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).
Since 5.4
val target_unix : boolβTrueiftarget_os_type = "Unix". Since 5.5val target_win32 : boolβTrueiftarget_os_type = "Win32". Since 5.5val target_cygwin : boolβTrueiftarget_os_type = "Cygwin". Since 5.5val asm : stringβ The assembler (and flags) to use for assemblingocamlopt-generated code.val asm_cfi_supported : boolβ Whether assembler understands CFI directivesval asm_size_type_directives : boolβ Whether the.sizeand.typeassembler directives can be used. Since 5.4val asm_dwarf_version : int optionβ The DWARF Version emitted by theConfig_boot.asmcommand. At present this is only implemented for the clang internal assembler, all other assemblers haveNone. Since 5.5val with_frame_pointers : boolβ Whether assembler should maintain frame pointersval ext_obj : stringβ Extension for object files, e.g..ounder Unix.val ext_asm : stringβ Extension for assembler files, e.g..sunder Unix.val ext_lib : stringβ Extension for library files, e.g..aunder Unix.val ext_dll : stringβ Extension for dynamically-loaded libraries, e.g..sounder Unix.val ext_exe : stringβ Extension for executable programs, e.g..exeunder Windows. Since 4.12val default_executable_name : stringβ Name of executable produced by linking if none is given with-o, e.g.a.outunder Unix.val systhread_supported : boolβ Whether the system thread library is implementedval flexdll_dirs : string listβ Directories needed for the FlexDLL objectsval host : stringβ Whether the compiler is a cross-compilerval target : stringβ Whether the compiler is a cross-compilerval flambda : boolβ Whether the compiler was configured for flambdaval with_flambda_invariants : boolβ Whether the invariants checks for flambda are enabledval with_cmm_invariants : boolβ Whether the invariants checks for Cmm are enabledval with_codegen_invariants : boolβ Whether the invariant checks for native code generation are enabled.val reserved_header_bits : intβ How many bits of a block's header are reservedval flat_float_array : boolβ Whether the compiler and runtime automagically flatten float arraysval align_double : boolβ Whether the compiler and runtime need to align double values. Iffalse, afloatarrayvalue can be cast to a C array of doubles.val align_int64 : boolβ Whether the compiler and runtime need to alignint64valuesval function_sections : boolβ Whether the compiler was configured to generate each function in a separate sectionval windows_unicode : boolβ Whether Windows Unicode runtime is enabledval naked_pointers : boolβ Whether the runtime supports naked pointers. Since 4.14val supports_shared_libraries : boolβ Whether shared libraries are supported. Since 4.08val native_dynlink : boolβ Whether native shared libraries are supported. Since 5.1val afl_instrument : boolβ Whether afl-fuzz instrumentation is generated by defaultval ar_supports_response_files : boolβ Whetherarsupports@FILEarguments.val tsan : boolβ Whether ThreadSanitizer instrumentation is enabledtype launch_method =
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 to sh ;
if the parameter is None , then the linker searches PATH for sh .
*)
Launch mechanisms for bytecode executables. Since 5.5
val launch_method : launch_methodβ no extra description in the original; that's the whole entry, bestie.
Default launch mechanism for bytecode executables
Since 5.5 β¨
Okay so here's the type, bestie β comments and all, no cap:
type search_method =
| Disable (* Interpreter searching disabled - check fixed absolute
location only
*)
| Fallback (* Check fixed absolute location first, but fall back to a
search if that fails
*)
| Enable (* Always search for the interpreter
*)
It's giving three-way vibe check: Disable means no interpreter searching and only the fixed absolute location gets checked, Fallback means fixed absolute first and then search if that fails, and Enable means always search. The receipts are right there in the comments π
Mechanisms used by tendered bytecode executables to locate the interpreter
Since 5.5 π¦
val search_method : search_methodβ the default search mechanism for bytecode executables. Since 5.5 β¨val shebangscripts : boolβ whether the target supports shebang scripts. Since 5.5 πval suffixing : boolβ whether the runtime executable and shared library filenames and C stub library filenames are being mangled with Runtime IDs and theConfig_boot.target. Since 5.5 πval bytecode_runtime_id : stringβ the Runtime ID for this build of the bytecode runtime system. Since 5.5 π₯val native_runtime_id : stringβ the Runtime ID for this build of the native runtime system. Since 5.5 πval print_config : out_channel -> unitβ Access to configuration values. πval config_var : string -> string optionβ the configuration value of a variable, if it exists. π
That's the whole vibe β page Config_boot(3), brought to you by OCamldoc and dated 2026-06-22. Byeee bestie πβ¨
π¦ where this page comes from
- arch rolling: ocaml 5.5.0-1 Β· LGPL2.1 AND custom: QPL-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms