python/build/toolchain.py: add AnyToolchain for type hints

This commit is contained in:
Max Kellermann
2023-09-26 12:47:44 +02:00
parent 4669f7e2b9
commit 5f253e66f6
9 changed files with 39 additions and 27 deletions

@ -4,8 +4,9 @@ import platform
from typing import Optional
from build.project import Project
from .toolchain import AnyToolchain
def make_cross_file(toolchain) -> str:
def make_cross_file(toolchain: AnyToolchain) -> str:
if toolchain.is_windows:
system = 'windows'
windres = "windres = '%s'" % toolchain.windres
@ -81,7 +82,7 @@ endian = '{endian}'
""")
return path
def configure(toolchain, src: str, build: str, args: list[str]=[]) -> None:
def configure(toolchain: AnyToolchain, src: str, build: str, args: list[str]=[]) -> None:
cross_file = make_cross_file(toolchain)
configure = [
'meson', 'setup',
@ -110,13 +111,13 @@ class MesonProject(Project):
Project.__init__(self, url, md5, installed, **kwargs)
self.configure_args = configure_args
def configure(self, toolchain) -> str:
def configure(self, toolchain: AnyToolchain) -> str:
src = self.unpack(toolchain)
build = self.make_build_path(toolchain)
configure(toolchain, src, build, self.configure_args)
return build
def _build(self, toolchain) -> None:
def _build(self, toolchain: AnyToolchain) -> None:
build = self.configure(toolchain)
subprocess.check_call(['ninja', '-v', 'install'],
cwd=build, env=toolchain.env)