summaryrefslogtreecommitdiff
path: root/media-libs/opencv/files/opencv-3.4.1-compilation-C-mode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/opencv/files/opencv-3.4.1-compilation-C-mode.patch')
-rw-r--r--media-libs/opencv/files/opencv-3.4.1-compilation-C-mode.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/media-libs/opencv/files/opencv-3.4.1-compilation-C-mode.patch b/media-libs/opencv/files/opencv-3.4.1-compilation-C-mode.patch
new file mode 100644
index 000000000000..c94f206ed4f1
--- /dev/null
+++ b/media-libs/opencv/files/opencv-3.4.1-compilation-C-mode.patch
@@ -0,0 +1,56 @@
+From 549b5df22520b60b91dd77096434d79425b31ac2 Mon Sep 17 00:00:00 2001
+From: Alexander Alekhin <alexander.alekhin@intel.com>
+Date: Mon, 28 May 2018 18:07:23 +0300
+Subject: [PATCH] build: workaround issues with C compilation mode
+
+- cvdef.h + cvRound (double only)
+- highgui_c.h
+---
+ modules/core/include/opencv2/core/cvdef.h | 8 +++++++-
+ modules/highgui/include/opencv2/highgui/highgui_c.h | 2 ++
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/modules/core/include/opencv2/core/cvdef.h b/modules/core/include/opencv2/core/cvdef.h
+index a87ced09d78..4ab72b34cc1 100644
+--- a/modules/core/include/opencv2/core/cvdef.h
++++ b/modules/core/include/opencv2/core/cvdef.h
+@@ -480,7 +480,7 @@ Cv64suf;
+ // Integer types portatibility
+ #ifdef OPENCV_STDINT_HEADER
+ #include OPENCV_STDINT_HEADER
+-#else
++#elif defined(__cplusplus)
+ #if defined(_MSC_VER) && _MSC_VER < 1600 /* MSVS 2010 */
+ namespace cv {
+ typedef signed char int8_t;
+@@ -517,9 +517,15 @@ typedef ::int64_t int64_t;
+ typedef ::uint64_t uint64_t;
+ }
+ #endif
++#else // pure C
++#include <stdint.h>
+ #endif
+
+
+ //! @}
+
++#ifndef __cplusplus
++#include "opencv2/core/fast_math.hpp" // define cvRound(double)
++#endif
++
+ #endif // OPENCV_CORE_CVDEF_H
+diff --git a/modules/highgui/include/opencv2/highgui/highgui_c.h b/modules/highgui/include/opencv2/highgui/highgui_c.h
+index 1eb414a76ca..35413139c79 100644
+--- a/modules/highgui/include/opencv2/highgui/highgui_c.h
++++ b/modules/highgui/include/opencv2/highgui/highgui_c.h
+@@ -135,8 +135,10 @@ CVAPI(int) cvNamedWindow( const char* name, int flags CV_DEFAULT(CV_WINDOW_AUTOS
+ CVAPI(void) cvSetWindowProperty(const char* name, int prop_id, double prop_value);
+ CVAPI(double) cvGetWindowProperty(const char* name, int prop_id);
+
++#ifdef __cplusplus // FIXIT remove in OpenCV 4.0
+ /* Get window image rectangle coordinates, width and height */
+ CVAPI(cv::Rect)cvGetWindowImageRect(const char* name);
++#endif
+
+ /* display image within window (highgui windows remember their content) */
+ CVAPI(void) cvShowImage( const char* name, const CvArr* image );