diff options
author | Khem Raj <raj.khem@gmail.com> | 2018-03-16 20:40:35 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-20 09:59:31 +0000 |
commit | 887f583c45bd705cb6bcef111cc773d5948652e7 (patch) | |
tree | 15279f14c9b3e124d6c727992a4759ea8f6e8c0d /meta/recipes-devtools/python-numpy | |
parent | d91238016ec899b74edaad47410326ba5301418c (diff) | |
download | poky-887f583c45bd705cb6bcef111cc773d5948652e7.tar.gz |
python-numpy: Fix build for riscv64
(From OE-Core rev: d33b321bce110fae8e5730f507be70f33d91fe22)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python-numpy')
4 files changed, 204 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch b/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch new file mode 100644 index 0000000000..4f5c4f5f0d --- /dev/null +++ b/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | From 30fb1bf9244bb0789c02ec7c98a923acc7200206 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Fri, 16 Mar 2018 19:55:21 -0700 | ||
4 | Subject: [PATCH] npy_cpu: Add riscv support | ||
5 | |||
6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
7 | --- | ||
8 | Upstream-Status: Submitted [https://github.com/numpy/numpy/pull/10761] | ||
9 | |||
10 | numpy/core/include/numpy/npy_cpu.h | 2 ++ | ||
11 | 1 file changed, 2 insertions(+) | ||
12 | |||
13 | diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h | ||
14 | index 84653ea18..9e88db873 100644 | ||
15 | --- a/numpy/core/include/numpy/npy_cpu.h | ||
16 | +++ b/numpy/core/include/numpy/npy_cpu.h | ||
17 | @@ -78,6 +78,8 @@ | ||
18 | #define NPY_CPU_AARCH64 | ||
19 | #elif defined(__mc68000__) | ||
20 | #define NPY_CPU_M68K | ||
21 | +#elif defined(__riscv) | ||
22 | + #define NPY_CPU_RISCV | ||
23 | #elif defined(__arc__) && defined(__LITTLE_ENDIAN__) | ||
24 | #define NPY_CPU_ARCEL | ||
25 | #elif defined(__arc__) && defined(__BIG_ENDIAN__) | ||
26 | -- | ||
27 | 2.16.2 | ||
28 | |||
diff --git a/meta/recipes-devtools/python-numpy/files/riscv64/_numpyconfig.h b/meta/recipes-devtools/python-numpy/files/riscv64/_numpyconfig.h new file mode 100644 index 0000000000..109deb0435 --- /dev/null +++ b/meta/recipes-devtools/python-numpy/files/riscv64/_numpyconfig.h | |||
@@ -0,0 +1,32 @@ | |||
1 | #define NPY_HAVE_ENDIAN_H 1 | ||
2 | #define NPY_SIZEOF_SHORT SIZEOF_SHORT | ||
3 | #define NPY_SIZEOF_INT SIZEOF_INT | ||
4 | #define NPY_SIZEOF_LONG SIZEOF_LONG | ||
5 | #define NPY_SIZEOF_FLOAT 4 | ||
6 | #define NPY_SIZEOF_COMPLEX_FLOAT 8 | ||
7 | #define NPY_SIZEOF_DOUBLE 8 | ||
8 | #define NPY_SIZEOF_COMPLEX_DOUBLE 16 | ||
9 | #define NPY_SIZEOF_LONGDOUBLE 16 | ||
10 | #define NPY_SIZEOF_COMPLEX_LONGDOUBLE 32 | ||
11 | #define NPY_SIZEOF_PY_INTPTR_T 8 | ||
12 | #define NPY_SIZEOF_PY_LONG_LONG 8 | ||
13 | #define NPY_SIZEOF_LONGLONG 8 | ||
14 | #define NPY_SIZEOF_OFF_T 8 | ||
15 | #define NPY_NO_SMP 0 | ||
16 | #define NPY_HAVE_DECL_ISNAN | ||
17 | #define NPY_HAVE_DECL_ISINF | ||
18 | #define NPY_HAVE_DECL_ISFINITE | ||
19 | #define NPY_HAVE_DECL_SIGNBIT | ||
20 | #define NPY_USE_C99_COMPLEX 1 | ||
21 | #define NPY_HAVE_COMPLEX_DOUBLE 1 | ||
22 | #define NPY_HAVE_COMPLEX_FLOAT 1 | ||
23 | #define NPY_HAVE_COMPLEX_LONG_DOUBLE 1 | ||
24 | #define NPY_ENABLE_SEPARATE_COMPILATION 1 | ||
25 | #define NPY_USE_C99_FORMATS 1 | ||
26 | #define NPY_VISIBILITY_HIDDEN __attribute__((visibility("hidden"))) | ||
27 | #define NPY_ABI_VERSION 0x01000009 | ||
28 | #define NPY_API_VERSION 0x0000000A | ||
29 | |||
30 | #ifndef __STDC_FORMAT_MACROS | ||
31 | #define __STDC_FORMAT_MACROS 1 | ||
32 | #endif | ||
diff --git a/meta/recipes-devtools/python-numpy/files/riscv64/config.h b/meta/recipes-devtools/python-numpy/files/riscv64/config.h new file mode 100644 index 0000000000..c30b868f2f --- /dev/null +++ b/meta/recipes-devtools/python-numpy/files/riscv64/config.h | |||
@@ -0,0 +1,139 @@ | |||
1 | #define HAVE_ENDIAN_H 1 | ||
2 | #define SIZEOF_PY_INTPTR_T 8 | ||
3 | #define SIZEOF_PY_LONG_LONG 8 | ||
4 | #define MATHLIB m | ||
5 | #define HAVE_SIN 1 | ||
6 | #define HAVE_COS 1 | ||
7 | #define HAVE_TAN 1 | ||
8 | #define HAVE_SINH 1 | ||
9 | #define HAVE_COSH 1 | ||
10 | #define HAVE_TANH 1 | ||
11 | #define HAVE_FABS 1 | ||
12 | #define HAVE_FLOOR 1 | ||
13 | #define HAVE_CEIL 1 | ||
14 | #define HAVE_SQRT 1 | ||
15 | #define HAVE_LOG10 1 | ||
16 | #define HAVE_LOG 1 | ||
17 | #define HAVE_EXP 1 | ||
18 | #define HAVE_ASIN 1 | ||
19 | #define HAVE_ACOS 1 | ||
20 | #define HAVE_ATAN 1 | ||
21 | #define HAVE_FMOD 1 | ||
22 | #define HAVE_MODF 1 | ||
23 | #define HAVE_FREXP 1 | ||
24 | #define HAVE_LDEXP 1 | ||
25 | #define HAVE_RINT 1 | ||
26 | #define HAVE_TRUNC 1 | ||
27 | #define HAVE_EXP2 1 | ||
28 | #define HAVE_LOG2 1 | ||
29 | #define HAVE_ATAN2 1 | ||
30 | #define HAVE_POW 1 | ||
31 | #define HAVE_NEXTAFTER 1 | ||
32 | #define HAVE_SINF 1 | ||
33 | #define HAVE_COSF 1 | ||
34 | #define HAVE_TANF 1 | ||
35 | #define HAVE_SINHF 1 | ||
36 | #define HAVE_COSHF 1 | ||
37 | #define HAVE_TANHF 1 | ||
38 | #define HAVE_FABSF 1 | ||
39 | #define HAVE_FLOORF 1 | ||
40 | #define HAVE_CEILF 1 | ||
41 | #define HAVE_RINTF 1 | ||
42 | #define HAVE_TRUNCF 1 | ||
43 | #define HAVE_SQRTF 1 | ||
44 | #define HAVE_LOG10F 1 | ||
45 | #define HAVE_LOGF 1 | ||
46 | #define HAVE_LOG1PF 1 | ||
47 | #define HAVE_EXPF 1 | ||
48 | #define HAVE_EXPM1F 1 | ||
49 | #define HAVE_ASINF 1 | ||
50 | #define HAVE_ACOSF 1 | ||
51 | #define HAVE_ATANF 1 | ||
52 | #define HAVE_ASINHF 1 | ||
53 | #define HAVE_ACOSHF 1 | ||
54 | #define HAVE_ATANHF 1 | ||
55 | #define HAVE_HYPOTF 1 | ||
56 | #define HAVE_ATAN2F 1 | ||
57 | #define HAVE_POWF 1 | ||
58 | #define HAVE_FMODF 1 | ||
59 | #define HAVE_MODFF 1 | ||
60 | #define HAVE_FREXPF 1 | ||
61 | #define HAVE_LDEXPF 1 | ||
62 | #define HAVE_EXP2F 1 | ||
63 | #define HAVE_LOG2F 1 | ||
64 | #define HAVE_COPYSIGNF 1 | ||
65 | #define HAVE_NEXTAFTERF 1 | ||
66 | #define HAVE_SINL 1 | ||
67 | #define HAVE_COSL 1 | ||
68 | #define HAVE_TANL 1 | ||
69 | #define HAVE_SINHL 1 | ||
70 | #define HAVE_COSHL 1 | ||
71 | #define HAVE_TANHL 1 | ||
72 | #define HAVE_FABSL 1 | ||
73 | #define HAVE_FLOORL 1 | ||
74 | #define HAVE_CEILL 1 | ||
75 | #define HAVE_RINTL 1 | ||
76 | #define HAVE_TRUNCL 1 | ||
77 | #define HAVE_SQRTL 1 | ||
78 | #define HAVE_LOG10L 1 | ||
79 | #define HAVE_LOGL 1 | ||
80 | #define HAVE_LOG1PL 1 | ||
81 | #define HAVE_EXPL 1 | ||
82 | #define HAVE_EXPM1L 1 | ||
83 | #define HAVE_ASINL 1 | ||
84 | #define HAVE_ACOSL 1 | ||
85 | #define HAVE_ATANL 1 | ||
86 | #define HAVE_ASINHL 1 | ||
87 | #define HAVE_ACOSHL 1 | ||
88 | #define HAVE_ATANHL 1 | ||
89 | #define HAVE_HYPOTL 1 | ||
90 | #define HAVE_ATAN2L 1 | ||
91 | #define HAVE_POWL 1 | ||
92 | #define HAVE_FMODL 1 | ||
93 | #define HAVE_MODFL 1 | ||
94 | #define HAVE_FREXPL 1 | ||
95 | #define HAVE_LDEXPL 1 | ||
96 | #define HAVE_EXP2L 1 | ||
97 | #define HAVE_LOG2L 1 | ||
98 | #define HAVE_COPYSIGNL 1 | ||
99 | #define HAVE_NEXTAFTERL 1 | ||
100 | #define HAVE_DECL_SIGNBIT | ||
101 | #define HAVE_COMPLEX_H 1 | ||
102 | #define HAVE_CREAL 1 | ||
103 | #define HAVE_CIMAG 1 | ||
104 | #define HAVE_CABS 1 | ||
105 | #define HAVE_CARG 1 | ||
106 | #define HAVE_CEXP 1 | ||
107 | #define HAVE_CSQRT 1 | ||
108 | #define HAVE_CLOG 1 | ||
109 | #define HAVE_CCOS 1 | ||
110 | #define HAVE_CSIN 1 | ||
111 | #define HAVE_CPOW 1 | ||
112 | #define HAVE_CREALF 1 | ||
113 | #define HAVE_CIMAGF 1 | ||
114 | #define HAVE_CABSF 1 | ||
115 | #define HAVE_CARGF 1 | ||
116 | #define HAVE_CEXPF 1 | ||
117 | #define HAVE_CSQRTF 1 | ||
118 | #define HAVE_CLOGF 1 | ||
119 | #define HAVE_CCOSF 1 | ||
120 | #define HAVE_CSINF 1 | ||
121 | #define HAVE_CPOWF 1 | ||
122 | #define HAVE_CREALL 1 | ||
123 | #define HAVE_CIMAGL 1 | ||
124 | #define HAVE_CABSL 1 | ||
125 | #define HAVE_CARGL 1 | ||
126 | #define HAVE_CEXPL 1 | ||
127 | #define HAVE_CSQRTL 1 | ||
128 | #define HAVE_CLOGL 1 | ||
129 | #define HAVE_CCOSL 1 | ||
130 | #define HAVE_CSINL 1 | ||
131 | #define HAVE_CPOWL 1 | ||
132 | #define HAVE_LDOUBLE_IEEE_QUAD_LE 1 | ||
133 | #ifndef __cplusplus | ||
134 | /* #undef inline */ | ||
135 | #endif | ||
136 | |||
137 | #ifndef _NPY_NPY_CONFIG_H_ | ||
138 | #error config.h should never be included directly, include npy_config.h instead | ||
139 | #endif | ||
diff --git a/meta/recipes-devtools/python-numpy/python-numpy.inc b/meta/recipes-devtools/python-numpy/python-numpy.inc index 10af4c50e3..5c5f0c837a 100644 --- a/meta/recipes-devtools/python-numpy/python-numpy.inc +++ b/meta/recipes-devtools/python-numpy/python-numpy.inc | |||
@@ -8,6 +8,7 @@ SRCNAME = "numpy" | |||
8 | SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ | 8 | SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ |
9 | file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ | 9 | file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ |
10 | file://fix_shebang_f2py.patch \ | 10 | file://fix_shebang_f2py.patch \ |
11 | file://0001-npy_cpu-Add-riscv-support.patch \ | ||
11 | ${CONFIGFILESURI} " | 12 | ${CONFIGFILESURI} " |
12 | SRC_URI[md5sum] = "0e09f20f62ab9f8a02cb7bd3fd023482" | 13 | SRC_URI[md5sum] = "0e09f20f62ab9f8a02cb7bd3fd023482" |
13 | SRC_URI[sha256sum] = "8708a775be9a9a457b80a49193c57bd9d51a8a195ed1f1c4b8e89eaf3aa646ee" | 14 | SRC_URI[sha256sum] = "8708a775be9a9a457b80a49193c57bd9d51a8a195ed1f1c4b8e89eaf3aa646ee" |
@@ -69,6 +70,10 @@ CONFIGFILESURI_mipsarchn32el = " \ | |||
69 | file://config.h \ | 70 | file://config.h \ |
70 | file://_numpyconfig.h \ | 71 | file://_numpyconfig.h \ |
71 | " | 72 | " |
73 | CONFIGFILESURI_riscv64 = " \ | ||
74 | file://config.h \ | ||
75 | file://_numpyconfig.h \ | ||
76 | " | ||
72 | 77 | ||
73 | S = "${WORKDIR}/numpy-${PV}" | 78 | S = "${WORKDIR}/numpy-${PV}" |
74 | 79 | ||