37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
|
|
||
|
from pythonforandroid.toolchain import CythonRecipe, shprint, current_directory, info
|
||
|
import sh
|
||
|
import glob
|
||
|
from os.path import join, exists
|
||
|
|
||
|
|
||
|
class AudiostreamRecipe(CythonRecipe):
|
||
|
version = 'master'
|
||
|
url = 'https://github.com/kivy/audiostream/archive/{version}.zip'
|
||
|
name = 'audiostream'
|
||
|
depends = ['python2', ('sdl', 'sdl2'), 'pyjnius']
|
||
|
|
||
|
def get_recipe_env(self, arch):
|
||
|
if 'sdl' in self.ctx.recipe_build_order:
|
||
|
sdl_include = 'sdl'
|
||
|
sdl_mixer_include = 'sdl_mixer'
|
||
|
elif 'sdl2' in self.ctx.recipe_build_order:
|
||
|
sdl_include = 'SDL'
|
||
|
sdl_mixer_include = 'SDL2_mixer'
|
||
|
|
||
|
#note: audiostream library is not yet able to judge whether it is being used with sdl or with sdl2.
|
||
|
#this causes linking to fail against SDL2 (compiling against SDL2 works)
|
||
|
#need to find a way to fix this in audiostream's setup.py
|
||
|
raise RuntimeError('Audiostream library is not yet able to configure itself to link against SDL2. Patch on audiostream library needed - any help much appreciated!')
|
||
|
|
||
|
env = super(AudiostreamRecipe, self).get_recipe_env(arch)
|
||
|
env['CFLAGS'] += ' -I{jni_path}/{sdl_include}/include -I{jni_path}/{sdl_mixer_include}'.format(
|
||
|
jni_path = join(self.ctx.bootstrap.build_dir, 'jni'),
|
||
|
sdl_include = sdl_include,
|
||
|
sdl_mixer_include = sdl_mixer_include)
|
||
|
return env
|
||
|
|
||
|
|
||
|
|
||
|
recipe = AudiostreamRecipe()
|