[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