build-qemu 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/usr/bin/env python3
  2. import multiprocessing
  3. import os
  4. import subprocess
  5. import time
  6. import common
  7. parser = common.get_argparse()
  8. common.add_build_arguments(parser)
  9. parser.add_argument(
  10. 'extra_config_args',
  11. default=[],
  12. metavar='extra-config-args',
  13. nargs='*'
  14. )
  15. args = common.setup(parser)
  16. if args.clean:
  17. common.rmrf(common.qemu_build_dir)
  18. else:
  19. start_time = time.time()
  20. os.makedirs(common.qemu_build_dir, exist_ok=True)
  21. subprocess.check_call(
  22. [
  23. os.path.join(common.qemu_src_dir, 'configure'),
  24. '--enable-debug',
  25. '--enable-trace-backends=simple',
  26. '--target-list={}-softmmu'.format(args.arch),
  27. '--enable-sdl',
  28. '--with-sdlabi=2.0',
  29. ] +
  30. args.extra_config_args,
  31. cwd=common.qemu_build_dir
  32. )
  33. assert common.run_cmd(
  34. [
  35. 'make',
  36. # TODO factor with build.
  37. '-j', str(multiprocessing.cpu_count()),
  38. ],
  39. cwd=common.qemu_build_dir,
  40. extra_env={'PATH': common.ccache_dir + ':' + os.environ['PATH']},
  41. ) == 0
  42. end_time = time.time()
  43. common.print_time(end_time - start_time)