annotate DEPENDENCIES/mingw32/Python27/Lib/site-packages/numpy/distutils/command/config_compiler.py @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents 2a2c65a20a8b
children
rev   line source
Chris@87 1 from __future__ import division, absolute_import, print_function
Chris@87 2
Chris@87 3 from distutils.core import Command
Chris@87 4 from numpy.distutils import log
Chris@87 5
Chris@87 6 #XXX: Linker flags
Chris@87 7
Chris@87 8 def show_fortran_compilers(_cache=[]):
Chris@87 9 # Using cache to prevent infinite recursion
Chris@87 10 if _cache: return
Chris@87 11 _cache.append(1)
Chris@87 12 from numpy.distutils.fcompiler import show_fcompilers
Chris@87 13 import distutils.core
Chris@87 14 dist = distutils.core._setup_distribution
Chris@87 15 show_fcompilers(dist)
Chris@87 16
Chris@87 17 class config_fc(Command):
Chris@87 18 """ Distutils command to hold user specified options
Chris@87 19 to Fortran compilers.
Chris@87 20
Chris@87 21 config_fc command is used by the FCompiler.customize() method.
Chris@87 22 """
Chris@87 23
Chris@87 24 description = "specify Fortran 77/Fortran 90 compiler information"
Chris@87 25
Chris@87 26 user_options = [
Chris@87 27 ('fcompiler=', None, "specify Fortran compiler type"),
Chris@87 28 ('f77exec=', None, "specify F77 compiler command"),
Chris@87 29 ('f90exec=', None, "specify F90 compiler command"),
Chris@87 30 ('f77flags=', None, "specify F77 compiler flags"),
Chris@87 31 ('f90flags=', None, "specify F90 compiler flags"),
Chris@87 32 ('opt=', None, "specify optimization flags"),
Chris@87 33 ('arch=', None, "specify architecture specific optimization flags"),
Chris@87 34 ('debug', 'g', "compile with debugging information"),
Chris@87 35 ('noopt', None, "compile without optimization"),
Chris@87 36 ('noarch', None, "compile without arch-dependent optimization"),
Chris@87 37 ]
Chris@87 38
Chris@87 39 help_options = [
Chris@87 40 ('help-fcompiler', None, "list available Fortran compilers",
Chris@87 41 show_fortran_compilers),
Chris@87 42 ]
Chris@87 43
Chris@87 44 boolean_options = ['debug', 'noopt', 'noarch']
Chris@87 45
Chris@87 46 def initialize_options(self):
Chris@87 47 self.fcompiler = None
Chris@87 48 self.f77exec = None
Chris@87 49 self.f90exec = None
Chris@87 50 self.f77flags = None
Chris@87 51 self.f90flags = None
Chris@87 52 self.opt = None
Chris@87 53 self.arch = None
Chris@87 54 self.debug = None
Chris@87 55 self.noopt = None
Chris@87 56 self.noarch = None
Chris@87 57
Chris@87 58 def finalize_options(self):
Chris@87 59 log.info('unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options')
Chris@87 60 build_clib = self.get_finalized_command('build_clib')
Chris@87 61 build_ext = self.get_finalized_command('build_ext')
Chris@87 62 config = self.get_finalized_command('config')
Chris@87 63 build = self.get_finalized_command('build')
Chris@87 64 cmd_list = [self, config, build_clib, build_ext, build]
Chris@87 65 for a in ['fcompiler']:
Chris@87 66 l = []
Chris@87 67 for c in cmd_list:
Chris@87 68 v = getattr(c, a)
Chris@87 69 if v is not None:
Chris@87 70 if not isinstance(v, str): v = v.compiler_type
Chris@87 71 if v not in l: l.append(v)
Chris@87 72 if not l: v1 = None
Chris@87 73 else: v1 = l[0]
Chris@87 74 if len(l)>1:
Chris@87 75 log.warn(' commands have different --%s options: %s'\
Chris@87 76 ', using first in list as default' % (a, l))
Chris@87 77 if v1:
Chris@87 78 for c in cmd_list:
Chris@87 79 if getattr(c, a) is None: setattr(c, a, v1)
Chris@87 80
Chris@87 81 def run(self):
Chris@87 82 # Do nothing.
Chris@87 83 return
Chris@87 84
Chris@87 85 class config_cc(Command):
Chris@87 86 """ Distutils command to hold user specified options
Chris@87 87 to C/C++ compilers.
Chris@87 88 """
Chris@87 89
Chris@87 90 description = "specify C/C++ compiler information"
Chris@87 91
Chris@87 92 user_options = [
Chris@87 93 ('compiler=', None, "specify C/C++ compiler type"),
Chris@87 94 ]
Chris@87 95
Chris@87 96 def initialize_options(self):
Chris@87 97 self.compiler = None
Chris@87 98
Chris@87 99 def finalize_options(self):
Chris@87 100 log.info('unifing config_cc, config, build_clib, build_ext, build commands --compiler options')
Chris@87 101 build_clib = self.get_finalized_command('build_clib')
Chris@87 102 build_ext = self.get_finalized_command('build_ext')
Chris@87 103 config = self.get_finalized_command('config')
Chris@87 104 build = self.get_finalized_command('build')
Chris@87 105 cmd_list = [self, config, build_clib, build_ext, build]
Chris@87 106 for a in ['compiler']:
Chris@87 107 l = []
Chris@87 108 for c in cmd_list:
Chris@87 109 v = getattr(c, a)
Chris@87 110 if v is not None:
Chris@87 111 if not isinstance(v, str): v = v.compiler_type
Chris@87 112 if v not in l: l.append(v)
Chris@87 113 if not l: v1 = None
Chris@87 114 else: v1 = l[0]
Chris@87 115 if len(l)>1:
Chris@87 116 log.warn(' commands have different --%s options: %s'\
Chris@87 117 ', using first in list as default' % (a, l))
Chris@87 118 if v1:
Chris@87 119 for c in cmd_list:
Chris@87 120 if getattr(c, a) is None: setattr(c, a, v1)
Chris@87 121 return
Chris@87 122
Chris@87 123 def run(self):
Chris@87 124 # Do nothing.
Chris@87 125 return