Chris@87: from __future__ import division, absolute_import, print_function Chris@87: Chris@87: import os Chris@87: import sys Chris@87: from distutils.command.build import build as old_build Chris@87: from distutils.util import get_platform Chris@87: from numpy.distutils.command.config_compiler import show_fortran_compilers Chris@87: Chris@87: class build(old_build): Chris@87: Chris@87: sub_commands = [('config_cc', lambda *args: True), Chris@87: ('config_fc', lambda *args: True), Chris@87: ('build_src', old_build.has_ext_modules), Chris@87: ] + old_build.sub_commands Chris@87: Chris@87: user_options = old_build.user_options + [ Chris@87: ('fcompiler=', None, Chris@87: "specify the Fortran compiler type"), Chris@87: ] Chris@87: Chris@87: help_options = old_build.help_options + [ Chris@87: ('help-fcompiler', None, "list available Fortran compilers", Chris@87: show_fortran_compilers), Chris@87: ] Chris@87: Chris@87: def initialize_options(self): Chris@87: old_build.initialize_options(self) Chris@87: self.fcompiler = None Chris@87: Chris@87: def finalize_options(self): Chris@87: build_scripts = self.build_scripts Chris@87: old_build.finalize_options(self) Chris@87: plat_specifier = ".%s-%s" % (get_platform(), sys.version[0:3]) Chris@87: if build_scripts is None: Chris@87: self.build_scripts = os.path.join(self.build_base, Chris@87: 'scripts' + plat_specifier) Chris@87: Chris@87: def run(self): Chris@87: old_build.run(self)