From e9f77e9da946c963e4ec5d82dfd144305f79ebb5 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 9 Nov 2021 09:07:42 +0000 Subject: [PATCH] ocaml: Replace "noalloc" with [@@noalloc] annotation This requires OCaml >= 4.03 (released April 2016). The previous minimum version was 4.02.2. (cherry picked from commit d15dd73845065cc9ca04aa785e2be994f76bf832) --- README | 2 +- plugins/ocaml/NBDKit.ml | 16 ++++++++-------- plugins/ocaml/nbdkit-ocaml-plugin.pod | 5 +---- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/README b/README index b001620c..160856b6 100644 --- a/README +++ b/README @@ -155,7 +155,7 @@ For the Python plugin: For the OCaml plugin: - - OCaml >= 4.02.2 + - OCaml >= 4.03 For the Tcl plugin: diff --git a/plugins/ocaml/NBDKit.ml b/plugins/ocaml/NBDKit.ml index 75823ba5..4d45cc0c 100644 --- a/plugins/ocaml/NBDKit.ml +++ b/plugins/ocaml/NBDKit.ml @@ -152,11 +152,11 @@ let default_callbacks = { export_description = None; } -external set_name : string -> unit = "ocaml_nbdkit_set_name" "noalloc" -external set_longname : string -> unit = "ocaml_nbdkit_set_longname" "noalloc" -external set_version : string -> unit = "ocaml_nbdkit_set_version" "noalloc" -external set_description : string -> unit = "ocaml_nbdkit_set_description" "noalloc" -external set_config_help : string -> unit = "ocaml_nbdkit_set_config_help" "noalloc" +external set_name : string -> unit = "ocaml_nbdkit_set_name" [@@noalloc] +external set_longname : string -> unit = "ocaml_nbdkit_set_longname" [@@noalloc] +external set_version : string -> unit = "ocaml_nbdkit_set_version" [@@noalloc] +external set_description : string -> unit = "ocaml_nbdkit_set_description" [@@noalloc] +external set_config_help : string -> unit = "ocaml_nbdkit_set_config_help" [@@noalloc] external set_field : string -> 'a -> unit = "ocaml_nbdkit_set_field" @@ -220,7 +220,7 @@ let register_plugin plugin = (* Bindings to nbdkit server functions. *) -external _set_error : int -> unit = "ocaml_nbdkit_set_error" "noalloc" +external _set_error : int -> unit = "ocaml_nbdkit_set_error" [@@noalloc] let set_error unix_error = (* There's an awkward triple translation going on here, because @@ -250,9 +250,9 @@ external read_password : string -> string = "ocaml_nbdkit_read_password" external realpath : string -> string = "ocaml_nbdkit_realpath" external nanosleep : int -> int -> unit = "ocaml_nbdkit_nanosleep" external export_name : unit -> string = "ocaml_nbdkit_export_name" -external shutdown : unit -> unit = "ocaml_nbdkit_shutdown" "noalloc" +external shutdown : unit -> unit = "ocaml_nbdkit_shutdown" [@@noalloc] -external _debug : string -> unit = "ocaml_nbdkit_debug" "noalloc" +external _debug : string -> unit = "ocaml_nbdkit_debug" [@@noalloc] let debug fs = ksprintf _debug fs diff --git a/plugins/ocaml/nbdkit-ocaml-plugin.pod b/plugins/ocaml/nbdkit-ocaml-plugin.pod index 2bd0af25..293f8143 100644 --- a/plugins/ocaml/nbdkit-ocaml-plugin.pod +++ b/plugins/ocaml/nbdkit-ocaml-plugin.pod @@ -11,10 +11,7 @@ nbdkit-ocaml-plugin - writing nbdkit plugins in OCaml =head1 DESCRIPTION This manual page describes how to write nbdkit plugins in natively -compiled OCaml code. - -Note this requires OCaml E 4.02.2, which has support for shared -libraries. See L +compiled OCaml code. This requires OCaml E 4.03. =head1 WRITING AN OCAML NBDKIT PLUGIN -- 2.31.1