numpy: Fix compilation when OpenBLAS support is not enabled

Currently, if OpenBLAS support is not enabled, a site.cfg file is not
written and numpy will use build host paths for libraries. If the build
host has any conflicting libraries, specifically libpython3.10.a, then
compilation will fail.

This ensures site.cfg is always written with buildroot paths.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This commit is contained in:
Jeffery To 2023-02-17 11:47:15 +08:00
parent 8d331953f3
commit 5cafab68ff
No known key found for this signature in database
GPG Key ID: C616D9E719E868E4
1 changed files with 8 additions and 3 deletions

View File

@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=numpy
PKG_VERSION:=1.23.3
PKG_RELEASE:=3
PKG_RELEASE:=4
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd
@ -23,6 +23,10 @@ PKG_CONFIG_DEPENDS:= \
PKG_BUILD_DEPENDS:=python-cython/host
# Ensure numpy does not find openblas if openblas support is not enabled
PYTHON3_PKG_BUILD_VARS:= \
$(if $(CONFIG_NUMPY_OPENBLAS_SUPPORT),,NPY_BLAS_ORDER= NPY_LAPACK_ORDER= )
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
@ -50,17 +54,18 @@ config NUMPY_OPENBLAS_SUPPORT
endmenu
endef
ifdef CONFIG_NUMPY_OPENBLAS_SUPPORT
define Build/Prepare/numpy-sitecfg
echo "[DEFAULT]" > $(PKG_BUILD_DIR)/site.cfg
echo "library_dirs = $(STAGING_DIR)/usr/lib" >> $(PKG_BUILD_DIR)/site.cfg
echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(PKG_BUILD_DIR)/site.cfg
ifdef CONFIG_NUMPY_OPENBLAS_SUPPORT
echo >> $(PKG_BUILD_DIR)/site.cfg
echo "[openblas]" >> $(PKG_BUILD_DIR)/site.cfg
echo "libraries = openblas" >> $(PKG_BUILD_DIR)/site.cfg
echo "runtime_library_dirs = /usr/lib" >> $(PKG_BUILD_DIR)/site.cfg
endif
endef
endif
define Build/Prepare
$(call Build/Prepare/Default)