setup.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. from __future__ import division, print_function, absolute_import
  2. import os
  3. from numpy.distutils.core import setup
  4. from numpy.distutils.misc_util import Configuration
  5. from numpy import get_include
  6. from scipy._build_utils import numpy_nodepr_api
  7. def configuration(parent_package='', top_path=None):
  8. config = Configuration('ndimage', parent_package, top_path)
  9. include_dirs = ['src',
  10. get_include(),
  11. os.path.join(os.path.dirname(__file__), '..', '_lib', 'src')]
  12. config.add_extension("_nd_image",
  13. sources=["src/nd_image.c",
  14. "src/ni_filters.c",
  15. "src/ni_fourier.c",
  16. "src/ni_interpolation.c",
  17. "src/ni_measure.c",
  18. "src/ni_morphology.c",
  19. "src/ni_splines.c",
  20. "src/ni_support.c"],
  21. include_dirs=include_dirs,
  22. **numpy_nodepr_api)
  23. # Cython wants the .c and .pyx to have the underscore.
  24. config.add_extension("_ni_label",
  25. sources=["src/_ni_label.c",],
  26. include_dirs=['src']+[get_include()])
  27. config.add_extension("_ctest",
  28. sources=["src/_ctest.c"],
  29. include_dirs=[get_include()],
  30. **numpy_nodepr_api)
  31. _define_macros = [("OLDAPI", 1)]
  32. if 'define_macros' in numpy_nodepr_api:
  33. _define_macros.extend(numpy_nodepr_api['define_macros'])
  34. config.add_extension("_ctest_oldapi",
  35. sources=["src/_ctest.c"],
  36. include_dirs=[get_include()],
  37. define_macros=_define_macros)
  38. config.add_extension("_cytest",
  39. sources=["src/_cytest.c"])
  40. config.add_data_dir('tests')
  41. return config
  42. if __name__ == '__main__':
  43. setup(**configuration(top_path='').todict())