|
| 1 | +from pythonforandroid.toolchain import NDKRecipe, shprint, shutil, current_directory |
| 2 | +from os.path import join, exists |
| 3 | +import sh |
| 4 | + |
| 5 | +class Sqlite3Recipe(NDKRecipe): |
| 6 | + version = '3.11.0' |
| 7 | + # Don't forget to change the URL when changing the version |
| 8 | + url = 'http://www.sqlite.com/2016/sqlite-amalgamation-3110000.zip' |
| 9 | + generated_libraries = ['sqlite3'] |
| 10 | + |
| 11 | + def should_build(self, arch): |
| 12 | + return not self.has_libs(arch, 'libsqlite3.so') |
| 13 | + |
| 14 | + def prebuild_arch(self, arch): |
| 15 | + super(Sqlite3Recipe, self).prebuild_arch(arch) |
| 16 | + # Copy the Android make file |
| 17 | + sh.mkdir('-p', join(self.get_build_dir(arch.arch), 'jni')) |
| 18 | + shutil.copyfile(join(self.get_recipe_dir(), 'Android.mk'), |
| 19 | + join(self.get_build_dir(arch.arch), 'jni/Android.mk')) |
| 20 | + |
| 21 | + def build_arch(self, arch, *extra_args): |
| 22 | + super(Sqlite3Recipe, self).build_arch(arch) |
| 23 | + # Copy the shared library |
| 24 | + shutil.copyfile(join(self.get_build_dir(arch.arch), 'libs', arch.arch, 'libsqlite3.so'), |
| 25 | + join(self.ctx.get_libs_dir(arch.arch), 'libsqlite3.so')) |
| 26 | + |
| 27 | + def get_recipe_env(self, arch): |
| 28 | + env = super(Sqlite3Recipe, self).get_recipe_env(arch) |
| 29 | + env['NDK_PROJECT_PATH'] = self.get_build_dir(arch.arch) |
| 30 | + return env |
| 31 | + |
| 32 | +recipe = Sqlite3Recipe() |
0 commit comments