mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
create rootf's & SDK from 2018.02.9 buildroot (#10)
--------- Co-authored-by: tiopex <tiopxyz@gmail.com> Co-authored-by: tiopex <67048640+tiopex@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
From 1d309b81a6fdac33dfb5148f618bafe6ebdff958 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Fri, 15 Sep 2017 12:51:36 +0300
|
||||
Subject: [PATCH] Don't use <fenv.h> on uClibc
|
||||
|
||||
The python-numpy code already has provisions to not use <fenv.h> when
|
||||
not available. However, it uses __GLIBC__ to know whether fenv.h is
|
||||
available or not, but uClibc defines __GLIBC__, so python-numpy thinks
|
||||
fenv.h is available.
|
||||
|
||||
This patch fixes that by changing all defined(__GLIBC__) occurences by
|
||||
(defined(__GLIBC__) && !defined(__UCLIBC__)).
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
---
|
||||
numpy/core/include/numpy/ufuncobject.h | 2 +-
|
||||
numpy/core/src/npymath/ieee754.c.src | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/numpy/core/include/numpy/ufuncobject.h b/numpy/core/include/numpy/ufuncobject.h
|
||||
index d0ac1fd7d732..65e49fcd5b7a 100644
|
||||
--- a/numpy/core/include/numpy/ufuncobject.h
|
||||
+++ b/numpy/core/include/numpy/ufuncobject.h
|
||||
@@ -319,7 +319,7 @@ typedef struct _loop1d_info {
|
||||
#if defined(sun) || defined(__BSD__) || defined(__OpenBSD__) || \
|
||||
(defined(__FreeBSD__) && (__FreeBSD_version < 502114)) || \
|
||||
defined(__NetBSD__) || \
|
||||
- defined(__GLIBC__) || defined(__APPLE__) || \
|
||||
+ (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \
|
||||
defined(__CYGWIN__) || defined(__MINGW32__) || \
|
||||
(defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) || \
|
||||
defined(_AIX) || \
|
||||
diff --git a/numpy/core/src/npymath/ieee754.c.src b/numpy/core/src/npymath/ieee754.c.src
|
||||
index 0370ea6c77aa..e63e409b6604 100644
|
||||
--- a/numpy/core/src/npymath/ieee754.c.src
|
||||
+++ b/numpy/core/src/npymath/ieee754.c.src
|
||||
@@ -612,7 +612,7 @@ void npy_set_floatstatus_invalid(void)
|
||||
}
|
||||
|
||||
|
||||
-#elif defined(__GLIBC__) || defined(__APPLE__) || \
|
||||
+#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \
|
||||
defined(__CYGWIN__) || defined(__MINGW32__) || \
|
||||
(defined(__FreeBSD__) && (__FreeBSD_version >= 502114))
|
||||
# include <fenv.h>
|
||||
--
|
||||
2.7.5
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
From 9a225e7d4fb1de5c99c6b5b17cae2fc4c2d1c59a Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
Date: Fri, 15 Sep 2017 11:59:14 +0300
|
||||
Subject: [PATCH] Add support of ARC
|
||||
|
||||
Synopsys DesignWare ARC Processors are a family of 32-bit CPUs
|
||||
which in some configurations may run Linux kernel and full stack
|
||||
of applications on top of it. Among other things is Python.
|
||||
|
||||
With that change we allow building and usage of Numpy on ARC.
|
||||
|
||||
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
---
|
||||
numpy/core/include/numpy/npy_cpu.h | 6 ++++++
|
||||
numpy/core/include/numpy/npy_endian.h | 6 ++++--
|
||||
2 files changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h
|
||||
index 60abae4e0b0e..84653ea183ce 100644
|
||||
--- a/numpy/core/include/numpy/npy_cpu.h
|
||||
+++ b/numpy/core/include/numpy/npy_cpu.h
|
||||
@@ -15,6 +15,8 @@
|
||||
* NPY_CPU_ARMEB
|
||||
* NPY_CPU_SH_LE
|
||||
* NPY_CPU_SH_BE
|
||||
+ * NPY_CPU_ARCEL
|
||||
+ * NPY_CPU_ARCEB
|
||||
*/
|
||||
#ifndef _NPY_CPUARCH_H_
|
||||
#define _NPY_CPUARCH_H_
|
||||
@@ -76,6 +78,10 @@
|
||||
#define NPY_CPU_AARCH64
|
||||
#elif defined(__mc68000__)
|
||||
#define NPY_CPU_M68K
|
||||
+#elif defined(__arc__) && defined(__LITTLE_ENDIAN__)
|
||||
+ #define NPY_CPU_ARCEL
|
||||
+#elif defined(__arc__) && defined(__BIG_ENDIAN__)
|
||||
+ #define NPY_CPU_ARCEB
|
||||
#else
|
||||
#error Unknown CPU, please report this to numpy maintainers with \
|
||||
information about your platform (OS, CPU and compiler)
|
||||
diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h
|
||||
index e34b1d97e655..1a42121db92e 100644
|
||||
--- a/numpy/core/include/numpy/npy_endian.h
|
||||
+++ b/numpy/core/include/numpy/npy_endian.h
|
||||
@@ -45,7 +45,8 @@
|
||||
|| defined(NPY_CPU_AARCH64) \
|
||||
|| defined(NPY_CPU_SH_LE) \
|
||||
|| defined(NPY_CPU_MIPSEL) \
|
||||
- || defined(NPY_CPU_PPC64LE)
|
||||
+ || defined(NPY_CPU_PPC64LE) \
|
||||
+ || defined(NPY_CPU_ARCEL)
|
||||
#define NPY_BYTE_ORDER NPY_LITTLE_ENDIAN
|
||||
#elif defined(NPY_CPU_PPC) \
|
||||
|| defined(NPY_CPU_SPARC) \
|
||||
@@ -56,7 +57,8 @@
|
||||
|| defined(NPY_CPU_SH_BE) \
|
||||
|| defined(NPY_CPU_MIPSEB) \
|
||||
|| defined(NPY_CPU_OR1K) \
|
||||
- || defined(NPY_CPU_M68K)
|
||||
+ || defined(NPY_CPU_M68K) \
|
||||
+ || defined(NPY_CPU_ARCEB)
|
||||
#define NPY_BYTE_ORDER NPY_BIG_ENDIAN
|
||||
#else
|
||||
#error Unknown CPU: can not set endianness
|
||||
--
|
||||
2.7.5
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
|
||||
bool
|
||||
# Numpy has some CPU specific code
|
||||
default y if BR2_arc
|
||||
# ARCompact build fails due to toolchain issue
|
||||
# ARC HS38 build fails on glibc due to missing FE_* definitions
|
||||
default y if BR2_arc && BR2_archs38 && !BR2_TOOLCHAIN_USES_GLIBC
|
||||
default y if BR2_aarch64
|
||||
default y if BR2_arm
|
||||
default y if BR2_armeb
|
||||
@@ -16,8 +18,6 @@ config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
|
||||
config BR2_PACKAGE_PYTHON_NUMPY
|
||||
bool "python-numpy"
|
||||
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
|
||||
# python-numpy needs fenv.h which is not provided by uclibc
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
|
||||
help
|
||||
NumPy is the fundamental package for scientific computing
|
||||
with Python.
|
||||
@@ -26,7 +26,3 @@ config BR2_PACKAGE_PYTHON_NUMPY
|
||||
C library.
|
||||
|
||||
http://www.numpy.org/
|
||||
|
||||
comment "python-numpy needs glibc or musl"
|
||||
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
|
||||
depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
# Copied from https://github.com/numpy/numpy/releases/tag/v1.21.2
|
||||
sha256 76af194fbc117934ec5bbe2ff15177adbd05aeed23f18ee209ed88edcd777e05 numpy-1.21.2.tar.gz
|
||||
# Copied from https://github.com/numpy/numpy/releases/tag/v1.13.3
|
||||
sha256 4c6b4eef790528bebb7ec9590d74cc193868940fe68e4109a91c196df72d8094 numpy-1.13.3.tar.gz
|
||||
# License files, locally calculated
|
||||
sha256 bc1b0af15cdc9415ea26c5f1df352c226ac86425ec0fb9ab38d111018bf1c6f2 LICENSE.txt
|
||||
sha256 2be6947e0432ecf7950ee8fe38681316749dd06d1de17c9ec4de6d2f55adb3a1 numpy/core/src/multiarray/dragon4.c
|
||||
sha256 fbc539f47d0cf83bc61378080fb873d5c14630126cacbfe754035c3926daa5ec numpy/core/include/numpy/libdivide/LICENSE.txt
|
||||
sha256 a14cc25e10d40a3aa705b7de2fb764a6535d8ee9b2db4e1724900585457dfd55 numpy/linalg/lapack_lite/LICENSE.txt
|
||||
sha256 badf51c7e3e7de9c7630bd069780f5c197b846ef7660b342a1e58d5553592d8e tools/npy_tempita/license.txt
|
||||
sha256 94eebc7c8f86a287c1e9146ed52ebcde88183806d848d8c66e0e52d1aebf3b13 LICENSE.txt
|
||||
|
||||
@@ -4,56 +4,32 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_NUMPY_VERSION = 1.21.2
|
||||
PYTHON_NUMPY_VERSION = 1.13.3
|
||||
PYTHON_NUMPY_SOURCE = numpy-$(PYTHON_NUMPY_VERSION).tar.gz
|
||||
PYTHON_NUMPY_SITE = https://github.com/numpy/numpy/releases/download/v$(PYTHON_NUMPY_VERSION)
|
||||
PYTHON_NUMPY_LICENSE = BSD-3-Clause, MIT, Zlib
|
||||
PYTHON_NUMPY_LICENSE_FILES = \
|
||||
LICENSE.txt \
|
||||
numpy/core/src/multiarray/dragon4.c \
|
||||
numpy/core/include/numpy/libdivide/LICENSE.txt \
|
||||
numpy/linalg/lapack_lite/LICENSE.txt \
|
||||
tools/npy_tempita/license.txt
|
||||
|
||||
PYTHON_NUMPY_LICENSE = BSD-3-Clause
|
||||
PYTHON_NUMPY_LICENSE_FILES = LICENSE.txt
|
||||
PYTHON_NUMPY_SETUP_TYPE = setuptools
|
||||
PYTHON_NUMPY_DEPENDENCIES = host-python-cython
|
||||
HOST_PYTHON_NUMPY_DEPENDENCIES = host-python-cython
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LAPACK),y)
|
||||
PYTHON_NUMPY_DEPENDENCIES += lapack
|
||||
ifeq ($(BR2_PACKAGE_CLAPACK),y)
|
||||
PYTHON_NUMPY_DEPENDENCIES += clapack
|
||||
PYTHON_NUMPY_SITE_CFG_LIBS += blas lapack
|
||||
else
|
||||
PYTHON_NUMPY_ENV += BLAS=None LAPACK=None
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y)
|
||||
PYTHON_NUMPY_BUILD_OPTS = --fcompiler=gnu95
|
||||
PYTHON_NUMPY_ENV += F90=$(TARGET_FC)
|
||||
else
|
||||
PYTHON_NUMPY_BUILD_OPTS = --fcompiler=None
|
||||
endif
|
||||
|
||||
define PYTHON_NUMPY_CONFIGURE_CMDS
|
||||
-rm -f $(@D)/site.cfg
|
||||
echo "[DEFAULT]" >> $(@D)/site.cfg
|
||||
echo "library_dirs = $(STAGING_DIR)/usr/lib" >> $(@D)/site.cfg
|
||||
echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(@D)/site.cfg
|
||||
echo "libraries =" $(subst $(space),$(comma),$(PYTHON_NUMPY_SITE_CFG_LIBS)) >> $(@D)/site.cfg
|
||||
endef
|
||||
|
||||
# Fixup the npymath.ini prefix path with actual target staging area where
|
||||
# numpy core was built. Without this, target builds using numpy distutils
|
||||
# extensions like python-scipy, python-numba cannot find -lnpymath since
|
||||
# it uses host libraries (like libnpymath.a).
|
||||
# So, the numpy distutils extension packages would explicitly link this
|
||||
# config path for their package environment.
|
||||
define PYTHON_NUMPY_FIXUP_NPY_PKG_CONFIG_FILES
|
||||
$(SED) '/^pkgdir=/d;/^prefix=/i pkgdir=$(PYTHON3_PATH)/site-packages/numpy/core' \
|
||||
$(PYTHON3_PATH)/site-packages/numpy/core/lib/npy-pkg-config/npymath.ini
|
||||
endef
|
||||
PYTHON_NUMPY_POST_INSTALL_STAGING_HOOKS += PYTHON_NUMPY_FIXUP_NPY_PKG_CONFIG_FILES
|
||||
|
||||
# Some package may include few headers from NumPy, so let's install it
|
||||
# in the staging area.
|
||||
PYTHON_NUMPY_INSTALL_STAGING = YES
|
||||
|
||||
$(eval $(python-package))
|
||||
$(eval $(host-python-package))
|
||||
|
||||
Reference in New Issue
Block a user