(library
 (name        ppxlib_ast)
 (public_name ppxlib.ast)
 (libraries
  ocaml-compiler-libs.shadow
  ocaml-compiler-libs.common
  compiler-libs.common
  ocaml-migrate-parsetree)
 (flags (:standard -open Ocaml_shadow -safe-string) -w -9-27-32)
 (modules
  ast
  import
  lexer_helper
  location_helper
  misc_helper
  pprintast
  ppxlib_ast
  warn)
 (lint (pps ppxlib_traverse -deriving-keep-w32=impl)))

;; This is to make the code compatible with different versions of
;; OCaml
(rule
 (targets location_helper.ml clflags_helper.ml misc_helper.ml)
 (deps    gen-compiler_specifics)
 (action  (run %{ocaml} %{deps} %{ocaml_version} %{targets})))
