diff options
-rw-r--r-- | numpy/distutils/command/scons.py | 20 | ||||
-rw-r--r-- | numpy/distutils/misc_util.py | 24 | ||||
-rw-r--r-- | numpy/distutils/numpy_distribution.py | 15 |
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] |