File: dune

package info (click to toggle)
coq 9.1.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 35,964 kB
  • sloc: ml: 239,908; sh: 4,355; python: 2,985; ansic: 2,644; makefile: 874; lisp: 171; javascript: 63; xml: 24; sed: 2
file content (93 lines) | stat: -rw-r--r-- 2,508 bytes parent folder | download
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
; Default flags for all Rocq libraries.
(env
 (dev     (flags :standard -w -9-27@60-69@70 \ -short-paths)
          (coq (flags :standard -w +default)))
 (release (flags :standard)
          (ocamlopt_flags :standard -O3 -unbox-closures))
 (ireport (flags :standard -w -9-27+60-70)
          (ocamlopt_flags :standard -O3 -unbox-closures -inlining-report)))

; Information about flags for release mode:
;
; In #9665 we tried to add (c_flags -O3) to the release setup,
; unfortunately the resulting VM seems to be slower [5% slower on
; fourcolor, thus we keep the default C flags for now, which seem to
; be -O2.

; The _ profile could help factoring the above, however it doesn't
; seem to work like we'd expect/like:
;
; (_ (flags :standard)))

(alias
 (name default)
 (deps rocq-runtime.install coq-core.install rocq-core.install coqide-server.install))

(alias
 (name runtime)
 (deps rocq-runtime.install coq-core.install))

(install
 (section lib)
 (package rocq-runtime)
 (files revision))

(rule
 (targets revision)
 (mode fallback)
 (deps (:rev-script dev/tools/make_git_revision.sh))
 (action (with-stdout-to revision (bash %{rev-script}))))

; bootstrap for theories/Corelib/dune
(rule
 (targets corelib_dune)
 (deps
  (source_tree plugins)
  (source_tree theories)
  %{workspace_root}/_build/install/%{context_name}/lib/rocq-runtime/META)
 (action
  (with-stdout-to %{targets}
   (run tools/dune_rule_gen/gen_rules.exe Corelib theories/Corelib %{env:COQ_DUNE_EXTRA_OPT=}))))

(rule
 (targets ltac2_dune)
 (deps
  (source_tree plugins)
  (source_tree theories)
  %{workspace_root}/_build/install/%{context_name}/lib/rocq-runtime/META)
 (action
  (with-stdout-to %{targets}
   (run tools/dune_rule_gen/gen_rules.exe Ltac2 theories/Ltac2 -noinit %{env:COQ_DUNE_EXTRA_OPT=}))))

(rule
 (targets corelib_dune_split)
 (deps
  (source_tree plugins)
  (source_tree theories))
 (action
  (with-stdout-to %{targets}
   (run tools/dune_rule_gen/gen_rules.exe Corelib theories/Corelib -split %{env:COQ_DUNE_EXTRA_OPT=}))))

(rule
 (targets ltac2_dune_split)
 (deps
  (source_tree plugins)
  (source_tree theories))
 (action
  (with-stdout-to %{targets}
   (run tools/dune_rule_gen/gen_rules.exe Ltac2 theories/Ltac2 -noinit -split %{env:COQ_DUNE_EXTRA_OPT=}))))

; Use summary.log as the target
(alias
 (name runtest)
 (package rocq-test-suite)
 (deps test-suite/summary.log))

; For make compat
(alias
 (name all-src)
 (deps
  (source_tree theories)
  (source_tree plugins)))

; (dirs (:standard _build_ci))