def build_libraries(self, libraries: List[Library]): log.debug("running AmiciBuildCLib.build_libraries") no_clibs = 'develop' in self.distribution.command_obj \ and self.get_finalized_command('develop').no_clibs no_clibs |= 'install' in self.distribution.command_obj \ and self.get_finalized_command('install').no_clibs if no_clibs: return # Override for parallel compilation import distutils.ccompiler distutils.ccompiler.CCompiler.compile = compile_parallel # Work-around for compiler-specific build options set_compiler_specific_library_options(libraries, self.compiler.compiler_type) # Monkey-patch setuptools, to force recompilation of library sources # --force does not work as expected # need full import here, not module-level imported build_clib import setuptools.command.build_clib # the patched function may return anything but `([], [])` to trigger # recompilation setuptools.command.build_clib.newer_pairwise_group = lambda *_: None build_clib.build_libraries(self, libraries)
def build_libraries(self, libraries): no_clibs = self.get_finalized_command('develop').no_clibs no_clibs |= self.get_finalized_command('install').no_clibs if no_clibs: return # Override for parallel compilation import distutils.ccompiler distutils.ccompiler.CCompiler.compile = compile_parallel build_clib.build_libraries(self, libraries)
def build_libraries(self, libraries): build_ext = self.distribution.get_command_obj('build_ext') njobs = parse_njobs(self.njobs, 'compiling', 'install') cflags = fix_compiler(self.compiler, njobs) # Add the appropriate extra flags for that compiler. for (lib_name, build_info) in libraries: build_info['cflags'] = build_info.get('cflags', []) + cflags # Now run the normal build function. build_clib.build_libraries(self, libraries)
def build_libraries(self, libraries): build_ext = self.distribution.get_command_obj('build_ext') njobs = parse_njobs(self.njobs, 'compiling', 'install') cflags = fix_compiler(self.compiler, njobs) # Add the appropriate extra flags for that compiler. for (lib_name, build_info) in libraries: build_info['cflags'] = build_info.get('cflags',[]) + cflags # Now run the normal build function. build_clib.build_libraries(self, libraries)
def build_libraries(self, libraries): # bug in distutils: flag not valid for c++ flag = '-Wstrict-prototypes' if (hasattr(self.compiler, 'compiler_so') and flag in self.compiler.compiler_so): self.compiler.compiler_so.remove(flag) compiler_type = self.compiler.compiler_type compile_args = AD3_CFLAGS.get(compiler_type, []) for (lib_name, build_info) in libraries: build_info['cflags'] = compile_args build_clib.build_libraries(self, libraries)
def build_libraries(self, libraries): # bug in distutils: flag not valid for c++ flag = '-Wstrict-prototypes' if (hasattr(self.compiler, 'compiler_so') and flag in self.compiler.compiler_so): self.compiler.compiler_so.remove(flag) compiler_type = self.compiler.compiler_type compile_args = AD3_CFLAGS.get(compiler_type, []) for (lib_name, build_info) in libraries: build_info['cflags'] = compile_args build_clib.build_libraries(self, libraries)
def build_libraries(self, libraries: List[Library]): log.debug("running AmiciBuildCLib.build_libraries") no_clibs = 'develop' in self.distribution.command_obj \ and self.get_finalized_command('develop').no_clibs no_clibs |= 'install' in self.distribution.command_obj \ and self.get_finalized_command('install').no_clibs if no_clibs: return # Override for parallel compilation import distutils.ccompiler distutils.ccompiler.CCompiler.compile = compile_parallel # Work-around for compiler-specific build options set_compiler_specific_library_options(libraries, self.compiler.compiler_type) build_clib.build_libraries(self, libraries)