Chris@87
|
1 from __future__ import division, absolute_import, print_function
|
Chris@87
|
2
|
Chris@87
|
3 from distutils.command.build_py import build_py as old_build_py
|
Chris@87
|
4 from numpy.distutils.misc_util import is_string
|
Chris@87
|
5
|
Chris@87
|
6 class build_py(old_build_py):
|
Chris@87
|
7
|
Chris@87
|
8 def run(self):
|
Chris@87
|
9 build_src = self.get_finalized_command('build_src')
|
Chris@87
|
10 if build_src.py_modules_dict and self.packages is None:
|
Chris@87
|
11 self.packages = list(build_src.py_modules_dict.keys ())
|
Chris@87
|
12 old_build_py.run(self)
|
Chris@87
|
13
|
Chris@87
|
14 def find_package_modules(self, package, package_dir):
|
Chris@87
|
15 modules = old_build_py.find_package_modules(self, package, package_dir)
|
Chris@87
|
16
|
Chris@87
|
17 # Find build_src generated *.py files.
|
Chris@87
|
18 build_src = self.get_finalized_command('build_src')
|
Chris@87
|
19 modules += build_src.py_modules_dict.get(package, [])
|
Chris@87
|
20
|
Chris@87
|
21 return modules
|
Chris@87
|
22
|
Chris@87
|
23 def find_modules(self):
|
Chris@87
|
24 old_py_modules = self.py_modules[:]
|
Chris@87
|
25 new_py_modules = [_m for _m in self.py_modules if is_string(_m)]
|
Chris@87
|
26 self.py_modules[:] = new_py_modules
|
Chris@87
|
27 modules = old_build_py.find_modules(self)
|
Chris@87
|
28 self.py_modules[:] = old_py_modules
|
Chris@87
|
29
|
Chris@87
|
30 return modules
|
Chris@87
|
31
|
Chris@87
|
32 # XXX: Fix find_source_files for item in py_modules such that item is 3-tuple
|
Chris@87
|
33 # and item[2] is source file.
|