-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathmyocamlbuild.ml
More file actions
35 lines (28 loc) · 981 Bytes
/
myocamlbuild.ml
File metadata and controls
35 lines (28 loc) · 981 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
open Printf
open Solvuu_build.Std
open Solvuu_build.Util
let project_name = "future"
let version = "dev"
let lib ?findlib_deps ?internal_deps ?ml_files lib_name : Project.item =
Project.lib (sprintf "%s_%s" project_name lib_name)
~install:(`Findlib (sprintf "%s.%s" project_name lib_name))
~dir:(sprintf "lib/%s" lib_name)
~style:(`Pack (sprintf "%s_%s" project_name lib_name))
?findlib_deps
?internal_deps
?ml_files
let unix = lib "unix" ~findlib_deps:["core"; "cfstream"]
let async = lib "async" ~internal_deps:[unix] ~findlib_deps:["async"]
let lwt = lib "lwt" ~internal_deps:[unix]
~findlib_deps:["lwt"; "lwt.preemptive"; "lwt.ppx"]
let ocamlinit_postfix = [
"open Core.Std";
"open Async.Std";
"open Future_async.Std";
]
let optional_pkgs = ["async"; "lwt"]
let items =
[unix;async;lwt] |>
List.filter ~f:(fun x -> Project.dep_opts_sat x optional_pkgs)
;;
let () = Project.solvuu1 ~project_name ~version ~ocamlinit_postfix items