B0_ocaml.Link
Linking.
val byte :
?post_exec:(B0_zero.Op.t -> unit) ->
?k:(int -> unit) ->
B0_memo.t ->
conf:Conf.t ->
opts:B0_std.Cmd.t ->
c_objs:B0_std.Fpath.t list ->
cobjs:B0_std.Fpath.t list ->
o:B0_std.Fpath.t ->
unit
byte_exe m ~opts ~c_objs ~cmos ~o
links the C objects c_objs
and the OCaml compilation object files cobjs
into a byte code executable o
compiled in -custom
mode.
val native :
?post_exec:(B0_zero.Op.t -> unit) ->
?k:(int -> unit) ->
B0_memo.t ->
conf:Conf.t ->
opts:B0_std.Cmd.t ->
c_objs:B0_std.Fpath.t list ->
cobjs:B0_std.Fpath.t list ->
o:B0_std.Fpath.t ->
unit
byte_exe m ~opts ~c_objs ~cobjs ~o
links the C objects c_objs
and the OCaml compilation object files cobjs
into a native code executable o
, in cobjs
you need to add the C lib_ext
file of `cmxa` files if they exist (since 4.12 they may not exist). An include is added to each element of cobjs
in order to lookup potential C stubs.
val code :
?post_exec:(B0_zero.Op.t -> unit) ->
?k:(int -> unit) ->
B0_memo.t ->
conf:Conf.t ->
opts:B0_std.Cmd.t ->
code:Code.t ->
c_objs:B0_std.Fpath.t list ->
cobjs:B0_std.Fpath.t list ->
o:B0_std.Fpath.t ->
unit