diff options
| author | Gaëtan Gilbert | 2020-08-18 15:39:57 +0200 |
|---|---|---|
| committer | Gaëtan Gilbert | 2020-08-18 15:43:16 +0200 |
| commit | cd7b346ec5485138d93bc6a0308b9b8176d6e71f (patch) | |
| tree | 65efd6a6927ace65318ae706b1242bf03a9933e1 /config/dune | |
| parent | aa926429727f1f6b5ef07c8912f2618d53f6d155 (diff) | |
Avoid running configure when plugins/ modified
We use an indirection, producing the sorted list of subdirectories of
plugins/, so that dune can recognize it hasn't changed and doesn't
rerun configure. Since configure regenerates a timestamp this avoids
recompiling the stdlib.
Fix #12750.
Diffstat (limited to 'config/dune')
| -rw-r--r-- | config/dune | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/config/dune b/config/dune index bf1aa4f471..a30fdce9aa 100644 --- a/config/dune +++ b/config/dune @@ -2,8 +2,14 @@ (name config) (synopsis "Coq Configuration Variables") (public_name coq.config) + (modules :standard \ list_plugins) (wrapped false)) +(executable (name list_plugins) (modules list_plugins)) +(rule (targets plugin_list) + (deps (source_tree %{project_root}/plugins)) + (action (with-stdout-to %{targets} (chdir %{project_root} (run config/list_plugins.exe))))) + ; Dune doesn't use configure's output, but it is still necessary for ; some Coq files to work; will be fixed in the future. (rule @@ -13,7 +19,7 @@ %{project_root}/configure.ml %{project_root}/dev/ocamldebug-coq.run %{project_root}/dev/header.c - ; Needed to generate include lists for coq_makefile - (source_tree %{project_root}/plugins) + ; Needed to generate include lists for coq_makefile + plugin_list (env_var COQ_CONFIGURE_PREFIX)) (action (chdir %{project_root} (run %{ocaml} configure.ml -no-ask -native-compiler no)))) |
