android
doc
m4
python
build
autotools.py
boost.py
dirs.py
download.py
ffmpeg.py
libs.py
project.py
tar.py
verify.py
zlib.py
scripts
src
systemd
test
win32
.gitignore
AUTHORS
COPYING
INSTALL
Makefile.am
NEWS
README.md
autogen.sh
configure.ac
mpd.svg
valgrind.suppressions

Fixes various static library linker failures ("bad extended name entry at header"), because the wrong "ranlib" was used.
47 lines
1.8 KiB
Python
47 lines
1.8 KiB
Python
import os.path, subprocess
|
|
|
|
from build.project import Project
|
|
|
|
class AutotoolsProject(Project):
|
|
def __init__(self, url, md5, installed, configure_args=[],
|
|
autogen=False,
|
|
cppflags='',
|
|
**kwargs):
|
|
Project.__init__(self, url, md5, installed, **kwargs)
|
|
self.configure_args = configure_args
|
|
self.autogen = autogen
|
|
self.cppflags = cppflags
|
|
|
|
def build(self, toolchain):
|
|
src = self.unpack(toolchain)
|
|
if self.autogen:
|
|
subprocess.check_call(['libtoolize', '--force'], cwd=src)
|
|
subprocess.check_call(['aclocal'], cwd=src)
|
|
subprocess.check_call(['automake', '--add-missing', '--force-missing', '--foreign'], cwd=src)
|
|
subprocess.check_call(['autoconf'], cwd=src)
|
|
|
|
build = self.make_build_path(toolchain)
|
|
|
|
configure = [
|
|
os.path.join(src, 'configure'),
|
|
'CC=' + toolchain.cc,
|
|
'CXX=' + toolchain.cxx,
|
|
'CFLAGS=' + toolchain.cflags,
|
|
'CXXFLAGS=' + toolchain.cxxflags,
|
|
'CPPFLAGS=' + toolchain.cppflags + ' ' + self.cppflags,
|
|
'LDFLAGS=' + toolchain.ldflags,
|
|
'LIBS=' + toolchain.libs,
|
|
'AR=' + toolchain.ar,
|
|
'RANLIB=' + toolchain.ranlib,
|
|
'STRIP=' + toolchain.strip,
|
|
'--host=' + toolchain.arch,
|
|
'--prefix=' + toolchain.install_prefix,
|
|
'--enable-silent-rules',
|
|
] + self.configure_args
|
|
|
|
subprocess.check_call(configure, cwd=build, env=toolchain.env)
|
|
subprocess.check_call(['/usr/bin/make', '--quiet', '-j12'],
|
|
cwd=build, env=toolchain.env)
|
|
subprocess.check_call(['/usr/bin/make', '--quiet', 'install'],
|
|
cwd=build, env=toolchain.env)
|