package ocaml-compiler
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=c018052c8264a3791a8f54f84179e6bcc78ed82eb889bacc2773df445259aed3
doc/compiler-libs.common/Misc/RuntimeID/index.html
Module Misc.RuntimeID
Manipulation of the Runtime ID values used to mangle the filenames of shared libraries and the bytecode interpreters.
type t = private {dev : bool;(*
*)trueif this not an unaltered official release of OCamlrelease : 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;(*trueif float arrays must be boxed (i.e. configured with--disable-flat-float-array
)
*)fp : bool;(*trueif frame pointers are required (i.e. configured with--enable-frame-pointers
*)tsan : bool;(*trueif ThreadSanitizer (TSAN) is required (i.e. configured with--enable-tsan
)
*)int31 : bool;(*
*)trueif the platform has 31-bitints (i.e. 32-bit systems)static : bool;(*
*)trueif dynamic loading of libraries is not supportedno_compression : bool;(*
*)trueif compressed marshalling is not supportedansi : bool;(*
*)trueif 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 ->
tval make_bytecode :
?dev:bool ->
?release:int ->
?reserved:int ->
?no_flat_float_array:bool ->
?int31:bool ->
?static:bool ->
?no_compression:bool ->
?ansi:bool ->
unit ->
tval 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 ->
tval is_zinc : t -> boolis_zinc t is true if t can be used as a Zinc Runtime ID
val is_bytecode : t -> boolis_bytecode t is true if t can be used as a Bytecode Runtime ID
val is_native : t -> boolis_native t is true if t can be used as a Native Runtime ID
val ocamlrun : string -> t -> stringocamlrun variant runtime_id returns the name for the runtime for the given Zinc Runtime ID.
shared_runtime ?runtime_id ?host ?prefix backend returns the name of the shared runtime for the given backend. runtime_id defaults to make_bytecode if backend = Sys.Bytecode and 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 -> stringstublibs ?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 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.