.TH "Misc.RuntimeID" 3 2025-09-14 OCamldoc "OCaml library" .SH NAME Misc.RuntimeID \- no description .SH Module Module Misc.RuntimeID .SH Documentation .sp Module .BI "RuntimeID" : .B sig end .sp .sp .sp .sp .PP Manipulation of the Runtime ID values used to mangle the filenames of shared libraries and the bytecode interpreters\&. .PP .I type t = private { dev : .B bool ; (* .ft B true .ft R if this not an unaltered official release of OCaml *) release : .B int ; (* Release number (OCaml 5\&.5 is release 21) *) reserved : .B int ; (* The number of reserved bits (0\-31) in the value header *) no_flat_float_array : .B bool ; (* .ft B true .ft R if float arrays must be boxed (i\&.e\&. configured with \-\-disable\-flat\-float\-array) *) fp : .B bool ; (* .ft B true .ft R if frame pointers are required (i\&.e\&. configured with \-\-enable\-frame\-pointers *) tsan : .B bool ; (* .ft B true .ft R if ThreadSanitizer (TSAN) is required (i\&.e\&. configured with \-\-enable\-tsan) *) int31 : .B bool ; (* .ft B true .ft R if the platform has 31\-bit .ft B int .ft R s (i\&.e\&. 32\-bit systems) *) static : .B bool ; (* .ft B true .ft R if dynamic loading of libraries is not supported *) no_compression : .B bool ; (* .ft B true .ft R if compressed marshalling is not supported *) ansi : .B bool ; (* .ft B true .ft R if Unicode support on Windows is disabled *) } .sp Runtime IDs .sp .I val make_zinc : .B ?dev:bool -> .B ?release:int -> .B ?no_flat_float_array:bool -> .B ?int31:bool -> .B ?static:bool -> ?no_compression:bool -> unit -> t .sp Returns the Zinc Runtime ID for the given parameters (using default values from .ft B Config .ft R and .ft B Sys .ft R as necessary) .sp .I val make_bytecode : .B ?dev:bool -> .B ?release:int -> .B ?reserved:int -> .B ?no_flat_float_array:bool -> .B ?int31:bool -> .B ?static:bool -> .B ?no_compression:bool -> ?ansi:bool -> unit -> t .sp Returns the Bytecode Runtime ID for the given parameters (using default values from .ft B Config .ft R and .ft B Sys .ft R as necessary) .sp .I val make_native : .B ?dev:bool -> .B ?release:int -> .B ?reserved:int -> .B ?no_flat_float_array:bool -> .B ?fp:bool -> .B ?tsan:bool -> .B ?int31:bool -> .B ?static:bool -> .B ?no_compression:bool -> ?ansi:bool -> unit -> t .sp Returns the Native Runtime ID for the given parameters (using default values from .ft B Config .ft R and .ft B Sys .ft R as necessary) .sp .I val is_zinc : .B t -> bool .sp .ft B is_zinc t .ft R is true if .ft B t .ft R can be used as a Zinc Runtime ID .sp .I val is_bytecode : .B t -> bool .sp .ft B is_bytecode t .ft R is true if .ft B t .ft R can be used as a Bytecode Runtime ID .sp .I val is_native : .B t -> bool .sp .ft B is_native t .ft R is true if .ft B t .ft R can be used as a Native Runtime ID .sp .I val to_string : .B t -> string .sp Returns the 4\-character representation of a .ft B Misc\&.RuntimeID\&.t .ft R .sp .I val of_string : .B string -> t option .sp Converts the 4\-character representation back to a .ft B Misc\&.RuntimeID\&.t .ft R .sp .I val of_zinc_hi : .B ?dev:bool -> ?release:int -> string -> t option .sp Converts hi 2 characters of the representation back to a .ft B Misc\&.RuntimeID\&.t .ft R (using the default version information from .ft B Config .ft R \&. .sp .I val ocamlrun : .B string -> t -> string .sp .ft B ocamlrun variant runtime_id .ft R returns the name for the runtime for the given Zinc Runtime ID\&. .sp .I val shared_runtime : .B ?runtime_id:t -> .B ?host:string -> ?prefix:string -> Sys.backend_type -> string .sp .ft B shared_runtime ?runtime_id ?host ?prefix backend .ft R returns the name of the shared runtime for the given .ft B backend .ft R \&. .ft B runtime_id .ft R defaults to .ft B Misc\&.RuntimeID\&.make_bytecode .ft R if .ft B backend = Sys\&.Bytecode .ft R and .ft B Misc\&.RuntimeID\&.make_native .ft R if .ft B backend = Sys\&.Native .ft R and .ft B host .ft R to .ft B Config\&.target .ft R \&. .ft B prefix .ft R defaults to .ft B "\-l" .ft R and the function does not append .ft B Config\&.ext_dll .ft R \&. .sp e\&.g\&. .ft B shared_runtime ~host:"x86_64\-pc\-linux\-gnu" Native .br \& = "\-lasmrun\-x86_64\-pc\-linux\-gnu\-b100" .ft R for a default OCaml 5\&.5 build on a 64\-bit system with shared library support and compressed marshalling\&. .sp .I val stubslib : .B ?runtime_id:t -> ?host:string -> string -> string .sp .ft B stublibs ?runtime_id ?host dllname .ft R returns the name for the given DLL basename\&. .ft B dllname .ft R should not include .ft B Config\&.ext_dll .ft R (and the result does not include it either)\&. .ft B host .ft R and .ft B runtime_id .ft R default to .ft B Config\&.target .ft R and .ft B Misc\&.RuntimeID\&.make_bytecode .ft R respectively\&. .sp e\&.g\&. .ft B stubslib ~host:"x86_64\-pc\-linux\-gnu" "dllunixbyt" .br \& = "dllunixbyt\-x86_64\-pc\-linux\-gnu\-001b" .ft R for a default OCaml 5\&.5 build on a 64\-bit system with shared library support and compressed marshalling\&. .sp