Flag powerpc
 Description: Build PowerPC lifter
 Default: false

Library "bap-powerpc"
 Build$:           flag(everything) || flag(powerpc)
 XMETADescription: common definitions for PowerPC targets
 Path: lib/bap_powerpc
 BuildDepends: core_kernel, ppx_bap,
               ogre, bap-knowledge, bap-core-theory, bap
 FindlibName: bap-powerpc
 Modules: Bap_powerpc_target

Library powerpc_plugin
  XMETADescription: provide PowerPC lifter
  Path:             plugins/powerpc
  Build$:           flag(everything) || flag(powerpc)
  BuildDepends:     bap, bap-abi, bap-c, zarith, monads, core_kernel,
                    ppx_bap, regular, bap-api, bap-powerpc, bap-core-theory
  FindlibName:      bap-plugin-powerpc
  InternalModules:  Powerpc,
                    Powerpc_cpu,
                    Powerpc_dsl,
                    Powerpc_model,
                    Powerpc_rtl,
                    Powerpc_types,
                    Powerpc_utils,
                    Powerpc_abi,
                    Powerpc_add,
                    Powerpc_branch,
                    Powerpc_compare,
                    Powerpc_cr,
                    Powerpc_div,
                    Powerpc_load,
                    Powerpc_logical,
                    Powerpc_main,
                    Powerpc_move,
                    Powerpc_mul,
                    Powerpc_rotate,
                    Powerpc_shift,
                    Powerpc_store,
                    Powerpc_sub
  DataFiles:        semantics/*.lisp ($datadir/bap/primus/semantics)
  XMETAExtraLines:  tags="powerpc, lifter"

Library powerpc_test
  Path:           lib_test/powerpc
  Build$:         flag(tests) && (flag(everything) || flag(powerpc))
  CompiledObject: best
  BuildDepends:   bap, oUnit, core_kernel, ppx_bap
  Install:        false
  Modules:        Powerpc_add_tests,
                  Powerpc_arith_tests,
                  Powerpc_branch_tests,
                  Powerpc_compare_tests,
                  Powerpc_cr_tests,
                  Powerpc_load_tests,
                  Powerpc_logical_tests,
                  Powerpc_move_tests,
                  Powerpc_rotate_tests,
                  Powerpc_shift_tests,
                  Powerpc_store_tests,
                  Powerpc_tests_helpers

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

Test powerpc_tests
 TestTools: run_powerpc_tests
 Run$: flag(tests) && (flag(everything) || flag(powerpc))
 Command: $run_powerpc_tests