lbry-android/p4a/pythonforandroid/recipes/openal/__init__.py
Akinwale Ariwodola 8b2694efb7
New build (#508)
* fix build for openssl 1.1.1b required for sdk
(cherry picked from commit aa49e3b275)

* use js code from master

* fix openssl recipe and tweak build
(cherry picked from commit 6e94c27021)

* remove unused build recipes
(cherry picked from commit f5c0577bdb)
2019-03-30 21:58:45 +01:00

39 lines
1.3 KiB
Python

from pythonforandroid.recipe import NDKRecipe
from pythonforandroid.toolchain import current_directory, shprint
from os.path import join
import os
import sh
class OpenALRecipe(NDKRecipe):
version = '1.18.2'
url = 'https://github.com/kcat/openal-soft/archive/openal-soft-{version}.tar.gz'
generated_libraries = ['libopenal.so']
def prebuild_arch(self, arch):
# we need to build native tools for host system architecture
with current_directory(join(self.get_build_dir(arch.arch), 'native-tools')):
shprint(sh.cmake, '.', _env=os.environ)
shprint(sh.make, _env=os.environ)
def build_arch(self, arch):
with current_directory(self.get_build_dir(arch.arch)):
env = self.get_recipe_env(arch)
cmake_args = [
'-DCMAKE_TOOLCHAIN_FILE={}'.format('XCompile-Android.txt'),
'-DHOST={}'.format(self.ctx.toolchain_prefix)
]
if self.ctx.ndk == 'crystax':
# avoids a segfault in libcrystax when calling lrintf
cmake_args += ['-DHAVE_LRINTF=0']
shprint(
sh.cmake, '.',
*cmake_args,
_env=env
)
shprint(sh.make, _env=env)
self.install_libs(arch, 'libopenal.so')
recipe = OpenALRecipe()