summaryrefslogtreecommitdiff
path: root/numpy/distutils/command/build_clib.py
diff options
context:
space:
mode:
authorDavid Cournapeau <cournape@gmail.com>2009-07-26 11:13:53 +0000
committerDavid Cournapeau <cournape@gmail.com>2009-07-26 11:13:53 +0000
commit5bedf54e48fe24c628ff33462249fe76828a713f (patch)
treec3f2a5cb69527370c996828048a6fae2b4b68d24 /numpy/distutils/command/build_clib.py
parent5c89ad2f2c40bd980f66eb0b525543c2c74931d8 (diff)
downloadnumpy-5bedf54e48fe24c628ff33462249fe76828a713f.tar.gz
Add an inplace option to build_clib - this is necessary for using installed C libraries in in-place build.
Diffstat (limited to 'numpy/distutils/command/build_clib.py')
-rw-r--r--numpy/distutils/command/build_clib.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/numpy/distutils/command/build_clib.py b/numpy/distutils/command/build_clib.py
index 9f6be52eb..88fa809c7 100644
--- a/numpy/distutils/command/build_clib.py
+++ b/numpy/distutils/command/build_clib.py
@@ -3,6 +3,7 @@
import os
from glob import glob
+import shutil
from distutils.command.build_clib import build_clib as old_build_clib
from distutils.errors import DistutilsSetupError, DistutilsError, \
DistutilsFileError
@@ -27,11 +28,15 @@ class build_clib(old_build_clib):
user_options = old_build_clib.user_options + [
('fcompiler=', None,
"specify the Fortran compiler type"),
+ ('inplace', 'i', 'Build in-place'),
]
+ boolean_options = old_build_clib.boolean_options + ['inplace']
+
def initialize_options(self):
old_build_clib.initialize_options(self)
self.fcompiler = None
+ self.inplace = 0
return
def have_f_sources(self):
@@ -94,6 +99,14 @@ class build_clib(old_build_clib):
self.build_libraries(self.libraries)
+ if self.inplace:
+ for l in self.distribution.installed_libraries:
+ libname = self.compiler.library_filename(l.name)
+ source = os.path.join(self.build_clib, libname)
+ target = os.path.join(l.target_dir, libname)
+ self.mkpath(l.target_dir)
+ shutil.copy(source, target)
+
def get_source_files(self):
self.check_library_list(self.libraries)
filenames = []