[Numpy-svn] r4178 - in branches/numpy.scons: . numpy/distutils/command numpy/distutils/scons numpy/scons_fake/checklib

numpy-svn at scipy.org numpy-svn at scipy.org
Fri Oct 12 06:21:06 EDT 2007


Author: cdavid
Date: 2007-10-12 05:20:22 -0500 (Fri, 12 Oct 2007)
New Revision: 4178

Modified:
   branches/numpy.scons/
   branches/numpy.scons/numpy/distutils/command/scons.py
   branches/numpy.scons/numpy/distutils/scons/numpyenv.py
   branches/numpy.scons/numpy/distutils/scons/utils.py
   branches/numpy.scons/numpy/scons_fake/checklib/SConstruct
Log:
put signature files in separate dir for subpackage


Property changes on: branches/numpy.scons
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2007-10-12 13:28:01.773999929 +0900
committer: David Cournapeau <david at ar.media.kyoto-u.ac.jp>
properties: 
	branch-nick: numpy.scons

   + timestamp: 2007-10-12 15:35:27.987999916 +0900
committer: David Cournapeau <david at ar.media.kyoto-u.ac.jp>
properties: 
	branch-nick: numpy.scons

Name: bzr:revision-id:v3-trunk0
   - 3737 david at david-laptop-20070920080908-n8pj8vmszdir3zoa
3738 david at david-laptop-20070920081509-58kkojgmml3t7jxs
3739 david at david-laptop-20070920081910-phlk1ujthksgpm0z
3740 david at david-laptop-20070920082641-bdhrt6eafeoli50i
3741 david at ar.media.kyoto-u.ac.jp-20070920130730-satdeppbh1k0bq2p
3743 david at ar.media.kyoto-u.ac.jp-20070921073742-vpv8pwv0j8fbd93m
3744 david at david-laptop-20070922101656-61kfi2faucemr2rl
3745 david at david-laptop-20070922113708-ror18thshang1cpu
3747 david at david-laptop-20070922140534-n9xsl096tjrzmct1
3749 david at david-laptop-20070922154007-usit009fr6vp377j
3750 david at david-laptop-20070923070011-leu2ozc2fy1q5cht
3751 david at david-laptop-20070924015925-dhsiao40jp7zsfp9
3752 david at ar.media.kyoto-u.ac.jp-20070924070657-nbw23j0ayan30cli
3753 david at ar.media.kyoto-u.ac.jp-20070924082918-i1lc1zikywi8czj4
3754 david at ar.media.kyoto-u.ac.jp-20070924083008-c0edtt8zs31yeh1q
3755 david at ar.media.kyoto-u.ac.jp-20070924112351-pnnho638cohz6lj1
3756 david at david-laptop-20070924153247-yftud00bynilxv69
3757 david at david-laptop-20070924163545-pish34x9fq2h66aj
3758 david at david-laptop-20070924164633-iiyygcaw81ji3n34
3759 david at david-laptop-20070924170201-y14v2yzikdpvamfp
3760 david at david-laptop-20070924171208-5bmitorzf49d1aa2
3761 david at david-laptop-20070925014444-ns9v90gotnxt39mq
3769 david at david-laptop-20070925145952-4osi81tvch7v6luj
3773 david at ar.media.kyoto-u.ac.jp-20070926073429-2kdc6yf1o210aer0
3774 david at ar.media.kyoto-u.ac.jp-20070926084356-938djoytjap90rmo
3775 david at ar.media.kyoto-u.ac.jp-20070926085329-3gquq3gu2k8rgzb0
3776 david at ar.media.kyoto-u.ac.jp-20071009084906-9kradhwpu7su633x
3777 david at ar.media.kyoto-u.ac.jp-20071009093339-q5nf5me6ikdi48k6
3778 david at david-laptop-20071009152108-xh5cltii0h6zjk9b
3779 david at david-laptop-20071009154954-v5se05gbq60opo1z
3780 david at david-laptop-20071009223102-vz2sgf5i6pncxsd8
3781 david at david-laptop-20071009225259-13m6enwqk4w9uihe
3782 david at ar.media.kyoto-u.ac.jp-20071010021710-liz2jvw0ggbxrtgi
3783 david at ar.media.kyoto-u.ac.jp-20071010032218-8qzxvdmith85a056
3784 david at ar.media.kyoto-u.ac.jp-20071010032323-lgbxfd788h402kn0
3792 david at ar.media.kyoto-u.ac.jp-20071011033223-s14976refgeaw00h
3793 david at ar.media.kyoto-u.ac.jp-20071011033241-rrzlo2vu6w0tkdwf
3794 david at ar.media.kyoto-u.ac.jp-20071011071251-c5pxigyynpck262d
3795 david at ar.media.kyoto-u.ac.jp-20071012040323-8ka0mgkx1t8r9fcl
3796 david at ar.media.kyoto-u.ac.jp-20071012042801-44pmvc5o1u6p6wi7

   + 3737 david at david-laptop-20070920080908-n8pj8vmszdir3zoa
