Write cross platform build scripts with the power of Python!
To be used in the boa
project.
Currently supports CMake
, Autotools
, Meson
and Make
.
More coming soon!
from cmake import CMake
class Recipe(CMake):
cmake_configure_args = {
'BUILD_SHARED_LIBS': not features.static,
'REPROC++': True
}
def pre_configure(self):
if (self.workdir / "CMakeCache.txt").exists():
(self.workdir / "CMakeCache.txt").unlink()
If autoconf
and gnuconfig
is added, automatically calls autoreconf
and copies new config.guess
files
from autotools import Autotools
class Recipe(Autotools):
def get_configure_args(self):
configure_args = []
if features.static:
configure_args += ['--enable-static', '--disable-shared']
else:
configure_args += ['--disable-static', '--enable-shared']
if target_platform.startswith('osx'):
configure_args += ['--with-iconv']
else:
configure_args += ['--without-iconv']
if features.zstd:
self.ldflags += ['-pthread']
configure_args += [
'--without-cng',
'--without-nettle',
'--without-expat',
]
return configure_args