summaryrefslogtreecommitdiff
path: root/numpy/distutils/command/build_src.py
diff options
context:
space:
mode:
authorPearu Peterson <pearu.peterson@gmail.com>2006-01-31 15:13:27 +0000
committerPearu Peterson <pearu.peterson@gmail.com>2006-01-31 15:13:27 +0000
commitb88a3fcd3405258f57ba8ec7ebefbacf13ff5019 (patch)
treeea344953cbe5050eeeabd62afcc8d4831c0d0116 /numpy/distutils/command/build_src.py
parent9e850093ec7cd543d51301c1a5e565247cd4bec8 (diff)
downloadnumpy-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.py18
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)