[Scipy-svn] r3979 - in branches/build_with_scons/scipy: . optimize

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


Author: cdavid
Date: 2008-03-05 02:14:54 -0600 (Wed, 05 Mar 2008)
New Revision: 3979

Added:
   branches/build_with_scons/scipy/optimize/SConstruct
   branches/build_with_scons/scipy/optimize/setupscons.py
Modified:
   branches/build_with_scons/scipy/setupscons.py
Log:
optimize now builds with numscons.

Added: branches/build_with_scons/scipy/optimize/SConstruct
===================================================================
--- branches/build_with_scons/scipy/optimize/SConstruct	2008-03-05 08:11:09 UTC (rev 3978)
+++ branches/build_with_scons/scipy/optimize/SConstruct	2008-03-05 08:14:54 UTC (rev 3979)
@@ -0,0 +1,91 @@
+# Last Change: Wed Mar 05 05:00 PM 2008 J
+# vim:syntax=python
+
+import os
+from os.path import join as pjoin, splitext
+
+from numpy.distutils.misc_util import get_numpy_include_dirs
+from numscons import get_python_inc#, get_pythonlib_dir
+from numscons import GetNumpyEnvironment
+from numscons import CheckF77LAPACK, CheckF77Clib
+
+from numscons import write_info
+
+env = GetNumpyEnvironment(ARGUMENTS)
+env.Append(CPPPATH = get_numpy_include_dirs())
+env.Append(CPPPATH = env['F2PYINCLUDEDIR'])
+#if os.name == 'nt':
+#    # NT needs the pythonlib to run any code importing Python.h, including
+#    # simple code using only typedef and so on, so we need it for configuration
+#    # checks
+#    env.AppendUnique(LIBPATH = [get_pythonlib_dir()])
+
+#=======================
+# Starting Configuration
+#=======================
+config = env.NumpyConfigure(custom_tests = {'CheckLAPACK' : CheckF77LAPACK,
+                                            'CheckF77Clib' : CheckF77Clib})
+
+#-----------------
+# Checking Lapack
+#-----------------
+if not config.CheckF77Clib():
+    raise RuntimeLibrary("Could not check C/F runtime library for %s/%s"\
+                         " , contact the maintainer" % (env['CC'], env['F77']))
+
+st = config.CheckLAPACK()
+if not st:
+    has_lapack = 0
+else:
+    has_lapack = 1
+
+config.Finish()
+write_info(env)
+
+#==========
+#  Build
+#==========
+
+# minpack lib
+minpack_src = [str(s) for s in env.Glob(pjoin('minpack', '*.f'))]
+env.NumpyStaticExtLibrary('minpack', source = minpack_src)
+
+# rootfind lib
+rootfind_src = [str(s) for s in env.Glob(pjoin('Zeros', '*.c'))]
+env.NumpyStaticExtLibrary('rootfind', source = rootfind_src)
+
+env.AppendUnique(LIBS = ['minpack', 'rootfind'])
+env.AppendUnique(LIBPATH = env['build_dir'])
+
+# _minpack pyextension
+env.NumpyPythonExtension('_minpack', '_minpackmodule.c',
+                         LINKFLAGSEND = env['F77_LDFLAGS'])
+
+# _zeros pyextension
+env.NumpyPythonExtension('_zeros', 'zeros.c')
+
+# _lbfgsb pyextension
+src = pjoin('lbfgsb', 'routines.f')
+lbfgsb_src = env.F2py(pjoin(env['build_dir'], '_lbfgsbmodule.c'), 
+                      pjoin(env['build_dir'], 'lbfgsb', 'lbfgsb.pyf'))
+env.NumpyPythonExtension('_lbfgsb', source = [src] + lbfgsb_src,
+                         LINKFLAGSEND = env['F77_LDFLAGS'])
+
+# _cobyla pyextension
+src = [pjoin('cobyla', i) for i in ['cobyla2.f', 'trstlp.f']]
+wrap_src = env.F2py(pjoin(env['build_dir'], 'cobyla', '_cobylamodule.c'), 
+                    pjoin(env['build_dir'], 'cobyla', 'cobyla.pyf'))
+env.NumpyPythonExtension('_cobyla', source = src + wrap_src,
+                         LINKFLAGSEND = env['F77_LDFLAGS'])
+
+# _minpack2 pyextension
+src = [pjoin('minpack2', i) for i in ['dcsrch.f', 'dcstep.f']]
+wrap_src = env.F2py(pjoin(env['build_dir'], 'minpack2', 'minpack2module.c'), 
+                    pjoin(env['build_dir'], 'minpack2', 'minpack2.pyf'))
+env.NumpyPythonExtension('minpack2', source = src + wrap_src,
+                         LINKFLAGSEND = env['F77_LDFLAGS'])
+
+# moduleTNC pyextension
+env.NumpyPythonExtension('moduleTNC', 
+                         source = [pjoin('tnc', i) for i in \
+                                                   ['moduleTNC.c', 'tnc.c']])

Copied: branches/build_with_scons/scipy/optimize/setupscons.py (from rev 3975, branches/build_with_scons/scipy/optimize/setup.py)
===================================================================
--- branches/build_with_scons/scipy/optimize/setup.py	2008-03-05 07:28:08 UTC (rev 3975)
+++ branches/build_with_scons/scipy/optimize/setupscons.py	2008-03-05 08:14:54 UTC (rev 3979)
@@ -0,0 +1,17 @@
+#!/usr/bin/env python
+
+from os.path import join
+
+def configuration(parent_package='',top_path=None):
+    from numpy.distutils.misc_util import Configuration
+    from numpy.distutils.system_info import get_info
+    config = Configuration('optimize',parent_package, top_path)
+
+    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())

Modified: branches/build_with_scons/scipy/setupscons.py
===================================================================
--- branches/build_with_scons/scipy/setupscons.py	2008-03-05 08:11:09 UTC (rev 3978)
+++ branches/build_with_scons/scipy/setupscons.py	2008-03-05 08:14:54 UTC (rev 3979)
@@ -12,8 +12,8 @@
     config.add_subpackage('linsolve')
     config.add_subpackage('maxentropy')
     config.add_subpackage('misc')
-    #config.add_subpackage('odr')
-    #config.add_subpackage('optimize')
+    config.add_subpackage('odr')
+    config.add_subpackage('optimize')
     #config.add_subpackage('sandbox')
     #config.add_subpackage('signal')
     #config.add_subpackage('sparse')




More information about the Scipy-svn mailing list