[Numpy-svn] r4300 - in branches/numpy.scons/numpy: core distutils/scons scons_fake/checkers

numpy-svn@scip... numpy-svn@scip...
Fri Oct 26 00:46:29 CDT 2007


Author: cdavid
Date: 2007-10-26 00:46:19 -0500 (Fri, 26 Oct 2007)
New Revision: 4300

Modified:
   branches/numpy.scons/numpy/core/SConstruct
   branches/numpy.scons/numpy/distutils/scons/__init__.py
   branches/numpy.scons/numpy/distutils/scons/custom_checkers.py
   branches/numpy.scons/numpy/scons_fake/checkers/SConstruct
Log:
Add veclib check for cblas check on darwin; small fixes.

Modified: branches/numpy.scons/numpy/core/SConstruct
===================================================================
--- branches/numpy.scons/numpy/core/SConstruct	2007-10-26 04:53:31 UTC (rev 4299)
+++ branches/numpy.scons/numpy/core/SConstruct	2007-10-26 05:46:19 UTC (rev 4300)
@@ -1,4 +1,4 @@
-# Last Change: Fri Oct 26 11:00 AM 2007 J
+# Last Change: Fri Oct 26 02:00 PM 2007 J
 # vim:syntax=python
 import os
 import sys
@@ -146,11 +146,11 @@
     build_blasdot = 0
 
 config.Finish()
-config_f = open('config.log', 'r')
-print "++++++++++ config.log dump ++++++++++++++++++"
-for i in config_f:
-    print i.strip('\n')
-print "+++++++++++++++++++++++++++++++++++++++++++++"
+#config_f = open('config.log', 'r')
+#print "++++++++++ config.log dump ++++++++++++++++++"
+#for i in config_f:
+#    print i.strip('\n')
+#print "+++++++++++++++++++++++++++++++++++++++++++++"
 
 #==========
 #  Build

Modified: branches/numpy.scons/numpy/distutils/scons/__init__.py
===================================================================
--- branches/numpy.scons/numpy/distutils/scons/__init__.py	2007-10-26 04:53:31 UTC (rev 4299)
+++ branches/numpy.scons/numpy/distutils/scons/__init__.py	2007-10-26 05:46:19 UTC (rev 4300)
@@ -2,6 +2,6 @@
 from libinfo_scons import NumpyCheckLib
 from libinfo import get_paths as scons_get_paths
 from custom_checkers import CheckMKL, CheckATLAS, CheckCBLAS, \
-        CheckAccelerate, CheckMKL2, CheckSunperf
+        CheckAccelerate, CheckMKL, CheckSunperf
 from extension import get_python_inc, get_pythonlib_dir
 from utils import isstring

Modified: branches/numpy.scons/numpy/distutils/scons/custom_checkers.py
===================================================================
--- branches/numpy.scons/numpy/distutils/scons/custom_checkers.py	2007-10-26 04:53:31 UTC (rev 4299)
+++ branches/numpy.scons/numpy/distutils/scons/custom_checkers.py	2007-10-26 05:46:19 UTC (rev 4300)
@@ -1,5 +1,5 @@
 #! /usr/bin/env python
-# Last Change: Fri Oct 26 11:00 AM 2007 J
+# Last Change: Fri Oct 26 02:00 PM 2007 J
 
 # Module for custom, common checkers for numpy (and scipy)
 import sys
@@ -87,18 +87,18 @@
     context.Result(ret)
     return ret
      
-def CheckMKL(context, mkl_dir, nb):
-    """mkl_lib is the root path of MKL (the one which contains include, lib,
-    etc...). nb is 32, 64, emt, etc..."""
+#def CheckMKL(context, mkl_dir, nb):
+#    """mkl_lib is the root path of MKL (the one which contains include, lib,
+#    etc...). nb is 32, 64, emt, etc..."""
+#
+#    libs = ['mkl']
+#    cpppath = os.path.join(mkl_dir, 'include')
+#    libpath = os.path.join(mkl_dir, 'lib', nb)
+#
+#    return _check_include_and_run(context, 'MKL', cpppath, ['mkl.h'],
+#                                  cblas_src, libs, libpath, [], [], autoadd)
 
-    libs = ['mkl']
-    cpppath = os.path.join(mkl_dir, 'include')
-    libpath = os.path.join(mkl_dir, 'lib', nb)
-
-    return _check_include_and_run(context, 'MKL', cpppath, ['mkl.h'],
-                                  cblas_src, libs, libpath, [], [], autoadd)
-
-def CheckMKL2(context, autoadd = 1):
+def CheckMKL(context, autoadd = 1):
     """Check MKL is usable using a simple cblas example."""
     section = "mkl"
     siteconfig, cfgfiles = get_config()
@@ -118,14 +118,41 @@
                                   cblas_src, libs, libpath, [], [], autoadd)
 
 def CheckAccelerate(context, autoadd = 1):
