Chris@87
|
1 from __future__ import division, absolute_import, print_function
|
Chris@87
|
2
|
Chris@87
|
3 import os
|
Chris@87
|
4 import sys
|
Chris@87
|
5 from distutils.command.build import build as old_build
|
Chris@87
|
6 from distutils.util import get_platform
|
Chris@87
|
7 from numpy.distutils.command.config_compiler import show_fortran_compilers
|
Chris@87
|
8
|
Chris@87
|
9 class build(old_build):
|
Chris@87
|
10
|
Chris@87
|
11 sub_commands = [('config_cc', lambda *args: True),
|
Chris@87
|
12 ('config_fc', lambda *args: True),
|
Chris@87
|
13 ('build_src', old_build.has_ext_modules),
|
Chris@87
|
14 ] + old_build.sub_commands
|
Chris@87
|
15
|
Chris@87
|
16 user_options = old_build.user_options + [
|
Chris@87
|
17 ('fcompiler=', None,
|
Chris@87
|
18 "specify the Fortran compiler type"),
|
Chris@87
|
19 ]
|
Chris@87
|
20
|
Chris@87
|
21 help_options = old_build.help_options + [
|
Chris@87
|
22 ('help-fcompiler', None, "list available Fortran compilers",
|
Chris@87
|
23 show_fortran_compilers),
|
Chris@87
|
24 ]
|
Chris@87
|
25
|
Chris@87
|
26 def initialize_options(self):
|
Chris@87
|
27 old_build.initialize_options(self)
|
Chris@87
|
28 self.fcompiler = None
|
Chris@87
|
29
|
Chris@87
|
30 def finalize_options(self):
|
Chris@87
|
31 build_scripts = self.build_scripts
|
Chris@87
|
32 old_build.finalize_options(self)
|
Chris@87
|
33 plat_specifier = ".%s-%s" % (get_platform(), sys.version[0:3])
|
Chris@87
|
34 if build_scripts is None:
|
Chris@87
|
35 self.build_scripts = os.path.join(self.build_base,
|
Chris@87
|
36 'scripts' + plat_specifier)
|
Chris@87
|
37
|
Chris@87
|
38 def run(self):
|
Chris@87
|
39 old_build.run(self)
|