mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-05-05 08:54:27 -04:00
more robust detection of lwt's version
This commit is contained in:
parent
9c6245e88d
commit
31cc90abb4
2 changed files with 31 additions and 12 deletions
|
|
@ -9,6 +9,7 @@
|
||||||
Opentelemetry_client
|
Opentelemetry_client
|
||||||
-open
|
-open
|
||||||
Opentelemetry_atomic)
|
Opentelemetry_atomic)
|
||||||
|
(modules :standard \ gen_types_)
|
||||||
(optional) ; lwt
|
(optional) ; lwt
|
||||||
(libraries
|
(libraries
|
||||||
opentelemetry.util
|
opentelemetry.util
|
||||||
|
|
@ -26,18 +27,13 @@
|
||||||
lwt.unix)
|
lwt.unix)
|
||||||
(synopsis "Lwt-specific helpers for opentelemetry-client"))
|
(synopsis "Lwt-specific helpers for opentelemetry-client"))
|
||||||
|
|
||||||
(rule
|
(executable
|
||||||
(enabled_if
|
(name gen_types_)
|
||||||
(and
|
(modules gen_types_))
|
||||||
%{lib-available:lwt}
|
|
||||||
(>= %{version:lwt} 6.0)))
|
|
||||||
(action
|
|
||||||
(copy types_.ml.6 types_.ml)))
|
|
||||||
|
|
||||||
(rule
|
(rule
|
||||||
(enabled_if
|
(enabled_if %{lib-available:lwt})
|
||||||
(and
|
(deps types_.ml.5 types_.ml.6)
|
||||||
%{lib-available:lwt}
|
(target types_.ml)
|
||||||
(< %{version:lwt} 6.0)))
|
|
||||||
(action
|
(action
|
||||||
(copy types_.ml.5 types_.ml)))
|
(run ./gen_types_.exe %{version:lwt})))
|
||||||
|
|
|
||||||
23
src/client/lwt/gen_types_.ml
Normal file
23
src/client/lwt/gen_types_.ml
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
let copy_file src dst =
|
||||||
|
let ic = open_in src in
|
||||||
|
let oc = open_out dst in
|
||||||
|
let buf = Bytes.create 1024 in
|
||||||
|
(try
|
||||||
|
while true do
|
||||||
|
let n = input ic buf 0 (Bytes.length buf) in
|
||||||
|
if n = 0 then raise End_of_file;
|
||||||
|
output oc buf 0 n
|
||||||
|
done
|
||||||
|
with End_of_file -> ());
|
||||||
|
close_in ic;
|
||||||
|
close_out oc
|
||||||
|
|
||||||
|
let () =
|
||||||
|
let version = Sys.argv.(1) in
|
||||||
|
let major =
|
||||||
|
try Scanf.sscanf version "%d.%s" (fun maj _ -> maj) with _ -> 0
|
||||||
|
in
|
||||||
|
if major >= 6 then
|
||||||
|
copy_file "types_.ml.6" "types_.ml"
|
||||||
|
else
|
||||||
|
copy_file "types_.ml.5" "types_.ml"
|
||||||
Loading…
Add table
Reference in a new issue