(library
 (name quickchick_plugin)
 (public_name coq-quickchick.plugin)
 (flags :standard -rectypes -warn-error -3 -w -8-9-27+40)
 (modules :standard \ genSTCorrect genSizedSTMonotonic genSizedSTSizeMonotonic)
 (libraries unix str
  (select void_for_linking-plugin-extraction from
   (coq-core.plugins.extraction -> void_for_linking-plugin-extraction.empty)
   (coq.plugins.extraction -> void_for_linking-plugin-extraction.empty))
  (select void_for_linking-plugin-ltac from
   (coq-core.plugins.ltac -> void_for_linking-plugin-ltac.empty)
   (coq.plugins.ltac -> void_for_linking-plugin-ltac.empty))
  ))

(rule
 (targets driver.ml)
 (deps (:pp-file driver.mlg))
 (action (run coqpp %{pp-file})))

(rule
 (targets quickChick.ml)
 (deps (:pp-file quickChick.mlg))
 (action (run coqpp %{pp-file})))

(rule
 (targets tactic_quickchick.ml)
 (deps (:pp-file tactic_quickchick.mlg))
 (action (run coqpp %{pp-file})))

(rule
 (targets weightmap.ml)
 (deps (:pp-file weightmap.mlg))
 (action (run coqpp %{pp-file})))

(rule (action (write-file void_for_linking-plugin-extraction.empty "")))
(rule (action (write-file void_for_linking-plugin-ltac.empty "")))

(rule
  (alias compat)
  (target depDriver.ml)
  (action (run %{exe:../scripts/mycppo} %{dep:depDriver.ml.cppo} %{target})))
(rule
  (alias compat)
  (target genericLib.ml)
  (action (run %{exe:../scripts/mycppo} %{dep:genericLib.ml.cppo} %{target})))
(rule
  (alias compat)
  (target mergeTypes.ml)
  (action (run %{exe:../scripts/mycppo} %{dep:mergeTypes.ml.cppo} %{target})))
(rule
  (alias compat)
  (target quickChick.mlg)
  (action (run %{exe:../scripts/mycppo} %{dep:quickChick.mlg.cppo} %{target})))
(rule
  (alias compat)
  (target tactic_quickchick.mlg)
  (action (run %{exe:../scripts/mycppo} %{dep:tactic_quickchick.mlg.cppo} %{target})))
(rule
  (alias compat)
  (target unifyQC.ml)
  (action (run %{exe:../scripts/mycppo} %{dep:unifyQC.ml.cppo} %{target})))
(rule
  (alias compat)
  (target weightmap.mlg)
  (action (run %{exe:../scripts/mycppo} %{dep:weightmap.mlg.cppo} %{target})))
