| Upstream: https://code.ros.org/trac/opencv/ticket/1515 |
| [PATCH] Fix compile issue in flann module on uClibc without long double support |
| uClibc configured without UCLIBC_HAS_LONG_DOUBLE_MATH (because of user |
| choice or simply that the arch doesn't provide long doubles) doesn't |
| provide fabsl(), breaking the build in the flann module. |
| Work around it by not providing the long double template specialization. |
| Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> |
| modules/flann/include/opencv2/flann/dist.h | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| Index: opencv-2.3.1a/modules/flann/include/opencv2/flann/dist.h |
| =================================================================== |
| --- opencv-2.3.1a.orig/modules/flann/include/opencv2/flann/dist.h |
| +++ opencv-2.3.1a/modules/flann/include/opencv2/flann/dist.h |
| inline double abs<double>(double x) { return fabs(x); } |
| +/* uClibc configured without long double math doesn't provide fabsl */ |
| +#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LONG_DOUBLE_MATH__)) |
| inline long double abs<long double>(long double x) { return fabsl(x); } |
| struct Accumulator { typedef T Type; }; |