38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
|
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()
|