package dune-private-libs

  1. Overview
  2. Docs
Private libraries of Dune

Install

dune-project
 Dependency

Authors

Maintainers

Sources

dune-3.24.1.tbz
sha256=0a8eaa62dfcb945802bcaf9a6f2026ca5228333ee391a1bdedd3e70a3f26ea2c
sha512=b9faebfa70cf87e5eb582a0cdd1cb2aa99b8195342afdd7f462365444a0a904819cacc8522a5a85800ed2281f84e82d49360010de7ff16e28047a74df9258e5e

doc/src/dune-private-libs.dune-section/dune_section.ml.html

Source file dune_section.ml

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
36
37
38
39
40
41
42
type t =
  | Lib
  | Lib_root
  | Libexec
  | Libexec_root
  | Bin
  | Sbin
  | Toplevel
  | Share
  | Share_root
  | Etc
  | Doc
  | Stublibs
  | Man
  | Misc

let all =
  [ Lib, "lib"
  ; Lib_root, "lib_root"
  ; Libexec, "libexec"
  ; Libexec_root, "libexec_root"
  ; Bin, "bin"
  ; Sbin, "sbin"
  ; Toplevel, "toplevel"
  ; Share, "share"
  ; Share_root, "share_root"
  ; Etc, "etc"
  ; Doc, "doc"
  ; Stublibs, "stublibs"
  ; Man, "man"
  ; Misc, "misc"
  ]
;;

let to_string t = List.assoc t all

let rec of_string x = function
  | [] -> None
  | (s, x') :: xs -> if x' = x then Some s else of_string x xs
;;

let of_string x = of_string x all