diff options
author | Pearu Peterson <pearu.peterson@gmail.com> | 2004-02-08 09:32:07 +0000 |
---|---|---|
committer | Pearu Peterson <pearu.peterson@gmail.com> | 2004-02-08 09:32:07 +0000 |
commit | d98f6378a0bb5843984e24668815e8820a6de62d (patch) | |
tree | f88221b57196c4ebb6abd6cb75693725b983fbd5 | |
parent | c396c0ddd74cc9580682e71e576c50faaad4954d (diff) | |
download | numpy-d98f6378a0bb5843984e24668815e8820a6de62d.tar.gz |
Single file libraries (like blas and lapack) can be specified with their corresponding environment variables (BLAS and LAPACK). Usage example: BLAS=/path/to/libfblas.a
-rw-r--r-- | scipy_distutils/system_info.py | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/scipy_distutils/system_info.py b/scipy_distutils/system_info.py index ef9d81978..b0effd7bb 100644 --- a/scipy_distutils/system_info.py +++ b/scipy_distutils/system_info.py @@ -276,7 +276,19 @@ class system_info: def get_paths(self, section, key): dirs = self.cp.get(section, key).split(os.pathsep) if self.dir_env_var and os.environ.has_key(self.dir_env_var): - dirs = os.environ[self.dir_env_var].split(os.pathsep) + dirs + d = os.environ[self.dir_env_var] + if os.path.isfile(d): + dirs = [os.path.dirname(d)] + dirs + l = getattr(self,'_lib_names',[]) + if len(l)==1: + b = os.path.basename(d) + b = os.path.splitext(b)[0] + if b[:3]=='lib': + print 'Replacing _lib_names[0]==%r with %r' \ + % (self._lib_names[0], b[3:]) + self._lib_names[0] = b[3:] + else: + dirs = d.split(os.pathsep) + dirs default_dirs = self.cp.get('DEFAULT', key).split(os.pathsep) dirs.extend(default_dirs) ret = [] @@ -549,11 +561,11 @@ class lapack_atlas_threads_info(atlas_threads_info): class lapack_info(system_info): section = 'lapack' dir_env_var = 'LAPACK' - + _lib_names = ['lapack'] def calc_info(self): lib_dirs = self.get_lib_dirs() - lapack_libs = self.get_libs('lapack_libs', ['lapack']) + lapack_libs = self.get_libs('lapack_libs', self._lib_names) for d in lib_dirs: lapack = self.check_libs(d,lapack_libs,[]) if lapack is not None: @@ -664,11 +676,12 @@ class lapack_src_info(system_info): class blas_info(system_info): section = 'blas' dir_env_var = 'BLAS' + _lib_names = ['blas'] def calc_info(self): lib_dirs = self.get_lib_dirs() - blas_libs = self.get_libs('blas_libs', ['blas']) + blas_libs = self.get_libs('blas_libs', self._lib_names) for d in lib_dirs: blas = self.check_libs(d,blas_libs,[]) if blas is not None: |