From 6782a92fd1a7625ee48f6b2946a7d7149ab28a77 Mon Sep 17 00:00:00 2001 From: cookedm Date: Thu, 6 Jul 2006 16:57:20 +0000 Subject: Branch numpy.distutils to distutils-revamp --- command/build_scripts.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 command/build_scripts.py (limited to 'command/build_scripts.py') diff --git a/command/build_scripts.py b/command/build_scripts.py new file mode 100644 index 000000000..1217a2c1f --- /dev/null +++ b/command/build_scripts.py @@ -0,0 +1,45 @@ +""" Modified version of build_scripts that handles building scripts from functions. +""" + +from distutils.command.build_scripts import build_scripts as old_build_scripts +from numpy.distutils import log +from numpy.distutils.misc_util import is_string + +class build_scripts(old_build_scripts): + + def generate_scripts(self, scripts): + new_scripts = [] + func_scripts = [] + for script in scripts: + if is_string(script): + new_scripts.append(script) + else: + func_scripts.append(script) + if not func_scripts: + return new_scripts + + build_dir = self.build_dir + self.mkpath(build_dir) + for func in func_scripts: + script = func(build_dir) + if not script: + continue + if is_string(script): + log.info(" adding '%s' to scripts" % (script,)) + new_scripts.append(script) + else: + [log.info(" adding '%s' to scripts" % (s,)) for s in script] + new_scripts.extend(list(script)) + return new_scripts + + def run (self): + if not self.scripts: + return + + self.scripts = self.generate_scripts(self.scripts) + + return old_build_scripts.run(self) + + def get_source_files(self): + from numpy.distutils.misc_util import get_script_files + return get_script_files(self.scripts) -- cgit v1.2.1