summaryrefslogtreecommitdiff
path: root/numpy/distutils
diff options
context:
space:
mode:
authorrgommers <ralf.gommers@googlemail.com>2011-03-02 15:57:33 +0800
committerrgommers <ralf.gommers@googlemail.com>2011-03-02 15:57:33 +0800
commitee0831a821744c2d013724456700573918b4ca37 (patch)
tree9288ab5ed81d0d41702bede7eb5c7a195db98df7 /numpy/distutils
parent05142b69d8304b219fa2e85c6e810a3f91e09c8b (diff)
downloadnumpy-ee0831a821744c2d013724456700573918b4ca37.tar.gz
BUG: fix up shared library extension, which changed in Python 3.2. Closes #1749.
Diffstat (limited to 'numpy/distutils')
-rw-r--r--numpy/distutils/fcompiler/__init__.py5
-rw-r--r--numpy/distutils/system_info.py6
2 files changed, 9 insertions, 2 deletions
diff --git a/numpy/distutils/fcompiler/__init__.py b/numpy/distutils/fcompiler/__init__.py
index 397b36ce9..d2400459f 100644
--- a/numpy/distutils/fcompiler/__init__.py
+++ b/numpy/distutils/fcompiler/__init__.py
@@ -27,7 +27,7 @@ except NameError:
from numpy.compat import open_latin1
-from distutils.sysconfig import get_config_var, get_python_lib
+from distutils.sysconfig import get_config_var, get_config_vars, get_python_lib
from distutils.fancy_getopt import FancyGetopt
from distutils.errors import DistutilsModuleError, \
DistutilsExecError, CompileError, LinkError, DistutilsPlatformError
@@ -196,6 +196,9 @@ class FCompiler(CCompiler):
src_extensions = ['.for','.ftn','.f77','.f','.f90','.f95','.F','.F90']
obj_extension = ".o"
shared_lib_extension = get_config_var('SO') # or .dll
+ # fix long extension for Python >=3.2, see PEP 3149.
+ if 'SOABI' in get_config_vars():
+ shared_lib_extension = shared_lib_extension.replace('.'+get_config_var('SOABI'), '', 1)
static_lib_extension = ".a" # or .lib
static_lib_format = "lib%s%s" # or %s%s
shared_lib_format = "%s%s"
diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
index 7cc33eb43..7d1379981 100644
--- a/numpy/distutils/system_info.py
+++ b/numpy/distutils/system_info.py
@@ -211,6 +211,10 @@ default_include_dirs = filter(os.path.isdir, default_include_dirs)
default_src_dirs = filter(os.path.isdir, default_src_dirs)
so_ext = distutils.sysconfig.get_config_vars('SO')[0] or ''
+# fix long extension for Python >=3.2, see PEP 3149.
+if 'SOABI' in distutils.sysconfig.get_config_vars():
+ so_ext = so_ext.replace('.'+distutils.sysconfig.get_config_var('SOABI'), '', 1)
+
def get_standard_file(fname):
"""Returns a list of files named 'fname' from
@@ -1324,7 +1328,7 @@ class lapack_opt_info(system_info):
or ('ATLAS_WITHOUT_LAPACK',None) in l:
need_lapack = 1
info = atlas_info
-
+
else:
warnings.warn(AtlasNotFoundError.__doc__)
need_blas = 1