From 4b34188cb87b08549f2daca956482d45ad046e07 Mon Sep 17 00:00:00 2001 From: David Cournapeau Date: Sun, 26 Jul 2009 11:14:30 +0000 Subject: 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. --- numpy/distutils/command/build_ext.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'numpy/distutils/command/build_ext.py') 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 -- cgit v1.2.1