-    """Checker for Accelerate framework (on Mac OS X >= 10.3)."""
+    """Checker for Accelerate framework (on Mac OS X >= 10.3). Only test from
+    C."""
+    # According to
+    # http://developer.apple.com/hardwaredrivers/ve/vector_libraries.html:
+    #
+    #   This page contains a continually expanding set of vector libraries
+    #   that are available to the AltiVec programmer through the Accelerate
+    #   framework on MacOS X.3, Panther. On earlier versions of MacOS X,
+    #   these were available in vecLib.framework. The currently available
+    #   libraries are described below.
 
+    #XXX: get_platform does not seem to work...
+    #if get_platform()[-4:] == 'i386':
+    #    is_intel = 1
+    #    cflags.append('-msse3')
+    #else:
+    #    is_intel = 0
+    #    cflags.append('-faltivec')
+
+    # XXX: This double append is not good, any other way ?
     linkflags = ['-framework', 'Accelerate']
 
     return _check_include_and_run(context, 'FRAMEWORK: Accelerate', None, 
                                   ['Accelerate/Accelerate.h'], cblas_src, [], 
                                   [], linkflags, [], autoadd)
 
+def CheckVeclib(context, autoadd = 1):
+    """Checker for Veclib framework (on Mac OS X < 10.3)."""
+    # XXX: This double append is not good, any other way ?
+    linkflags = ['-framework', 'vecLib']
+
+    return _check_include_and_run(context, 'FRAMEWORK: veclib', None, 
+                                  ['vecLib/vecLib.h'], cblas_src, [], 
+                                  [], linkflags, [], autoadd)
+
 def CheckSunperf(context, autoadd = 1):
     """Checker for sunperf using a simple sunperf example"""
 
@@ -147,37 +174,23 @@
         headers = ['cblas.h']
         linkflags = []
         cflags = []
+        return _check_include_and_run(context, 'CBLAS', [], headers, cblas_src,
+                                      libs, libpath, linkflags, cflags, autoadd)
     else:
-        cflags = []
-        linkflags = []
-        libs = []
-        libpath = []
-        headers = []
         if sys.platform == 'darwin':
-            # According to
-            # http://developer.apple.com/hardwaredrivers/ve/vector_libraries.html:
-            #
-            #   This page contains a continually expanding set of vector libraries
-            #   that are available to the AltiVec programmer through the Accelerate
-            #   framework on MacOS X.3, Panther. On earlier versions of MacOS X,
-            #   these were available in vecLib.framework. The currently available
-            #   libraries are described below.
-
-            #if get_platform()[-4:] == 'i386':
-            #    is_intel = 1
-            #    cflags.append('-msse3')
-            #else:
-            #    is_intel = 0
-            #    cflags.append('-faltivec')
-
-            # TODO: we should have a small test code to test Accelerate vs veclib
-            # XXX: This double append is not good, any other way ?
-            linkflags.append('-framework')
-            linkflags.append('Accelerate')
-            headers.append('Accelerate/Accelerate.h')
+            st = CheckAccelerate(context, autoadd)
+            if st:
+                return st
+            st = CheckVeclib(context, autoadd)
+            return st
+            
         else:
-            headers.append('cblas.h')
-            libs.append('cblas')
-
-    return _check_include_and_run(context, 'CBLAS', [], headers, cblas_src,
-                                  libs, libpath, linkflags, cflags, autoadd)
+            # Check MKL, then ATLAS, then Sunperf
+            st = CheckMKL(context, autoadd)
+            if st:
+                return st
+            st = CheckATLAS(context, autoadd)
+            if st:
+                return st
+            st = CheckSunperf(context, autoadd)
+            return st

Modified: branches/numpy.scons/numpy/scons_fake/checkers/SConstruct
===================================================================
--- branches/numpy.scons/numpy/scons_fake/checkers/SConstruct	2007-10-26 04:53:31 UTC (rev 4299)
+++ branches/numpy.scons/numpy/scons_fake/checkers/SConstruct	2007-10-26 05:46:19 UTC (rev 4300)
@@ -1,22 +1,22 @@
 # vim:syntax=python
 from numpy.distutils.scons import GetNumpyEnvironment, CheckATLAS, \
-                                  CheckAccelerate, CheckMKL2, CheckCBLAS, \
+                                  CheckAccelerate, CheckMKL, CheckCBLAS, \
 				  CheckSunperf
 
 env = GetNumpyEnvironment(ARGUMENTS)
 
 config = env.NumpyConfigure(custom_tests = 
     {'CheckATLAS' : CheckATLAS,
-    'CheckMKL' : CheckMKL2,
+    'CheckMKL' : CheckMKL,
     'CheckAccelerate' : CheckAccelerate,
     'CheckSunperf' : CheckSunperf,
     'CheckCBLAS' : CheckCBLAS})
 
-config.CheckATLAS(autoadd = 0)
-config.CheckMKL(autoadd = 0)
-config.CheckAccelerate(autoadd = 0)
-config.CheckSunperf(autoadd = 0)
-config.CheckCBLAS(autoadd = 0)
+#config.CheckATLAS(autoadd = 0)
+#config.CheckMKL(autoadd = 0)
+#config.CheckAccelerate(autoadd = 0)
+#config.CheckSunperf(autoadd = 0)
+#config.CheckCBLAS(autoadd = 0)
 
 config.Finish()
 



More information about the Numpy-svn mailing list