summaryrefslogtreecommitdiff
path: root/numpy/distutils/command/build_clib.py
diff options
context:
space:
mode:
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 = []