Files
packages/lang/python/numpy/Makefile
Jeffery To 400936a98c 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>
(cherry picked from commit 5cafab68ff)
2023-11-02 11:20:32 +01:00

86 lines
2.5 KiB
Makefile

#
# Copyright (C) 2019 Jakub Piotr Cłapa <jpc@loee.pl>
# Copyright (C) 2020 Alexandru Ardelean <ardeleanalex@gmail.com>
#
include $(TOPDIR)/rules.mk
PKG_NAME:=numpy
PKG_VERSION:=1.23.3
PKG_RELEASE:=4
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.txt
PKG_CPE_ID:=cpe:/a:numpy:numpy
PKG_CONFIG_DEPENDS:= \
CONFIG_NUMPY_OPENBLAS_SUPPORT
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
define Package/python3-numpy
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=The fundamental package for scientific computing with Python
URL:=https://www.numpy.org/
DEPENDS:=@!SOFT_FLOAT +INSTALL_GFORTRAN:libgfortran +python3 \
+NUMPY_OPENBLAS_SUPPORT:openblas
endef
# We need to duplicate the omitted arhitectures same as openblas
define Package/python3-numpy/config
menu "Configuration"
depends on !powerpc
depends on !arc
config NUMPY_OPENBLAS_SUPPORT
bool "Enable OpenBLAS support"
default n
endmenu
endef
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
define Build/Prepare
$(call Build/Prepare/Default)
$(call Build/Prepare/numpy-sitecfg)
endef
define Package/python3-numpy/description
NumPy is the fundamental package for array computing with Python.
By default, this package is built without some modules.
For some modules to be available, the INSTALL_GFORTRAN symbol needs
to be enabled in the OpenWrt core/toolchain.
endef
$(eval $(call Py3Package,python3-numpy))
$(eval $(call BuildPackage,python3-numpy))
$(eval $(call BuildPackage,python3-numpy-src))