kumquat-buildroot/package/opencv/opencv-uclibc-optional-long-double-support.patch
Peter Korsgaard 848fa1d243 opencv: bump version to fix ffmpeg support build
A newer version of opencv is needed after the ffmpeg version bump. This
version does need a minor patch for fabsl on uClibc though.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-11 21:56:52 +01:00

41 lines
1.3 KiB
Diff

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; };