diff --git a/pythonforandroid/meson_python.py b/pythonforandroid/meson_python.py index cd3ed9d508..6236ee5754 100644 --- a/pythonforandroid/meson_python.py +++ b/pythonforandroid/meson_python.py @@ -18,14 +18,14 @@ def handle_python_info(): prefix = C.TARGET_PYTHON_PREFIX - sysconfig_file = glob(join(prefix, "lib/python3.14/_sysconfigdata*.py"))[0] + ver_python = f"python{C.PYTHON_MAJOR_VERSION}.{C.PYTHON_MINOR_VERSION}" + + sysconfig_file = glob(join(prefix, f"lib/{ver_python}/_sysconfigdata*.py"))[0] spec = importlib.util.spec_from_file_location("_android_cfg", sysconfig_file) cfg = importlib.util.module_from_spec(spec) spec.loader.exec_module(cfg) - ver_python = f"python{C.PYTHON_MAJOR_VERSION}.{C.PYTHON_MINOR_VERSION}" - site_path = join(prefix, f"lib/{ver_python}/site-packages") android_paths = { diff --git a/pythonforandroid/recipes/libopenblas/__init__.py b/pythonforandroid/recipes/libopenblas/__init__.py index e88feb6686..26a625c7a2 100644 --- a/pythonforandroid/recipes/libopenblas/__init__.py +++ b/pythonforandroid/recipes/libopenblas/__init__.py @@ -30,9 +30,11 @@ def build_arch(self, arch): "-DCMAKE_ANDROID_ARCH_ABI={arch}".format(arch=arch.arch), "-DCMAKE_ANDROID_NDK=" + self.ctx.ndk_dir, "-DCMAKE_ANDROID_API={api}".format(api=self.ctx.ndk_api), + "-DCMAKE_Fortran_COMPILER=NOTFOUND", "-DCMAKE_BUILD_TYPE=Release", "-DBUILD_SHARED_LIBS=ON", "-DC_LAPACK=ON", + "-DDYNAMIC_ARCH=0", "-DTARGET={target}".format( target={ "arm64-v8a": "ARMV8", @@ -47,4 +49,4 @@ def build_arch(self, arch): shprint(sh.make, "-j" + str(cpu_count()), _env=env) -recipe = LibOpenBlasRecipe() +recipe = LibOpenBlasRecipe() \ No newline at end of file diff --git a/pythonforandroid/recipes/numpy/__init__.py b/pythonforandroid/recipes/numpy/__init__.py index df1d294438..f95fb861eb 100644 --- a/pythonforandroid/recipes/numpy/__init__.py +++ b/pythonforandroid/recipes/numpy/__init__.py @@ -10,7 +10,12 @@ class NumpyRecipe(MesonRecipe): version = "v2.3.0" url = "git+https://github.com/numpy/numpy" - extra_build_args = ["-Csetup-args=-Dblas=none", "-Csetup-args=-Dlapack=none"] + depends = ["libopenblas"] + extra_build_args = [ + "-Csetup-args=-Dblas=auto", + "-Csetup-args=-Dlapack=auto", + "-Csetup-args=-Dallow-noblas=False", + ] need_stl_shared = True min_ndk_api_support = 24 @@ -41,6 +46,11 @@ def get_recipe_env(self, arch, **kwargs): "android-build", "python", ) + blas_dir = join(Recipe.get_recipe("libopenblas", self.ctx + ).get_build_dir(arch.arch), "build") + blas_incdir = blas_dir + blas_libdir = join(blas_dir, "lib") + env["CXXFLAGS"] += f" -I{blas_incdir} -L{blas_libdir}" return env def get_hostrecipe_env(self, arch=None): @@ -49,4 +59,4 @@ def get_hostrecipe_env(self, arch=None): return env -recipe = NumpyRecipe() +recipe = NumpyRecipe() \ No newline at end of file