Flag bap_std
  Description: Build BAP Standard Library
  Default: false

Library bap
  Path:            lib/bap
  Build$:          flag(everything) || flag(bap_std)
  FindLibName:     bap
  CompiledObject:  best
  BuildDepends:    bap.disasm,
                   bap.image,
                   bap.sema,
                   bap.types,
                   bap-bundle,
                   bap-main,
                   bap-future,
                   cmdliner,
                   bap-knowledge,
                   bap-core-theory,
                   bap-relation,
                   graphlib,
                   regular,
                   core_kernel,
                   ppx_bap,
                   monads,
                   bitvec,
                   bitvec-binprot,
                   bitvec-order,
                   bitvec-sexp,
                   ogre,
                   fileutils,
                   core_kernel.caml_unix
  Modules:         Bap
  InternalModules: Bap_project, Bap_self

Library top
  XMETADescription: Toplevel printers for bap-types and core_kernel
  Build$:          flag(everything) || flag(bap_std)
  Path: lib/bap
  FindLibParent: bap
  FindLibName: top
  InternalModules: Bap_init_toplevel
  BuildDepends: compiler-libs,
                compiler-libs.common,
                bap,
                bap-main,
                bap-plugins
Library types
  Path:            lib/bap_types
  Build$:          flag(everything) || flag(bap_std)
  FindlibParent:   bap
  FindlibName:     types
  CompiledObject:  best
  BuildDepends:    monads,
                   zarith,
                   bitvec,
                   bitvec-order,
                   bitvec-sexp,
                   bitvec-binprot,
                   uuidm,
                   regular,
                   graphlib,
                   ogre,
                   bap-knowledge,
                   bap-core-theory,
                   bap-main,
                   core_kernel,
                   ppx_bap
  InternalModules:
                   Bap_addr,
                   Bap_arch,
                   Bap_attributes,
                   Bap_bil,
                   Bap_bili,
                   Bap_bili_types,
                   Bap_bil_adt,
                   Bap_bil_pass,
                   Bap_bil_optimizations,
                   Bap_biri,
                   Bap_biri_types,
                   Bap_bitvector,
                   Bap_common_types,
                   Bap_context,
                   Bap_core_theory_bil_parser,
                   Bap_eval,
                   Bap_eval_types,
                   Bap_exp,
                   Bap_expi,
                   Bap_expi_types,
                   Bap_interval_tree,
                   Bap_ir,
                   Bap_ir_graph,
                   Bap_ir_callgraph,
                   Bap_tid_graph,
                   Bap_helpers,
                   Bap_int_conversions,
                   Bap_integer,
                   Bap_integer_intf,
                   Bap_monad,
                   Bap_monad_types,
                   Bap_ogre,
                   Bap_result,
                   Bap_size,
                   Bap_stmt,
                   Bap_toplevel,
                   Bap_trie,
                   Bap_trie_intf,
                   Bap_type,
                   Bap_types,
                   Bap_type_error,
                   Bap_value,
                   Bap_var,
                   Bap_vector,
                   Bap_visitor


Library bap_image
  Path:          lib/bap_image/
  Build$:        flag(everything) || flag(bap_std)
  FindlibParent: bap
  FindlibName:   image
  BuildDepends:  bap.types, ogre, mmap, monads, core_kernel, regular, bitvec,
                 bap-core-theory, bap-knowledge, ppx_bap, core_kernel.caml_unix

  InternalModules:
                 Bap_fileutils,
                 Bap_image,
                 Bap_image_std,
                 Bap_memmap,
                 Bap_memory,
                 Bap_table,
                 Image_backend,
                 Image_common,
                 Image_internal_std

Library disasm
  Path:          lib/bap_disasm
  Build$:          flag(everything) || flag(bap_std)
  FindlibParent: bap
  FindlibName:   disasm
  BuildDepends:  bap.image,
                 bap.types,
                 bap-future,
                 camlzip,
                 ocamlgraph,
                 graphlib,
                 monads,
                 ogre,
                 core_kernel,
                 regular,
                 bap-core-theory,
                 bap-knowledge,
                 zarith,
                 bitvec,
                 bitvec-order,
                 bap-relation,
                 bap-main,
                 ppx_bap
  InternalModules:
                 Bap_disasm,
                 Bap_disasm_backend_types,
                 Bap_disasm_basic,
                 Bap_disasm_block,
                 Bap_disasm_brancher,
                 Bap_disasm_calls,
                 Bap_disasm_driver,
                 Bap_disasm_insn,
                 Bap_disasm_linear_sweep,
                 Bap_disasm_prim,
                 Bap_disasm_rec,
                 Bap_disasm_reconstructor,
                 Bap_disasm_rooter,
                 Bap_disasm_source,
                 Bap_disasm_source_factory,
                 Bap_disasm_source_intf,
                 Bap_disasm_std,
                 Bap_disasm_symbolizer,
                 Bap_disasm_symtab,
                 Bap_disasm_target_factory,
                 Bap_disasm_target_intf,
                 Bap_disasm_types,
                 Bap_insn_kind
  CCOpt:         $cc_optimization
  CCLib:         $cxxlibs
  CSources:      disasm.h, disasm.c, disasm_stubs.c

Library sema
  Build$:        flag(everything) || flag(bap_std)
  Path:          lib/bap_sema
  FindlibParent: bap
  FindlibName:   sema
  BuildDepends:  bap.disasm,
                 bap.types,
                 bap.image,
                 monads,
                 core_kernel,
                 ppx_bap,
                 graphlib,
                 regular,
                 bap-knowledge,
                 bap-core-theory
  InternalModules:
                 Bap_sema,
                 Bap_sema_lift,
                 Bap_sema_ssa,
                 Bap_sema_flatten,
                 Bap_sema_taint,
                 Bap_sema_free_vars
