summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--numpy/distutils/command/scons.py20
-rw-r--r--numpy/distutils/misc_util.py24
-rw-r--r--numpy/distutils/numpy_distribution.py15
3 files changed, 25 insertions, 34 deletions
diff --git a/numpy/distutils/command/scons.py b/numpy/distutils/command/scons.py
index 386397f87..f4c529f02 100644
--- a/numpy/distutils/command/scons.py
+++ b/numpy/distutils/command/scons.py
@@ -422,20 +422,22 @@ class scons(old_build_ext):
def finalize_options(self):
old_build_ext.finalize_options(self)
+
+ self.sconscripts = []
+ self.pre_hooks = []
+ self.post_hooks = []
+ self.pkg_names = []
+
if self.distribution.has_scons_scripts():
- self.sconscripts = self.distribution.get_scons_scripts()
- self.pre_hooks = self.distribution.get_scons_pre_hooks()
- self.post_hooks = self.distribution.get_scons_post_hooks()
- self.pkg_names = self.distribution.get_scons_parent_names()
+ for i in self.distribution.scons_data:
+ self.sconscripts.append(i.scons_path)
+ self.pre_hooks.append(i.pre_hook)
+ self.post_hooks.append(i.post_hook)
+ self.pkg_names.append(i.parent_name)
# This crap is needed to get the build_clib
# directory
build_clib_cmd = get_cmd("build_clib").get_finalized_command("build_clib")
self.build_clib = build_clib_cmd.build_clib
- else:
- self.sconscripts = []
- self.pre_hooks = []
- self.post_hooks = []
- self.pkg_names = []
if not self.cxxcompiler:
self.cxxcompiler = self.compiler
diff --git a/numpy/distutils/misc_util.py b/numpy/distutils/misc_util.py
index b44e7db30..4f296b873 100644
--- a/numpy/distutils/misc_util.py
+++ b/numpy/distutils/misc_util.py
@@ -590,6 +590,15 @@ def get_frame(level=0):
frame = frame.f_back
return frame
+class SconsInfo(object):
+ def __init__(self, scons_path, parent_name, pre_hook,
+ post_hook, source_files):
+ self.scons_path = scons_path
+ self.parent_name = parent_name
+ self.pre_hook = pre_hook
+ self.post_hook = post_hook
+ self.source_files = source_files
+
######################
class Configuration(object):
@@ -1542,23 +1551,18 @@ class Configuration(object):
if source_files:
full_source_files.extend([self.paths(i)[0] for i in source_files])
+ scons_info = SconsInfo(fullsconsname, parent_name,
+ pre_hook, post_hook,
+ full_source_files)
if dist is not None:
- dist.scons_data.append((fullsconsname,
- pre_hook,
- post_hook,
- full_source_files,
- parent_name))
+ dist.scons_data.append(scons_info)
self.warn('distutils distribution has been initialized,'\
' it may be too late to add a subpackage '+ subpackage_name)
# XXX: we add a fake extension, to correctly initialize some
# options in distutils command.
dist.add_extension('', sources = [])
else:
- self.scons_data.append((fullsconsname,
- pre_hook,
- post_hook,
- full_source_files,
- parent_name))
+ self.scons_data.append(scons_info)
# XXX: we add a fake extension, to correctly initialize some
# options in distutils command.
self.add_extension('', sources = [])
diff --git a/numpy/distutils/numpy_distribution.py b/numpy/distutils/numpy_distribution.py
index 4424e34cd..ea8182659 100644
--- a/numpy/distutils/numpy_distribution.py
+++ b/numpy/distutils/numpy_distribution.py
@@ -15,18 +15,3 @@ class NumpyDistribution(Distribution):
def has_scons_scripts(self):
return bool(self.scons_data)
-
- def get_scons_scripts(self):
- return [i[0] for i in self.scons_data]
-
- def get_scons_pre_hooks(self):
- return [i[1] for i in self.scons_data]
-
- def get_scons_post_hooks(self):
- return [i[2] for i in self.scons_data]
-
- def get_scons_sources(self):
- return [i[3] for i in self.scons_data]
-
- def get_scons_parent_names(self):
- return [i[4] for i in self.scons_data]