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:
parent
b09a54b2c2
commit
90eaa87a4d
|
@ -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)
|
|
||||||
|
|
Loading…
Reference in New Issue