Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,11 @@ env:
- PINS="conduit:. mirage-conduit:. conduit-async:. conduit-lwt:. conduit-lwt-unix:."
- TESTS=true
matrix:
- OCAML_VERSION=4.06.0 PACKAGE=conduit-lwt-unix DISTRO=debian-stable DEPOPTS="ssl tls"
- OCAML_VERSION=4.05.0 PACKAGE=conduit-async DISTRO=centos-7 DEPOPTS=async_ssl
- OCAML_VERSION=4.04.2 PACKAGE=conduit-lwt-unix DISTRO=alpine-3.6 DEPOPTS="ssl tls"
- OCAML_VERSION=4.04.1 PACKAGE=conduit-lwt-unix DISTRO=debian-stable DEPOPTS="ssl tls"
- OCAML_VERSION=4.04.1 PACKAGE=conduit-async DISTRO=debian-unstable DEPOPTS=async_ssl
- OCAML_VERSION=4.04.1 PACKAGE=conduit-async DISTRO=ubuntu-17.04 DEPOPTS=async_ssl
- OCAML_VERSION=4.03.0 PACKAGE=conduit-lwt-unix DISTRO=debian-testing DEPOPTS="ssl tls"
- OCAML_VERSION=4.03.0 PACKAGE=conduit-lwt-unix DISTRO=ubuntu-16.04 DEPOPTS="ssl tls"
- OCAML_VERSION=4.03.0 PACKAGE=conduit-lwt-unix DISTRO=centos-6 DEPOPTS="ssl tls"
- OCAML_VERSION=4.03.0 PACKAGE=conduit-lwt-unix DISTRO=fedora-26 DEPOPTS="ssl tls"
- OCAML_VERSION=4.07 PACKAGE=conduit-lwt-unix DISTRO=debian-stable DEPOPTS="ssl tls"
- OCAML_VERSION=4.06 PACKAGE=conduit-lwt-unix DISTRO=debian-unstable DEPOPTS="ssl tls"
- OCAML_VERSION=4.05 PACKAGE=conduit-async DISTRO=debian-unstable DEPOPTS=async_ssl
- OCAML_VERSION=4.04 PACKAGE=conduit-lwt-unix DISTRO=debian-testing DEPOPTS="ssl tls"
- OCAML_VERSION=4.06 PACKAGE=conduit-async DISTRO=centos DEPOPTS=async_ssl
- OCAML_VERSION=4.06 PACKAGE=conduit-lwt-unix DISTRO=alpine DEPOPTS="ssl tls"
- OCAML_VERSION=4.06 PACKAGE=conduit-async DISTRO=ubuntu DEPOPTS=async_ssl
- OCAML_VERSION=4.06 PACKAGE=conduit-lwt-unix DISTRO=fedora DEPOPTS="ssl tls"
60 changes: 41 additions & 19 deletions lwt-unix/jbuild
Original file line number Diff line number Diff line change
@@ -1,24 +1,46 @@
(jbuild_version 1)
(* -*- tuareg -*- *)

let v ~launchd ~ssl ~tls () =
let launchd, launchd_d =
if launchd then "conduit_lwt_launchd_real", "launchd.lwt "
else "conduit_lwt_launchd_dummy", ""
in
let ssl, ssl_d =
if ssl then "conduit_lwt_unix_ssl_real", "lwt_ssl "
else "conduit_lwt_unix_ssl_dummy", ""
in
let tls, tls_d =
if tls then "conduit_lwt_tls_real", "tls.lwt "
else "conduit_lwt_tls_dummy", ""
in
Printf.sprintf {|
(rule (copy %s.ml conduit_lwt_launchd.ml))
(rule (copy %s.ml conduit_lwt_unix_ssl.ml))
(rule (copy %s.ml conduit_lwt_tls.ml))
(rule (copy %s.mli conduit_lwt_unix_ssl.mli))
(rule (copy %s.mli conduit_lwt_tls.mli))

(library
((name conduit_lwt_unix)
(public_name conduit-lwt-unix)
(preprocess (pps (ppx_sexp_conv)))
(wrapped false)
(modules (resolver_lwt_unix conduit_lwt_unix conduit_lwt_server conduit_lwt_tls conduit_lwt_unix_ssl conduit_lwt_launchd))
(libraries (conduit-lwt lwt.unix uri.services ipaddr.unix logs
(select conduit_lwt_launchd.ml from
(launchd.lwt -> conduit_lwt_launchd_real.ml)
(!launchd.lwt -> conduit_lwt_launchd_dummy.ml))
(select conduit_lwt_unix_ssl.ml from
(lwt_ssl -> conduit_lwt_unix_ssl_real.ml)
(!lwt_ssl -> conduit_lwt_unix_ssl_dummy.ml))
(select conduit_lwt_unix_ssl.mli from
(lwt_ssl -> conduit_lwt_unix_ssl_real.mli)
(!lwt_ssl -> conduit_lwt_unix_ssl_dummy.mli))
(select conduit_lwt_tls.ml from
(tls.lwt -> conduit_lwt_tls_real.ml)
(!tls.lwt -> conduit_lwt_tls_dummy.ml))
(select conduit_lwt_tls.mli from
(tls.lwt -> conduit_lwt_tls_real.mli)
(!tls.lwt -> conduit_lwt_tls_dummy.mli))
))))
(modules (resolver_lwt_unix conduit_lwt_unix conduit_lwt_server
conduit_lwt_tls conduit_lwt_unix_ssl conduit_lwt_launchd))
(libraries (conduit-lwt lwt.unix uri.services ipaddr.unix logs %s%s%s))))
|} launchd ssl tls ssl tls launchd_d ssl_d tls_d

let main () =
let is_installed s = Printf.kprintf Sys.command "ocamlfind query %s" s = 0 in
let launchd = is_installed "launchd.lwt" in
let ssl = is_installed "lwt_ssl" in
let tls = Sys.unix && is_installed "tls.lwt" in
Printf.printf
"Configuration\n\
\ launchd: %b\n\
\ ssl : %b\n\
\ tls : %b\n%!"
launchd ssl tls;
v ~launchd ~ssl ~tls ()

let () = Jbuild_plugin.V1.send @@ main ()