File: dune

package info (click to toggle)
ocaml-curses 1.0.11-4
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 220 kB
  • sloc: ml: 907; ansic: 764; makefile: 3
file content (73 lines) | stat: -rw-r--r-- 1,305 bytes parent folder | download | duplicates (2)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
(library
 (name curses)
 (public_name curses)
 (synopsis "OCaml bindings for ncursesw")
 (modules curses)
 (wrapped false)
 (foreign_stubs
  (language c)
  (names ml_curses)
  (flags
   (:include c_flags.sexp)))
 (libraries unix)
 (c_library_flags
  (:include c_library_flags.sexp)))

(executable
 (name discover)
 (modules discover)
 (libraries dune.configurator))

(rule
 (copy functions.c _functions.c))

(rule
 (copy keys.ml _keys.ml))

(rule
 (copy config.ml _config.ml))

(rule
 (target ml_curses.h)
 (deps config.h)
 (action
  (with-stdout-to
   %{target}
   (echo ""))))

(rule
 (copy _config.h config.h))

(rule
 (target curses.ml)
 (deps _curses.ml _config.ml _functions.c _keys.ml config.h)
 (action
  (chdir
   %{project_root}
   (with-stdout-to
    %{target}
    (system "%{cc} -x c -E _curses.ml")))))

(rule
 (targets c_flags.sexp c_library_flags.sexp config.ml _config.h)
 (deps
  (:discover discover.exe))
 (action
  (run %{discover})))

; 2021-10-13 mbac: test.ml isn't a real unit test, and it doesn't seem to
;  run from the testing environment properly (because curses?)
;  [dune exec ./test.exe] is fine though
;(test
; (name test)
; (modules test)
; (libraries curses)
; (action
;  (run %{exe:test.exe})))

; disable docstring warnings

(env
 (dev
  (flags
   (:standard -w -50))))