(lang dune 2.9)
(name elpi)
(library
 (name elpi)
 (kind normal)
 (archives (byte elpi.cma) (native elpi.cmxa))
 (plugins (byte elpi.cma) (native elpi.cmxs))
 (native_archives elpi.a)
 (requires
  re.str
  unix
  stdlib-shims
  elpi.parser
  elpi.util
  ppx_deriving.runtime
  elpi.trace.runtime)
 (main_module_name Elpi)
 (modes byte native)
 (obj_dir (private_dir .private))
 (modules
  (wrapped
   (main_module_name Elpi)
   (modules
    ((name API) (obj_name elpi__API) (visibility public) (impl) (intf))
    ((name Builtin)
     (obj_name elpi__Builtin)
     (visibility public)
     (impl)
     (intf))
    ((name Builtin_checker)
     (obj_name elpi__Builtin_checker)
     (visibility public)
     (impl))
    ((name Builtin_map)
     (obj_name elpi__Builtin_map)
     (visibility private)
     (impl))
    ((name Builtin_set)
     (obj_name elpi__Builtin_set)
     (visibility private)
     (impl))
    ((name Builtin_stdlib)
     (obj_name elpi__Builtin_stdlib)
     (visibility private)
     (impl))
    ((name Compiler)
     (obj_name elpi__Compiler)
     (visibility private)
     (impl)
     (intf))
    ((name Data) (obj_name elpi__Data) (visibility private) (impl))
    ((name Elpi) (obj_name elpi) (visibility public) (impl))
    ((name Legacy_parser_proxy)
     (obj_name elpi__Legacy_parser_proxy)
     (visibility private)
     (impl)
     (intf))
    ((name Ptmap) (obj_name elpi__Ptmap) (visibility private) (impl) (intf))
    ((name Runtime)
     (obj_name elpi__Runtime)
     (visibility private)
     (impl)
     (intf))
    ((name Runtime_trace_off)
     (obj_name elpi__Runtime_trace_off)
     (visibility private)
     (impl)
     (intf)))
   (alias_module
    (name Elpi__)
    (obj_name elpi__)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))
(library
 (name elpi.lexer_config)
 (kind normal)
 (archives
  (byte lexer_config/elpi_lexer_config.cma)
  (native lexer_config/elpi_lexer_config.cmxa))
 (plugins
  (byte lexer_config/elpi_lexer_config.cma)
  (native lexer_config/elpi_lexer_config.cmxs))
 (native_archives lexer_config/elpi_lexer_config.a)
 (requires elpi.util)
 (main_module_name Elpi_lexer_config)
 (modes byte native)
 (modules
  (wrapped
   (main_module_name Elpi_lexer_config)
   (modules
    ((name Lexer_config)
     (obj_name elpi_lexer_config__Lexer_config)
     (visibility public)
     (impl))
    ((name Tokens)
     (obj_name elpi_lexer_config__Tokens)
     (visibility public)
     (impl)
     (intf)))
   (alias_module
    (name Elpi_lexer_config)
    (obj_name elpi_lexer_config)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))
(library
 (name elpi.parser)
 (kind normal)
 (archives (byte parser/elpi_parser.cma) (native parser/elpi_parser.cmxa))
 (plugins (byte parser/elpi_parser.cma) (native parser/elpi_parser.cmxs))
 (native_archives parser/elpi_parser.a)
 (requires
  unix
  menhirLib
  elpi.lexer_config
  elpi.util
  stdlib-shims
  ppx_deriving.runtime)
 (main_module_name Elpi_parser)
 (modes byte native)
 (modules
  (wrapped
   (main_module_name Elpi_parser)
   (modules
    ((name Ast) (obj_name elpi_parser__Ast) (visibility public) (impl) (intf))
    ((name Error_messages)
     (obj_name elpi_parser__Error_messages)
     (visibility public)
     (impl))
    ((name Grammar)
     (obj_name elpi_parser__Grammar)
     (visibility public)
     (impl)
     (intf))
    ((name Lexer) (obj_name elpi_parser__Lexer) (visibility public) (impl))
    ((name Parse)
     (obj_name elpi_parser__Parse)
     (visibility public)
     (impl)
     (intf))
    ((name Parser_config)
     (obj_name elpi_parser__Parser_config)
     (visibility public)
     (impl)))
   (alias_module
    (name Elpi_parser)
    (obj_name elpi_parser)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))
(library
 (name elpi.trace.ppx)
 (kind ppx_rewriter)
 (archives (byte trace/ppx/trace_ppx.cma) (native trace/ppx/trace_ppx.cmxa))
 (plugins (byte trace/ppx/trace_ppx.cma) (native trace/ppx/trace_ppx.cmxs))
 (native_archives trace/ppx/trace_ppx.a)
 (requires ppxlib.ast ppxlib)
 (ppx_runtime_deps elpi.trace.runtime)
 (main_module_name Trace_ppx)
 (modes byte native)
 (modules
  (singleton (name Trace_ppx) (obj_name trace_ppx) (visibility public) (impl))))
(library
 (name elpi.trace.runtime)
 (kind normal)
 (archives
  (byte trace/runtime/trace_ppx_runtime.cma)
  (native trace/runtime/trace_ppx_runtime.cmxa))
 (plugins
  (byte trace/runtime/trace_ppx_runtime.cma)
  (native trace/runtime/trace_ppx_runtime.cmxs))
 (native_archives trace/runtime/trace_ppx_runtime.a)
 (requires re)
 (main_module_name Trace_ppx_runtime)
 (modes byte native)
 (modules
  (wrapped
   (main_module_name Trace_ppx_runtime)
   (modules
    ((name Runtime)
     (obj_name trace_ppx_runtime__Runtime)
     (visibility public)
     (impl)
     (intf)))
   (alias_module
    (name Trace_ppx_runtime)
    (obj_name trace_ppx_runtime)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))
(library
 (name elpi.util)
 (kind normal)
 (archives (byte util/elpi_util.cma) (native util/elpi_util.cmxa))
 (plugins (byte util/elpi_util.cma) (native util/elpi_util.cmxs))
 (native_archives util/elpi_util.a)
 (requires re.str)
 (main_module_name Elpi_util)
 (modes byte native)
 (modules
  (wrapped
   (main_module_name Elpi_util)
   (modules
    ((name Util) (obj_name elpi_util__Util) (visibility public) (impl) (intf)))
   (alias_module
    (name Elpi_util)
    (obj_name elpi_util)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))
