[Scipy-svn] r3982 - branches/build_with_scons/scipy/sparse/linalg/eigen/arpack

scipy-svn at scipy.org scipy-svn at scipy.org
Wed Mar 5 03:50:15 EST 2008


Author: cdavid
Date: 2008-03-05 02:50:06 -0600 (Wed, 05 Mar 2008)
New Revision: 3982

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

Added: branches/build_with_scons/scipy/sparse/linalg/eigen/arpack/SConstruct
===================================================================
--- branches/build_with_scons/scipy/sparse/linalg/eigen/arpack/SConstruct	2008-03-05 08:17:19 UTC (rev 3981)
+++ branches/build_with_scons/scipy/sparse/linalg/eigen/arpack/SConstruct	2008-03-05 08:50:06 UTC (rev 3982)
@@ -0,0 +1,44 @@
+from os.path import join as pjoin
+
+from numpy.distutils.misc_util import get_numpy_include_dirs
+
+from numscons import GetNumpyEnvironment
+from numscons import CheckF77LAPACK, CheckF77Clib
+from numscons import write_info
+
+env = GetNumpyEnvironment(ARGUMENTS)
+
+#=======================
+# Starting Configuration
+#=======================
+config = env.NumpyConfigure(custom_tests = {'CheckLAPACK' : CheckF77LAPACK,
+                                            'CheckF77Clib' : CheckF77Clib})
+
+#-----------------
+# Checking Lapack
+#-----------------
+st = config.CheckLAPACK()
+if not st:
+    raise RuntimeError("no lapack found, necessary for arpack module")
+
+config.Finish()
+write_info(env)
+
+# Build arpack
+arpack_src = env.Glob(pjoin('ARPACK', 'SRC', '*.f'))
+arpack_src += env.Glob(pjoin('ARPACK', 'UTIL', '*.f'))
+arpack_src += env.Glob(pjoin('ARPACK', 'LAPACK', '*.f'))
+
+src = [str(s) for s in arpack_src]
+
+env.AppendUnique(CPPPATH = pjoin('ARPACK', 'SRC'))
+arpack_lib = env.NumpyStaticExtLibrary('arpack', source = src)
+
+# Build _arpack extension
+env.AppendUnique(CPPPATH = env['F2PYINCLUDEDIR'])
+env.AppendUnique(CPPPATH = get_numpy_include_dirs())
+
+env.NumpyFromFTemplate('arpack.pyf', 'arpack.pyf.src')
+wsrc = env.F2py(pjoin(env['build_dir'], '_arpackmodule.c'), 
+                pjoin(env['build_dir'], 'arpack.pyf'))
+env.NumpyPythonExtension('_arpack', source = '_arpackmodule.c', LIBS = arpack_lib)

Copied: branches/build_with_scons/scipy/sparse/linalg/eigen/arpack/setupscons.py (from rev 3979, branches/build_with_scons/scipy/sparse/linalg/eigen/arpack/setup.py)
===================================================================
--- branches/build_with_scons/scipy/sparse/linalg/eigen/arpack/setup.py	2008-03-05 08:14:54 UTC (rev 3979)
+++ branches/build_with_scons/scipy/sparse/linalg/eigen/arpack/setupscons.py	2008-03-05 08:50:06 UTC (rev 3982)
@@ -0,0 +1,37 @@
+#!/usr/bin/env python
+
+from os.path import join
+
+def configuration(parent_package='',top_path=None):
+    from numpy.distutils.misc_util import Configuration
+
+    config = Configuration('arpack',parent_package,top_path)
+#
+#    lapack_opt = get_info('lapack_opt')
+#
+#    if not lapack_opt:
+#        raise NotFoundError,'no lapack/blas resources found'
+#
+#    config = Configuration('arpack', parent_package, top_path)
+#
+#    arpack_sources=[join('ARPACK','SRC', '*.f')]
+#    arpack_sources.extend([join('ARPACK','UTIL', '*.f')])
+#    arpack_sources.extend([join('ARPACK','LAPACK', '*.f')])
+#
+#    config.add_library('arpack', sources=arpack_sources,
+#                       include_dirs=[join('ARPACK', 'SRC')])
+#
+#
+#    config.add_extension('_arpack',
+#                         sources='arpack.pyf.src',
+#                         libraries=['arpack'],
+#                         extra_info = lapack_opt
+#                        )
+#
+    config.add_sconscript('SConstruct')
+    config.add_data_dir('tests')
+    return config
+
+if __name__ == '__main__':
+    from numpy.distutils.core import setup
+    setup(**configuration(top_path='').todict())




More information about the Scipy-svn mailing list