3738 david at david-laptop-20070920081509-58kkojgmml3t7jxs
3739 david at david-laptop-20070920081910-phlk1ujthksgpm0z
3740 david at david-laptop-20070920082641-bdhrt6eafeoli50i
3741 david at ar.media.kyoto-u.ac.jp-20070920130730-satdeppbh1k0bq2p
3743 david at ar.media.kyoto-u.ac.jp-20070921073742-vpv8pwv0j8fbd93m
3744 david at david-laptop-20070922101656-61kfi2faucemr2rl
3745 david at david-laptop-20070922113708-ror18thshang1cpu
3747 david at david-laptop-20070922140534-n9xsl096tjrzmct1
3749 david at david-laptop-20070922154007-usit009fr6vp377j
3750 david at david-laptop-20070923070011-leu2ozc2fy1q5cht
3751 david at david-laptop-20070924015925-dhsiao40jp7zsfp9
3752 david at ar.media.kyoto-u.ac.jp-20070924070657-nbw23j0ayan30cli
3753 david at ar.media.kyoto-u.ac.jp-20070924082918-i1lc1zikywi8czj4
3754 david at ar.media.kyoto-u.ac.jp-20070924083008-c0edtt8zs31yeh1q
3755 david at ar.media.kyoto-u.ac.jp-20070924112351-pnnho638cohz6lj1
3756 david at david-laptop-20070924153247-yftud00bynilxv69
3757 david at david-laptop-20070924163545-pish34x9fq2h66aj
3758 david at david-laptop-20070924164633-iiyygcaw81ji3n34
3759 david at david-laptop-20070924170201-y14v2yzikdpvamfp
3760 david at david-laptop-20070924171208-5bmitorzf49d1aa2
3761 david at david-laptop-20070925014444-ns9v90gotnxt39mq
3769 david at david-laptop-20070925145952-4osi81tvch7v6luj
3773 david at ar.media.kyoto-u.ac.jp-20070926073429-2kdc6yf1o210aer0
3774 david at ar.media.kyoto-u.ac.jp-20070926084356-938djoytjap90rmo
3775 david at ar.media.kyoto-u.ac.jp-20070926085329-3gquq3gu2k8rgzb0
3776 david at ar.media.kyoto-u.ac.jp-20071009084906-9kradhwpu7su633x
3777 david at ar.media.kyoto-u.ac.jp-20071009093339-q5nf5me6ikdi48k6
3778 david at david-laptop-20071009152108-xh5cltii0h6zjk9b
3779 david at david-laptop-20071009154954-v5se05gbq60opo1z
3780 david at david-laptop-20071009223102-vz2sgf5i6pncxsd8
3781 david at david-laptop-20071009225259-13m6enwqk4w9uihe
3782 david at ar.media.kyoto-u.ac.jp-20071010021710-liz2jvw0ggbxrtgi
3783 david at ar.media.kyoto-u.ac.jp-20071010032218-8qzxvdmith85a056
3784 david at ar.media.kyoto-u.ac.jp-20071010032323-lgbxfd788h402kn0
3792 david at ar.media.kyoto-u.ac.jp-20071011033223-s14976refgeaw00h
3793 david at ar.media.kyoto-u.ac.jp-20071011033241-rrzlo2vu6w0tkdwf
3794 david at ar.media.kyoto-u.ac.jp-20071011071251-c5pxigyynpck262d
3795 david at ar.media.kyoto-u.ac.jp-20071012040323-8ka0mgkx1t8r9fcl
3796 david at ar.media.kyoto-u.ac.jp-20071012042801-44pmvc5o1u6p6wi7
3797 david at ar.media.kyoto-u.ac.jp-20071012063527-x9tlkbs04vw0iyxg


