[Numpy-svn] r4173 - in branches/numpy.scons: . numpy/distutils/scons

numpy-svn@scip... numpy-svn@scip...
Wed Oct 10 22:42:21 CDT 2007


Author: cdavid
Date: 2007-10-10 22:42:03 -0500 (Wed, 10 Oct 2007)
New Revision: 4173

Modified:
   branches/numpy.scons/
   branches/numpy.scons/numpy/distutils/scons/extension_scons.py
   branches/numpy.scons/numpy/distutils/scons/numpyenv.py
Log:
Get python extension suffix from distutils


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

   + timestamp: 2007-10-11 12:32:23.678999901 +0900
committer: David Cournapeau <david@ar.media.kyoto-u.ac.jp>
properties: 
	branch-nick: numpy.scons

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

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


Modified: branches/numpy.scons/numpy/distutils/scons/extension_scons.py
===================================================================
--- branches/numpy.scons/numpy/distutils/scons/extension_scons.py	2007-10-10 12:46:47 UTC (rev 4172)
+++ branches/numpy.scons/numpy/distutils/scons/extension_scons.py	2007-10-11 03:42:03 UTC (rev 4173)
@@ -1,5 +1,5 @@
 #! /usr/bin/env python
-# Last Change: Tue Oct 09 04:00 PM 2007 J
+# Last Change: Thu Oct 11 12:00 PM 2007 J
 
 # Module for support to build python extension. scons specific code goes here.
 import sys
@@ -18,14 +18,14 @@
         LINKFLAGS = deepcopy(env['LINKFLAGS'])
     else:
         LINKFLAGS = []
+
     if env.has_key('CPPPPATH'):
         CPPPATH = deepcopy(env['CPPPATH'])
     else:
         CPPPATH = []
+
     CPPPATH.append(get_python_inc())
     if sys.platform == 'win32': 
-        # XXX: pyext should definitely not be set here
-        pyext = '.pyd'
         if built_with_mstools(env):
             # # XXX is the export necessary ? (this seems to work wo)
             # LINKFLAGS += " /EXPORT:init%s " % target[0]
@@ -34,13 +34,11 @@
             # version, of course). This seems to be necessary for MS compilers.
             env.AppendUnique(LIBPATH = get_pythonlib_dir())
     elif sys.platform == "darwin":
-        pyext = '.so' #env['LDMODULESUFFIX']
-	print pyext
-	# XXX: When those should be used ? (which version of Mac OS X ?)
-	LINKFLAGS += ' -undefined dynamic_lookup '
-    else:
-        pyext = env['SHLIBSUFFIX']
+        # XXX: When those should be used ? (which version of Mac OS X ?)
+        LINKFLAGS += ' -undefined dynamic_lookup '
+
+    # Use LoadableModule because of Mac OS X
     wrap = env.LoadableModule(target, source, SHLIBPREFIX = '', 
-                             LDMODULESUFFIX = pyext, LINKFLAGS = LINKFLAGS, 
+                             LDMODULESUFFIX = "$PYEXTSUFFIX", LINKFLAGS = LINKFLAGS, 
                              CPPPATH = CPPPATH, *args, **kw)
     return wrap

Modified: branches/numpy.scons/numpy/distutils/scons/numpyenv.py
===================================================================
--- branches/numpy.scons/numpy/distutils/scons/numpyenv.py	2007-10-10 12:46:47 UTC (rev 4172)
+++ branches/numpy.scons/numpy/distutils/scons/numpyenv.py	2007-10-11 03:42:03 UTC (rev 4173)
@@ -3,6 +3,8 @@
 from os.path import join as pjoin
 import sys
 
+from distutils.sysconfig import get_config_vars
+
 from SCons.Options import Options
 from SCons.Environment import Environment
 from SCons.Tool import Tool, FindTool, FindAllTools
@@ -65,9 +67,13 @@
     # XXX: I would prefer subclassing Environment, because we really expect
     # some different behaviour than just Environment instances...
     opts = GetNumpyOptions(args)
+
+    # Get the python extension suffix
+    pyextsuffix = get_config_vars('SO')
+
     # We set tools to an empty list, to be sure that the custom options are
     # given first. We have to 
-    env = Environment(options = opts, tools = [])
+    env = Environment(options = opts, tools = [], PYEXTSUFFIX = pyextsuffix)
 
     # Setting dirs according to command line options
     env.AppendUnique(build_dir = pjoin(env['build_prefix']))
@@ -126,7 +132,7 @@
         env['ENV']['HOME'] = os.environ['HOME']
     except KeyError:
         pass
-    #print Environment().Dump('TOOLS')
+    #print Environment().Dump()
     # Adding custom builder
     env['BUILDERS']['NumpySharedLibrary'] = NumpySharedLibrary
     env['BUILDERS']['NumpyCtypes'] = NumpyCtypes



More information about the Numpy-svn mailing list