(rule
 (deps ppx_deriving_yojson.cppo.ml)
 (targets ppx_deriving_yojson.ml)
 (action (run %{bin:cppo} -V OCAML:%{ocaml_version} %{deps} -o %{targets})))

(library
 (name ppx_deriving_yojson_runtime)
 (public_name ppx_deriving_yojson.runtime)
 (synopsis "Runtime components of [@@deriving yojson]")
 (modules ppx_deriving_yojson_runtime)
 (libraries ppx_deriving.runtime result))

(library
 (name ppx_deriving_yojson)
 (public_name ppx_deriving_yojson)
 (synopsis "[@@deriving yojson]")
 (libraries ppx_deriving.api)
 (preprocess
  (action (run ppxfind -legacy ppx_tools.metaquot --as-pp %{input-file})))
 (ppx_runtime_libraries ppx_deriving_yojson_runtime yojson)
 (modules ppx_deriving_yojson)
 (kind ppx_deriver)
 (flags (:standard -w -9)))
