python/build/zlib.py: use autotools to be more portable

Right now, zlib is only built for Windows, but we may eventually
changed that, so don't hard-code `win32/Makefile.gcc`.
This commit is contained in:
Max Kellermann 2023-03-06 13:14:24 +01:00
parent b09a54b2c2
commit 90eaa87a4d
1 changed files with 24 additions and 14 deletions

View File

@ -1,22 +1,32 @@
import os.path, subprocess import subprocess
from build.project import Project from build.makeproject import MakeProject
class ZlibProject(Project): class ZlibProject(MakeProject):
def __init__(self, url, md5, installed, def __init__(self, url, md5, installed,
**kwargs): **kwargs):
Project.__init__(self, url, md5, installed, **kwargs) MakeProject.__init__(self, url, md5, installed, **kwargs)
def get_make_args(self, toolchain):
return MakeProject.get_make_args(self, toolchain) + [
'CC=' + toolchain.cc + ' ' + toolchain.cppflags + ' ' + toolchain.cflags,
'CPP=' + toolchain.cc + ' -E ' + toolchain.cppflags,
'AR=' + toolchain.ar,
'ARFLAGS=' + toolchain.arflags,
'RANLIB=' + toolchain.ranlib,
'LDSHARED=' + toolchain.cc + ' -shared',
'libz.a'
]
def get_make_install_args(self, toolchain):
return [
'RANLIB=' + toolchain.ranlib,
self.install_target
]
def _build(self, toolchain): def _build(self, toolchain):
src = self.unpack(toolchain, out_of_tree=False) src = self.unpack(toolchain, out_of_tree=False)
subprocess.check_call(['/usr/bin/make', '--quiet', subprocess.check_call(['./configure', '--prefix=' + toolchain.install_prefix, '--static'],
'-f', 'win32/Makefile.gcc', cwd=src, env=toolchain.env)
'PREFIX=' + toolchain.arch + '-', self.build_make(toolchain, src)
'-j12',
'install',
'INCLUDE_PATH='+ os.path.join(toolchain.install_prefix, 'include'),
'LIBRARY_PATH=' + os.path.join(toolchain.install_prefix, 'lib'),
'BINARY_PATH=' + os.path.join(toolchain.install_prefix, 'bin'),
],
cwd=src, env=toolchain.env)