*: Switch to python

This commit is contained in:
2026-05-26 03:06:26 +02:00
parent 2e6704516a
commit b6e18c474e
62 changed files with 15663 additions and 3441 deletions
+85
View File
@@ -0,0 +1,85 @@
def meson_cross_file(self):
cross = self.build_dir / "meson-cross.ini"
self.write_text(
cross,
f"""\
[binaries]
c = '{self.triple}-gcc'
cpp = '{self.triple}-g++'
ar = '{self.triple}-gcc-ar'
nm = '{self.triple}-nm'
objcopy = '{self.triple}-objcopy'
ranlib = '{self.triple}-ranlib'
strip = '{self.triple}-strip'
pkg-config = '{self.triple}-pkg-config'
[host_machine]
system = 'linux'
cpu_family = '{self.arch}'
cpu = '{self.arch}'
endian = 'little'
""",
)
return cross
def meson_configure(
self, extra_args=(), extra_env=None, *, source_dir=None, flags=True, host=False
):
p = self.options
env = {}
if flags:
env.update(
{
"CFLAGS": p.get("cflags", ""),
"CXXFLAGS": p.get("cxxflags", ""),
"LDFLAGS": p.get("ldflags", ""),
}
)
if extra_env:
env.update(extra_env)
cross_args = [] if host else ["--cross-file", meson_cross_file(self)]
self.run(
"meson",
"setup",
source_dir or self.source_dir,
*cross_args,
f"--prefix={p.get('prefix', '/usr')}",
f"--sysconfdir={p.get('sysconfdir', '/etc')}",
f"--localstatedir={p.get('localstatedir', '/var')}",
"--libdir=lib",
"--sbindir=bin",
"--bindir=bin",
"--datadir=share",
"--buildtype=release",
"-Ddefault_library=shared",
*extra_args,
env=env,
)
def meson_build(self, extra_args=()):
self.run("meson", "compile", f"-j{self.jobs}", *extra_args)
def meson_install(self, extra_args=()):
self.run(
"meson",
"install",
"--no-rebuild",
*extra_args,
env={"DESTDIR": str(self.dest_dir)},
)
def meson(*, configure_args=(), configure_env=None, build_args=(), install_args=()):
def _configure(self):
meson_configure(self, configure_args, configure_env)
def _build(self):
meson_build(self, build_args)
def _install(self):
meson_install(self, install_args)
return _configure, _build, _install