def finalize_options(self): _build_ext.finalize_options(self) self.extensions = self.extensions or [] self.check_extensions_list(self.extensions) self.shlibs = [ext for ext in self.extensions if isinstance(ext, Library)] if self.shlibs: self.setup_shlib_compiler() for ext in self.extensions: ext._full_name = self.get_ext_fullname(ext.name) for ext in self.extensions: fullname = ext._full_name self.ext_map[fullname] = ext # distutils 3.1 will also ask for module names # XXX what to do with conflicts? self.ext_map[fullname.split(".")[-1]] = ext ltd = self.shlibs and self.links_to_dynamic(ext) or False ns = ltd and use_stubs and not isinstance(ext, Library) ext._links_to_dynamic = ltd ext._needs_stub = ns filename = ext._file_name = self.get_ext_filename(fullname) libdir = os.path.dirname(os.path.join(self.build_lib, filename)) if ltd and libdir not in ext.library_dirs: ext.library_dirs.append(libdir) if ltd and use_stubs and os.curdir not in ext.runtime_library_dirs: ext.runtime_library_dirs.append(os.curdir)
def finalize_options(self): _build_ext.finalize_options(self) self.extensions = self.extensions or [] self.check_extensions_list(self.extensions) self.shlibs = [ext for ext in self.extensions if isinstance(ext, Library)] if self.shlibs: self.setup_shlib_compiler() for ext in self.extensions: ext._full_name = self.get_ext_fullname(ext.name) for ext in self.extensions: fullname = ext._full_name self.ext_map[fullname] = ext # distutils 3.1 will also ask for module names # XXX what to do with conflicts? self.ext_map[fullname.split('.')[-1]] = ext ltd = self.shlibs and self.links_to_dynamic(ext) or False ns = ltd and use_stubs and not isinstance(ext, Library) ext._links_to_dynamic = ltd ext._needs_stub = ns filename = ext._file_name = self.get_ext_filename(fullname) libdir = os.path.dirname(os.path.join(self.build_lib, filename)) if ltd and libdir not in ext.library_dirs: ext.library_dirs.append(libdir) if ltd and use_stubs and os.curdir not in ext.runtime_library_dirs: ext.runtime_library_dirs.append(os.curdir)
def finalize_options(self, *args, **kwargs): build_ext.finalize_options(self, *args, **kwargs) self.verbose = True ## Grab the OpenMP flags openmpFlags, openmpLibs = get_openmp() ## Grab the FFTW flags if self.with_fftw is not None: fftwFlags = ['-I%s/include' % self.with_fftw,] fftwLibs = ['-L%s/lib' % self.with_fftw, '-lfftw3f'] else: fftwFlags, fftwLibs = get_fftw() ## Update the extensions with the additional compilier/linker flags for ext in self.extensions: ### Compiler flags for cflags in (openmpFlags, fftwFlags): try: ext.extra_compile_args.extend( cflags ) except TypeError: ext.extra_compile_args = cflags ### Linker flags for ldflags in (openmpLibs, fftwLibs): try: ext.extra_link_args.extend( ldflags ) except TypeError: ext.extra_link_args = ldflags ## HACK: Update the log verbosity - for some reason this gets set to ## WARN when I replace build_ext log.set_threshold(min([log.INFO, log._global_log.threshold]))
def finalize_options(self): _build_ext.finalize_options(self) # Prevent numpy from thinking it is still in its setup process: __builtins__.__NUMPY_SETUP__ = False import numpy self.include_dirs.append(numpy.get_include())