diff options
Diffstat (limited to 'package/opencv/opencv-uclibc-optional-long-double-support.patch')
-rw-r--r-- | package/opencv/opencv-uclibc-optional-long-double-support.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/package/opencv/opencv-uclibc-optional-long-double-support.patch b/package/opencv/opencv-uclibc-optional-long-double-support.patch new file mode 100644 index 000000000..b319849fb --- /dev/null +++ b/package/opencv/opencv-uclibc-optional-long-double-support.patch @@ -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; }; |