setup.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/env python3
  2. """
  3. Build the Cython demonstrations of low-level access to NumPy random
  4. Usage: python setup.py build_ext -i
  5. """
  6. from os.path import dirname, join, abspath
  7. from setuptools import setup
  8. from setuptools.extension import Extension
  9. import numpy as np
  10. from Cython.Build import cythonize
  11. path = dirname(__file__)
  12. src_dir = join(dirname(path), '..', 'src')
  13. defs = [('NPY_NO_DEPRECATED_API', 0)]
  14. inc_path = np.get_include()
  15. # Add paths for npyrandom and npymath libraries:
  16. lib_path = [
  17. abspath(join(np.get_include(), '..', '..', 'random', 'lib')),
  18. abspath(join(np.get_include(), '..', 'lib'))
  19. ]
  20. extending = Extension("extending",
  21. sources=[join('.', 'extending.pyx')],
  22. include_dirs=[
  23. np.get_include(),
  24. join(path, '..', '..')
  25. ],
  26. define_macros=defs,
  27. )
  28. distributions = Extension("extending_distributions",
  29. sources=[join('.', 'extending_distributions.pyx')],
  30. include_dirs=[inc_path],
  31. library_dirs=lib_path,
  32. libraries=['npyrandom', 'npymath'],
  33. define_macros=defs,
  34. )
  35. extensions = [extending, distributions]
  36. setup(
  37. ext_modules=cythonize(extensions)
  38. )