summaryrefslogtreecommitdiff
path: root/numpy/distutils/command/build_ext.py
diff options
context:
space:
mode:
authorDavid Cournapeau <cournape@gmail.com>2009-07-26 11:14:30 +0000
committerDavid Cournapeau <cournape@gmail.com>2009-07-26 11:14:30 +0000
commit4b34188cb87b08549f2daca956482d45ad046e07 (patch)
treea7670b55d0399f218c90ed124360e265661a8649 /numpy/distutils/command/build_ext.py
parent0407363fe009c004da0e2c2bbbaa421cb64e160d (diff)
downloadnumpy-4b34188cb87b08549f2daca956482d45ad046e07.tar.gz
When built in-place, make sure build_clib is built inplace too.
If numpy is built in-place and used by a third-party, we need to make sure installable libraries are put in the source directory, to mimic an install. Whenever build_ext is called with -i option, we call build_clib with the -i option as well.
Diffstat (limited to 'numpy/distutils/command/build_ext.py')
-rw-r--r--numpy/distutils/command/build_ext.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/numpy/distutils/command/build_ext.py b/numpy/distutils/command/build_ext.py
index 2b114d4a7..4d11d033d 100644
--- a/numpy/distutils/command/build_ext.py
+++ b/numpy/distutils/command/build_ext.py
@@ -57,8 +57,20 @@ class build_ext (old_build_ext):
self.run_command('build_src')
if self.distribution.has_c_libraries():
- self.run_command('build_clib')
- build_clib = self.get_finalized_command('build_clib')
+ if self.inplace:
+ if self.distribution.have_run.get('build_clib'):
+ log.warn('build_clib already run, it is too late to ' \
+ 'ensure in-place build of build_clib')
+ else:
+ build_clib = self.distribution.get_command_obj('build_clib')
+ build_clib.inplace = 1
+ build_clib.ensure_finalized()
+ build_clib.run()
+ self.distribution.have_run['build_clib'] = 1
+
+ else:
+ self.run_command('build_clib')
+ build_clib = self.get_finalized_command('build_clib')
self.library_dirs.append(build_clib.build_clib)
else:
build_clib = None