diff options
author | Pearu Peterson <pearu.peterson@gmail.com> | 2006-01-31 15:13:27 +0000 |
---|---|---|
committer | Pearu Peterson <pearu.peterson@gmail.com> | 2006-01-31 15:13:27 +0000 |
commit | b88a3fcd3405258f57ba8ec7ebefbacf13ff5019 (patch) | |
tree | ea344953cbe5050eeeabd62afcc8d4831c0d0116 /numpy/distutils/command/build_src.py | |
parent | 9e850093ec7cd543d51301c1a5e565247cd4bec8 (diff) | |
download | numpy-b88a3fcd3405258f57ba8ec7ebefbacf13ff5019.tar.gz |
Fixing inplace support for data_files and py_modules.
Diffstat (limited to 'numpy/distutils/command/build_src.py')
-rw-r--r-- | numpy/distutils/command/build_src.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/numpy/distutils/command/build_src.py b/numpy/distutils/command/build_src.py index 13548452f..1450b4c3f 100644 --- a/numpy/distutils/command/build_src.py +++ b/numpy/distutils/command/build_src.py @@ -118,11 +118,15 @@ class build_src(build_ext.build_ext): new_data_files.append(data) elif isinstance(data,tuple): d,files = data + if self.inplace: + build_dir = d + else: + build_dir = os.path.join(self.build_src,d) funcs = filter(callable,files) files = filter(lambda f:not callable(f), files) for f in funcs: if f.func_code.co_argcount==1: - s = f(os.path.join(self.build_src,d)) + s = f(build_dir) else: s = f() if s is not None: @@ -144,13 +148,18 @@ class build_src(build_ext.build_ext): return log.info('building py_modules sources') new_py_modules = [] + if self.inplace: + get_package_dir = self.get_finalized_command('build_py').get_package_dir for source in self.py_modules: if type(source) is type(()) and len(source)==3: package, module_base, source = source + if self.inplace: + build_dir = get_package_dir(package) + else: + build_dir = os.path.join(self.build_src, + os.path.join(*package.split('.'))) if callable(source): - target = os.path.join(*([self.build_src]+\ - package.split('.')+\ - [module_base + '.py'])) + target = os.path.join(build_dir, module_base + '.py') source = source(target) if source is None: continue @@ -202,7 +211,6 @@ class build_src(build_ext.build_ext): build_py = self.get_finalized_command('build_py') self.ext_target_dir = build_py.get_package_dir(package) - sources = self.generate_sources(sources, ext) sources = self.template_sources(sources, ext) |