lbry-android/p4a/pythonforandroid/recipes/libvorbis/__init__.py

38 lines
1.3 KiB
Python
Raw Normal View History

from pythonforandroid.recipe import NDKRecipe
from pythonforandroid.toolchain import current_directory, shprint
from os.path import join
import sh
class VorbisRecipe(NDKRecipe):
version = '1.3.6'
url = 'http://downloads.xiph.org/releases/vorbis/libvorbis-{version}.tar.gz'
opt_depends = ['libogg']
generated_libraries = ['libvorbis.so', 'libvorbisfile.so', 'libvorbisenc.so']
def get_recipe_env(self, arch=None):
env = super(VorbisRecipe, self).get_recipe_env(arch)
ogg = self.get_recipe('libogg', self.ctx)
env['CFLAGS'] += ' -I{}'.format(join(ogg.get_build_dir(arch.arch), 'include'))
return env
def build_arch(self, arch):
with current_directory(self.get_build_dir(arch.arch)):
env = self.get_recipe_env(arch)
flags = [
'--with-sysroot=' + self.ctx.ndk_platform,
'--host=' + arch.toolchain_prefix,
]
configure = sh.Command('./configure')
shprint(configure, *flags, _env=env)
shprint(sh.make, _env=env)
self.install_libs(
arch,
join('lib', '.libs', 'libvorbis.so'),
join('lib', '.libs', 'libvorbisfile.so'),
join('lib', '.libs', 'libvorbisenc.so'))
recipe = VorbisRecipe()