[Numpy-svn] r2761 - in branches/distutils-revamp: . command fcompiler

numpy-svn at scipy.org numpy-svn at scipy.org
Thu Jul 6 13:15:41 EDT 2006


Author: cookedm
Date: 2006-07-06 12:15:36 -0500 (Thu, 06 Jul 2006)
New Revision: 2761

Modified:
   branches/distutils-revamp/ccompiler.py
   branches/distutils-revamp/command/config_compiler.py
   branches/distutils-revamp/fcompiler/__init__.py
   branches/distutils-revamp/misc_util.py
Log:
[distutils-revamp] some more cleanups.
Use core.get_distribution() instead of distutils.core._setup_distribution


Modified: branches/distutils-revamp/ccompiler.py
===================================================================
--- branches/distutils-revamp/ccompiler.py	2006-07-06 17:12:43 UTC (rev 2760)
+++ branches/distutils-revamp/ccompiler.py	2006-07-06 17:15:36 UTC (rev 2761)
@@ -315,7 +315,8 @@
     try:
         __import__ (module_name)
     except ImportError, msg:
-        print msg,'in numpy.distutils, trying from distutils..'
+        log.info('%s in numpy.distutils; trying from distutils',
+                 str(msg))
         module_name = module_name[6:]
         try:
             __import__(module_name)

Modified: branches/distutils-revamp/command/config_compiler.py
===================================================================
--- branches/distutils-revamp/command/config_compiler.py	2006-07-06 17:12:43 UTC (rev 2760)
+++ branches/distutils-revamp/command/config_compiler.py	2006-07-06 17:15:36 UTC (rev 2761)
@@ -7,14 +7,12 @@
 
 def show_fortran_compilers(_cache=[]):
     # Using cache to prevent infinite recursion
-    if _cache: return
+    if _cache:
+        return
     _cache.append(1)
-    
     from numpy.distutils.fcompiler import show_fcompilers
-    import distutils.core
-    dist = distutils.core._setup_distribution
-    show_fcompilers(dist)
-    return
+    from numpy.distutils.core import get_distribution
+    show_fcompilers(get_distribution())
 
 class config_fc(Command):
     """ Distutils command to hold user specified options

Modified: branches/distutils-revamp/fcompiler/__init__.py
===================================================================
--- branches/distutils-revamp/fcompiler/__init__.py	2006-07-06 17:12:43 UTC (rev 2760)
+++ branches/distutils-revamp/fcompiler/__init__.py	2006-07-06 17:15:36 UTC (rev 2761)
@@ -20,6 +20,7 @@
 from numpy.distutils.ccompiler import CCompiler, gen_lib_options
 from numpy.distutils import log
 from numpy.distutils.command.config_compiler import config_fc
+from numpy.distutils.core import get_distribution
 from numpy.distutils.misc_util import is_string, is_sequence
 from distutils.spawn import _nt_quote_args
 
@@ -229,7 +230,7 @@
 
     ## Public methods:
 
-    def customize(self, dist=None):
+    def customize(self, dist):
         """ Customize Fortran compiler.
 
         This method gets Fortran compiler specific information from
@@ -245,12 +246,12 @@
         if dist is None:
             # These hooks are for testing only!
             dist = Distribution()
-            dist.script_name = os.path.basename(sys.argv[0])
-            dist.script_args = ['config_fc'] + sys.argv[1:]
-            dist.cmdclass['config_fc'] = config_fc
-            dist.parse_config_files()
-            dist.parse_command_line()
-        if isinstance(dist,Distribution):
+#            dist.script_name = os.path.basename(sys.argv[0])
+#            dist.script_args = ['config_fc'] + sys.argv[1:]
+#            dist.cmdclass['config_fc'] = config_fc
+#            dist.parse_config_files()
+#            dist.parse_command_line()
+        if isinstance(dist, Distribution):
             conf = dist.get_option_dict('config_fc')
         else:
             assert isinstance(dist,dict)
@@ -263,7 +264,6 @@
             noarch = conf.get('noarch',[None,noopt])[1]
         debug = conf.get('debug',[None,0])[1]
 
-
         f77 = self.__get_cmd('compiler_f77','F77',(conf,'f77exec'))
         f90 = self.__get_cmd('compiler_f90','F90',(conf,'f90exec'))
         # Temporarily setting f77,f90 compilers so that
@@ -590,16 +590,17 @@
     )
 
 def _find_existing_fcompiler(compilers, osname=None, platform=None):
+    dist = get_distribution(always=True)
     for compiler in compilers:
         v = None
         try:
             c = new_fcompiler(plat=platform, compiler=compiler)
-            c.customize()
+            c.customize(dist)
             v = c.get_version()
         except DistutilsModuleError:
             pass
-        except Exception, msg:
-            log.warn(msg)
+        except Exception, e:
+            log.warn(str(e))
         if v is not None:
             return compiler
     return

Modified: branches/distutils-revamp/misc_util.py
===================================================================
--- branches/distutils-revamp/misc_util.py	2006-07-06 17:12:43 UTC (rev 2760)
+++ branches/distutils-revamp/misc_util.py	2006-07-06 17:15:36 UTC (rev 2761)
@@ -606,18 +606,8 @@
                 raise ValueError,'Unknown option: '+key
 
     def get_distribution(self):
-        import distutils.core
-        dist = distutils.core._setup_distribution
-        # XXX Hack to get numpy installable with easy_install.
-        # The problem is easy_install runs it's own setup(), which
-        # sets up distutils.core._setup_distribution. However,
-        # when our setup() runs, that gets overwritten and lost.
-        # We can't use isinstance, as the DistributionWithoutHelpCommands
-        # class is local to a function in setuptools.command.easy_install
-        if dist is not None and \
-                repr(dist).find('DistributionWithoutHelpCommands') != -1:
-            return None
-        return dist
+        from numpy.distutils.core import get_distribution
+        return get_distribution()
 
     def _wildcard_get_subpackage(self, subpackage_name,
                                  parent_name,




More information about the Numpy-svn mailing list