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