def build_libraries(self, libraries):
if libraries:
winpty_commit_hash = check_output([cmd, '/c', r'cd winpty\src\shared && GetCommitHash.bat']).decode()
winpty_gen_include = check_output([cmd, '/c', r'cd winpty\src\shared && UpdateGenVersion.bat {}'.format(winpty_commit_hash)]).decode()
if winpty_gen_include[-2:] == '\r\n':
winpty_gen_include = winpty_gen_include[:-2]
for lib in libraries:
lib[1]['include_dirs'] += ['winpty/src/{}'.format(winpty_gen_include)]
for (lib_name, build_info) in libraries:
sources = build_info.get('sources')
sources = list(sources)
# First, compile the source code to object files in the library
# directory. (This should probably change to putting object
# files in a temporary build directory.)
macros = build_info.get('macros')
include_dirs = build_info.get('include_dirs')
objects = self.compiler.compile(sources,
output_dir=self.build_temp,
macros=macros,
include_dirs=include_dirs,
debug=self.debug)
self.compiler.link_executable(objects, lib_name,
output_dir=self.build_clib,
debug=self.debug,
libraries=build_info.get('libraries'))
评论列表
文章目录