(library
 (name ppxlib)
 (public_name ppxlib)
 (libraries
  (re_export ppxlib_ast)
  ocaml-compiler-libs.shadow
  astlib
  ppxlib_print_diff
  ppx_derivers
  ppxlib_traverse_builtins
  stdppx
  stdlib-shims
  sexplib0)
 (flags
  (:standard -safe-string))
 (ppx.driver
  (main Ppxlib.Driver.standalone)
  (flags
   (-corrected-suffix %{corrected-suffix} -diff-cmd - -dump-ast))
  (lint_flags
   (-corrected-suffix %{corrected-suffix} -diff-cmd - -null))))

(cinaps
 (files *.ml *.mli)
 (libraries ppxlib_cinaps_helpers))

(rule
 (targets ast_pattern_generated.ml)
 (deps gen/gen_ast_pattern.exe)
 (action
  (run ./gen/gen_ast_pattern.exe %{lib:ppxlib.ast:ast.ml})))

(rule
 (targets ast_builder_generated.ml)
 (deps gen/gen_ast_builder.exe)
 (action
  (run ./gen/gen_ast_builder.exe %{lib:ppxlib.ast:ast.ml})))

(ocamllex skip_hash_bang)
