|
@@ -0,0 +1,40 @@
|
|
|
|
+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
|
|
|
|
+@@ -40,6 +40,7 @@
|
|
|
|
+ #else
|
|
|
|
+ #include <stdint.h>
|
|
|
|
+ #endif
|
|
|
|
++#include <features.h>
|
|
|
|
+
|
|
|
|
+ #include "defines.h"
|
|
|
|
+
|
|
|
|
+@@ -59,9 +60,11 @@
|
|
|
|
+ template<>
|
|
|
|
+ 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__))
|
|
|
|
+ template<>
|
|
|
|
+ inline long double abs<long double>(long double x) { return fabsl(x); }
|
|
|
|
+-
|
|
|
|
++#endif
|
|
|
|
+
|
|
|
|
+ template<typename T>
|
|
|
|
+ struct Accumulator { typedef T Type; };
|