Add buildroot 2018-02

This commit is contained in:
Pascal Vizeli
2018-03-17 23:47:00 +00:00
parent 3776c47f83
commit 67742041ad
10007 changed files with 405098 additions and 0 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,28 @@
config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
bool
# Numpy has some CPU specific code
# 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
default y if BR2_i386
default y if BR2_mips
default y if BR2_mipsel
default y if BR2_powerpc
default y if BR2_powerpc64
default y if BR2_sh
default y if BR2_x86_64
config BR2_PACKAGE_PYTHON_NUMPY
bool "python-numpy"
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
help
NumPy is the fundamental package for scientific computing
with Python.
Note that NumPy needs fenv.h fully supported by the
C library.
http://www.numpy.org/

View File

@@ -0,0 +1,4 @@
# 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 94eebc7c8f86a287c1e9146ed52ebcde88183806d848d8c66e0e52d1aebf3b13 LICENSE.txt

View File

@@ -0,0 +1,33 @@
################################################################################
#
# python-numpy
#
################################################################################
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
PYTHON_NUMPY_LICENSE_FILES = LICENSE.txt
PYTHON_NUMPY_SETUP_TYPE = setuptools
ifeq ($(BR2_PACKAGE_CLAPACK),y)
PYTHON_NUMPY_DEPENDENCIES += clapack
PYTHON_NUMPY_SITE_CFG_LIBS += blas lapack
endif
PYTHON_NUMPY_BUILD_OPTS = --fcompiler=None
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
# 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))