| 80 | self.verbose_cfg = None |
| 81 | |
| 82 | def finalize_options(self): |
| 83 | self.set_undefined_options('build', |
| 84 | ('build_base', 'build_base'), |
| 85 | ('build_lib', 'build_lib'), |
| 86 | ('force', 'force')) |
| 87 | if self.package is None: |
| 88 | self.package = self.distribution.ext_package |
| 89 | self.extensions = self.distribution.ext_modules |
| 90 | self.libraries = self.distribution.libraries or [] |
| 91 | self.py_modules = self.distribution.py_modules or [] |
| 92 | self.data_files = self.distribution.data_files or [] |
| 93 | |
| 94 | if self.build_src is None: |
| 95 | plat_specifier = ".{}-{}.{}".format(get_platform(), *sys.version_info[:2]) |
| 96 | self.build_src = os.path.join(self.build_base, 'src'+plat_specifier) |
| 97 | |
| 98 | # py_modules_dict is used in build_py.find_package_modules |
| 99 | self.py_modules_dict = {} |
| 100 | |
| 101 | if self.f2pyflags: |
| 102 | if self.f2py_opts: |
| 103 | log.warn('ignoring --f2pyflags as --f2py-opts already used') |
| 104 | else: |
| 105 | self.f2py_opts = self.f2pyflags |
| 106 | self.f2pyflags = None |
| 107 | if self.f2py_opts is None: |
| 108 | self.f2py_opts = [] |
| 109 | else: |
| 110 | self.f2py_opts = shlex.split(self.f2py_opts) |
| 111 | |
| 112 | if self.swigflags: |
| 113 | if self.swig_opts: |
| 114 | log.warn('ignoring --swigflags as --swig-opts already used') |
| 115 | else: |
| 116 | self.swig_opts = self.swigflags |
| 117 | self.swigflags = None |
| 118 | |
| 119 | if self.swig_opts is None: |
| 120 | self.swig_opts = [] |
| 121 | else: |
| 122 | self.swig_opts = shlex.split(self.swig_opts) |
| 123 | |
| 124 | # use options from build_ext command |
| 125 | build_ext = self.get_finalized_command('build_ext') |
| 126 | if self.inplace is None: |
| 127 | self.inplace = build_ext.inplace |
| 128 | if self.swig_cpp is None: |
| 129 | self.swig_cpp = build_ext.swig_cpp |
| 130 | for c in ['swig', 'swig_opt']: |
| 131 | o = '--'+c.replace('_', '-') |
| 132 | v = getattr(build_ext, c, None) |
| 133 | if v: |
| 134 | if getattr(self, c): |
| 135 | log.warn('both build_src and build_ext define %s option' % (o)) |
| 136 | else: |
| 137 | log.info('using "%s=%s" option from build_ext command' % (o, v)) |
| 138 | setattr(self, c, v) |
| 139 | |