[Scipy-svn] r3985 - branches/build_with_scons/scipy/sparse/linalg/dsolve

scipy-svn at scipy.org scipy-svn at scipy.org
Wed Mar 5 04:56:58 EST 2008


Author: cdavid
Date: 2008-03-05 03:56:48 -0600 (Wed, 05 Mar 2008)
New Revision: 3985

Added:
   branches/build_with_scons/scipy/sparse/linalg/dsolve/SConstruct
   branches/build_with_scons/scipy/sparse/linalg/dsolve/setupscons.py
Log:
sparse.linalg.dsolve builds with numscons.

Added: branches/build_with_scons/scipy/sparse/linalg/dsolve/SConstruct
===================================================================
--- branches/build_with_scons/scipy/sparse/linalg/dsolve/SConstruct	2008-03-05 09:33:21 UTC (rev 3984)
+++ branches/build_with_scons/scipy/sparse/linalg/dsolve/SConstruct	2008-03-05 09:56:48 UTC (rev 3985)
@@ -0,0 +1,47 @@
+from os.path import join as pjoin
+import sys
+
+from numpy.distutils.misc_util import get_numpy_include_dirs
+
+from numscons import GetNumpyEnvironment
+from numscons import CheckF77LAPACK
+from numscons import write_info
+
+env = GetNumpyEnvironment(ARGUMENTS)
+
+#=======================
+# Starting Configuration
+#=======================
+config = env.NumpyConfigure(custom_tests = {'CheckLapack' : CheckF77LAPACK})
+
+#-----------------
+# Checking Lapack
+#-----------------
+st = config.CheckLapack()
+if not st:
+    raise RuntimeError("no lapack found, necessary for dsolve module")
+
+config.Finish()
+write_info(env)
+
+# Build superlu lib
+superlu_env = env.Copy()
+superlu_def = {}
+if sys.platform == 'win32':
+    superlu_def['NO_TIMER'] = 1
+superlu_def['USE_VENDOR_BLAS'] = 2
+superlu_env.Append(CPPDEFINES = superlu_def)
+
+superlu_src = [str(s) for s in superlu_env.Glob(pjoin('SuperLU', 'SRC', '*.c'))]
+superlu = superlu_env.NumpyStaticExtLibrary('superlu_src', source = superlu_src)
+
+# Build python extensions
+pyenv = env.Copy()
+pyenv.Append(CPPPATH = get_numpy_include_dirs())
+common_src = ['_superlu_utils.c', '_superluobject.c']
+
+for prec in ['z', 'd', 'c', 's']:
+    pyenv.NumpyPythonExtension('_%ssuperlu' % prec, 
+                               source = common_src + \
+                                        ['_%ssuperlumodule.c' % prec], 
+                               LIBS = superlu)

Copied: branches/build_with_scons/scipy/sparse/linalg/dsolve/setupscons.py (from rev 3979, branches/build_with_scons/scipy/sparse/linalg/dsolve/setup.py)
===================================================================
--- branches/build_with_scons/scipy/sparse/linalg/dsolve/setup.py	2008-03-05 08:14:54 UTC (rev 3979)
+++ branches/build_with_scons/scipy/sparse/linalg/dsolve/setupscons.py	2008-03-05 09:56:48 UTC (rev 3985)
@@ -0,0 +1,20 @@
+#!/usr/bin/env python
+from os.path import join
+import sys
+
+def configuration(parent_package='',top_path=None):
+    from numpy.distutils.misc_util import Configuration
+    from numpy.distutils.system_info import get_info
+
+    config = Configuration('dsolve',parent_package,top_path, 
+                           setup_name = 'setupscons.py')
+
+    config.add_sconscript('SConstruct')
+    config.add_data_dir('tests')
+    config.add_subpackage('umfpack')
+
+    return config
+
+if __name__ == '__main__':
+    from numpy.distutils.core import setup
+    setup(**configuration(top_path='').todict())




More information about the Scipy-svn mailing list