setup.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/usr/bin/env python
  2. from setuptools.dist import Distribution
  3. from distutils.core import setup, Extension
  4. from distutils.util import convert_path
  5. emulator_files = [
  6. 'emulator/devices/utilities.c',
  7. 'emulator/devices/cpu/registers.c',
  8. 'emulator/devices/memory/memspace.c',
  9. 'emulator/debugger/debugger.c',
  10. 'emulator/debugger/register_display.c',
  11. 'emulator/devices/cpu/decoder.c',
  12. 'emulator/devices/cpu/flag_handler.c',
  13. 'emulator/devices/cpu/formatI.c',
  14. 'emulator/devices/cpu/formatII.c',
  15. 'emulator/devices/cpu/formatIII.c',
  16. 'emulator/devices/cpu/interrupts.c',
  17. 'emulator/devices/peripherals/bcm.c',
  18. 'emulator/devices/peripherals/timer_a.c',
  19. 'emulator/devices/peripherals/usci.c',
  20. 'emulator/devices/peripherals/port1.c',
  21. 'emulator/debugger/disassembler.c',
  22. 'emulator/python/py_functions.c',
  23. 'emulator/python/py_interface.c',
  24. 'emulator/win.c',
  25. ]
  26. main_ns = {}
  27. ver_path = convert_path('msp430emu/version.py')
  28. with open(ver_path) as ver_file:
  29. exec(ver_file.read(), main_ns)
  30. class BinaryDistribution(Distribution):
  31. def is_pure(self):
  32. return False
  33. setup(name='msp430emu',
  34. version=main_ns['__version__'],
  35. description=main_ns['description'],
  36. author_email=main_ns['__author__'],
  37. packages=['msp430emu'],
  38. package_dir={'msp430emu': 'msp430emu'},
  39. package_data={'msp430emu': ['*.png']},
  40. include_package_data=True,
  41. ext_modules=[Extension(
  42. '_msp430emu', emulator_files, extra_compile_args=["-w", "-DPYTHON"]
  43. )],
  44. distclass=BinaryDistribution,
  45. install_requires=[
  46. "wxPython >= 4",
  47. ],
  48. )