Flag x86
 Description: Build x86 support
 Default: false

Library "bap-x86-cpu"
 Build$:           flag(everything) || flag(x86)
 XMETADescription: provide x86 lifter
 Path:             lib/x86_cpu
 FindlibName:      bap-x86-cpu
 BuildDepends:     bap, core_kernel, ppx_bap, bap-c, bap-demangle,
                   bap-core-theory, ogre, bap-knowledge
 Modules:          X86_cpu,
                   X86_env,
                   X86_asm,
                   X86_asm_reg,
                   X86_asm_reg_types,
                   X86_llvm_env,
                   X86_target,
                   X86_types

Library x86_plugin
 Build$:           flag(everything) || flag(x86)
 XMETADescription: provide x86 lifter
 Path:             plugins/x86
 FindlibName:      bap-plugin-x86
 BuildDepends:     bap, bap-abi, bap-c, bap-x86-cpu, bap-llvm, core_kernel,
                   ppx_bap, bap-main, bap-future, bap-api, ogre, bap-primus,
                   zarith, bap-core-theory, bap-knowledge, bitvec, str
 Modules:          X86_backend, X86_prefix
 InternalModules:  X86_btx,
                   X86_cdq,
                   X86_cmpxchg,
                   X86_disasm,
                   X86_endbr,
                   X86_lifter,
                   X86_main,
                   X86_mov,
                   X86_mov_offset,
                   X86_opcode_btx,
                   X86_opcode_cdq,
                   X86_opcode_cmps,
                   X86_opcode_cmpxchg,
                   X86_opcode_ins,
                   X86_opcode_lods,
                   X86_opcode_mov,
                   X86_opcode_movs,
                   X86_opcode_outs,
                   X86_opcode_scas,
                   X86_opcode_stos,
                   X86_operands,
                   X86_targets,
                   X86_tools,
                   X86_tools_flags,
                   X86_tools_imm,
                   X86_tools_mem,
                   X86_tools_prefix,
                   X86_tools_reg,
                   X86_tools_types,
                   X86_tools_vector,
                   X86_utils,
                   X86_legacy_bil,
                   X86_legacy_bil_ast,
                   X86_legacy_bil_type,
                   X86_legacy_bil_var,
                   X86_legacy_bil_lifter,
                   X86_legacy_bil_semantics,
                   X86_legacy_bil_pp,
                   X86_legacy_bil_arithmetic,
                   X86_legacy_bil_big_int_convenience,
                   X86_legacy_bil_convenience,
                   X86_legacy_bil_disasm_i386,
                   X86_legacy_bil_typecheck,
                   X86_legacy_bil_var_temp,
                   X86_legacy_fp_lifter,
                   X86_legacy_bil_register,
                   X86_legacy_operands
 DataFiles:        semantics/*.lisp ($datadir/bap/primus/semantics),
                   patterns/*.xml ($datadir/bap/signatures/x86)
 XMETAExtraLines:  tags="disassembler, lifter, x86, abi"

Library x86_test
  Path:           lib_test/x86
  Build$:         flag(tests) && (flag(everything) || flag(x86))
  CompiledObject: best
  BuildDepends:   bap, oUnit, bap-x86-cpu, core_kernel
  Install:        false
  Modules:        Test_pshufb, Test_pcmp

Executable run_x86_tests
  Path:		  lib_test/x86
  Build$:	  flag(tests) && (flag(everything) || flag(x86))
  CompiledObject: best
  BuildDepends:	  bap-plugins, findlib.dynload, oUnit, x86_test, bap-main, bap-future
  Install:	  false
  MainIs: run_x86_tests.ml

Test x86_tests
 TestTools: run_x86_tests
 Run$: flag(tests) && (flag(everything) || flag(x86))
 Command: $run_x86_tests
