lbry-android-sdk/recipes/sqlite3/__init__.py

38 lines
1.6 KiB
Python
Raw Normal View History

from pythonforandroid.recipe import NDKRecipe
from pythonforandroid.toolchain import shprint, shutil, current_directory
2018-08-13 08:12:13 +02:00
from os.path import join, exists
import sh
class Sqlite3Recipe(NDKRecipe):
2021-08-22 08:45:58 +02:00
version = '3.36.0'
2018-08-13 08:12:13 +02:00
# Don't forget to change the URL when changing the version
2021-08-22 08:45:58 +02:00
url = 'https://www.sqlite.org/2021/sqlite-amalgamation-3360000.zip'
2018-08-13 08:12:13 +02:00
generated_libraries = ['sqlite3']
def should_build(self, arch):
2021-08-22 08:45:58 +02:00
return not self.has_libs(arch, 'libsqlite3.a')
2018-08-13 08:12:13 +02:00
def prebuild_arch(self, arch):
2021-08-22 08:45:58 +02:00
super().prebuild_arch(arch)
2018-08-13 08:12:13 +02:00
# Copy the Android make file
sh.mkdir('-p', join(self.get_build_dir(arch.arch), 'jni'))
shutil.copyfile(join(self.get_recipe_dir(), 'Android.mk'),
join(self.get_build_dir(arch.arch), 'jni/Android.mk'))
def build_arch(self, arch, *extra_args):
2021-08-22 08:45:58 +02:00
super().build_arch(arch)
# Copy the static library
# (which doesn't get placed in the libs folder for some reason so we force that to happen)
sh.mkdir('-p', join(self.get_build_dir(arch.arch), 'libs', arch.arch))
shutil.copyfile(join(self.get_build_dir(arch.arch), 'obj', 'local', arch.arch, 'libsqlite3.a'),
join(self.get_build_dir(arch.arch), 'libs', arch.arch, 'libsqlite3.a'))
shutil.copyfile(join(self.get_build_dir(arch.arch), 'libs', arch.arch, 'libsqlite3.a'),
join(self.ctx.get_libs_dir(arch.arch), 'libsqlite3.a'))
2018-08-13 08:12:13 +02:00
def get_recipe_env(self, arch):
2021-08-22 08:45:58 +02:00
env = super().get_recipe_env(arch)
2018-08-13 08:12:13 +02:00
env['NDK_PROJECT_PATH'] = self.get_build_dir(arch.arch)
return env
2021-08-22 08:45:58 +02:00
recipe = Sqlite3Recipe()