From ad9b82e92a838c616a9306a6ab48b068b10eb15b Mon Sep 17 00:00:00 2001 From: Jeremie Dimino Date: Wed, 24 Jan 2018 18:12:50 +0000 Subject: [PATCH] Compute the transitive closure of ppx runtime deps only when needed We only need it when the kind is ppx_rewriter or ppx_deriver. --- src/gen_meta.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gen_meta.ml b/src/gen_meta.ml index 2b3717b3..19395a27 100644 --- a/src/gen_meta.ml +++ b/src/gen_meta.ml @@ -93,7 +93,7 @@ let gen_lib pub_name (lib : Library.t) ~lib_deps ~ppx_runtime_deps:ppx_rt_deps [ [ Comment "This line makes things transparent for people mixing \ preprocessors" ; Comment "and normal dependencies" - ; requires ~preds:[no_ppx_driver] ppx_runtime_deps_for_deprecated_method + ; requires ~preds:[no_ppx_driver] (Lazy.force ppx_runtime_deps_for_deprecated_method) ] ; match lib.kind with | Normal -> assert false @@ -155,12 +155,12 @@ let gen ~package ~version ~stanzas ~resolve_lib_dep_names Sigh... *) - let ppx_runtime_deps_for_deprecated_method = + let ppx_runtime_deps_for_deprecated_method = lazy ( String_set.union (String_set.of_list ppx_runtime_deps) (ppx_runtime_deps_for_deprecated_method_exn ~dir lib.buildable.libraries) - |> String_set.elements + |> String_set.elements) in (pub_name, gen_lib pub_name lib ~lib_deps ~ppx_runtime_deps ~version