Modified: branches/numpy.scons/numpy/distutils/command/scons.py
===================================================================
--- branches/numpy.scons/numpy/distutils/command/scons.py	2007-10-12 10:19:37 UTC (rev 4177)
+++ branches/numpy.scons/numpy/distutils/command/scons.py	2007-10-12 10:20:22 UTC (rev 4178)
@@ -128,7 +128,6 @@
             # XXX: This is inefficient... (use join instead)
             cmd = scons_exec + " -Q -f " + i + ' -I. '
             cmd += ' src_dir="%s" ' % pdirname(i)
-            #cmd += ' pkg_name="%s" ' % pdirname(i)
             cmd += ' distutils_libdir=%s ' % protect_path(pjoin(self.build_lib,
                                                                 pdirname(i)))
             cmd += ' cc_opt=%s ' % dist2sconscc(self.compiler)

Modified: branches/numpy.scons/numpy/distutils/scons/numpyenv.py
===================================================================
--- branches/numpy.scons/numpy/distutils/scons/numpyenv.py	2007-10-12 10:19:37 UTC (rev 4177)
+++ branches/numpy.scons/numpy/distutils/scons/numpyenv.py	2007-10-12 10:20:22 UTC (rev 4178)
@@ -1,6 +1,6 @@
 # Last Changed: .
 import os.path
-from os.path import join as pjoin
+from os.path import join as pjoin, dirname as pdirname
 import sys
 
 from distutils.sysconfig import get_config_vars
@@ -118,6 +118,24 @@
         t = Tool(FindTool(DEF_C_COMPILERS))
         t(env)
 
+    # XXX: Really, we should use our own subclass of Environment, instead of
+    # adding Numpy* functions !
+
+    # Put config code in separate dir for each subpackage
+    from utils import curry
+    NumpyConfigure = curry(env.Configure, conf_dir = pjoin(env['build_dir'], '.sconf'))
+    env.NumpyConfigure = NumpyConfigure
+    # XXX: Huge, ungly hack ! SConsign needs an absolute path or a path
+    # relative to where the SConstruct file is. We have to find the path of
+    # the build dir relative to the src_dir: we add n .., where n is the number
+    # of occureant of the path separator in the src dir.
+    def get_build_relative_src(srcdir, builddir):
+        n = srcdir.count(os.sep) + 1
+        return pjoin(os.sep.join([r'..' for i in range(n)]), builddir)
+    env.SConsignFile(pjoin(get_build_relative_src(env['src_dir'], 
+                                                  env['build_dir']),
+                           '.sconsign.dblite'))
+
     # ========================================================================
     # Adding default tools for the one we do not customize: mingw is special
     # according to scons, don't ask me why, but this does not work as expected

Modified: branches/numpy.scons/numpy/distutils/scons/utils.py
===================================================================
--- branches/numpy.scons/numpy/distutils/scons/utils.py	2007-10-12 10:19:37 UTC (rev 4177)
+++ branches/numpy.scons/numpy/distutils/scons/utils.py	2007-10-12 10:20:22 UTC (rev 4178)
@@ -42,3 +42,17 @@
     except KeyError, e:
         return []
 
+class curry:
+    def __init__(self, fun, *args, **kwargs):
+        self.fun = fun
+        self.pending = args[:]
+        self.kwargs = kwargs.copy()
+
+    def __call__(self, *args, **kwargs):
+        if kwargs and self.kwargs:
+            kw = self.kwargs.copy()
+            kw.update(kwargs)
+        else:
+            kw = kwargs or self.kwargs
+
+        return self.fun(*(self.pending + args), **kw)

Modified: branches/numpy.scons/numpy/scons_fake/checklib/SConstruct
===================================================================
--- branches/numpy.scons/numpy/scons_fake/checklib/SConstruct	2007-10-12 10:19:37 UTC (rev 4177)
+++ branches/numpy.scons/numpy/scons_fake/checklib/SConstruct	2007-10-12 10:20:22 UTC (rev 4178)
@@ -3,7 +3,7 @@
 
 env = GetNumpyEnvironment(ARGUMENTS)
 
-config = env.Configure(custom_tests = {'NumpyCheckLib' : NumpyCheckLib})
+config = env.NumpyConfigure(custom_tests = {'NumpyCheckLib' : NumpyCheckLib})
 if not config.NumpyCheckLib('sndfile', 'sf_open', section = 'sndfile'):
     print "sndfile not found, this package cannot work without sndfile !"
 config.Finish()




More information about the Numpy-svn mailing list