diff options
author | Boris Nagaev <bnagaev@gmail.com> | 2017-09-24 16:35:00 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-24 16:35:00 (GMT) |
commit | da41121ee999efb09e946abef89b1d2f67be5791 (patch) | |
tree | 11be3291f0db29cc1df212c484201f236515c162 /src/opencv-1-fixes.patch | |
parent | 756924ad8cbbc802872c28407a8e78a02fb150c4 (diff) | |
parent | 394f09e5e393bd333543e0d03417772376337ad9 (diff) | |
download | mxe-da41121ee999efb09e946abef89b1d2f67be5791.zip mxe-da41121ee999efb09e946abef89b1d2f67be5791.tar.gz mxe-da41121ee999efb09e946abef89b1d2f67be5791.tar.bz2 |
Merge pull request #1891 from Lord-Kamina/opencv_3.3.0-fixed
Opencv 3.3.0 fixed
Diffstat (limited to 'src/opencv-1-fixes.patch')
-rw-r--r-- | src/opencv-1-fixes.patch | 356 |
1 files changed, 191 insertions, 165 deletions
diff --git a/src/opencv-1-fixes.patch b/src/opencv-1-fixes.patch index 8cb17b9..45bce44 100644 --- a/src/opencv-1-fixes.patch +++ b/src/opencv-1-fixes.patch @@ -1,142 +1,35 @@ This file is part of MXE. See LICENSE.md for licensing information. +Contains ad hoc patches for cross building. + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Gregorio Litenstein <g.litenstein@gmail.com> +Date: Thu, 31 Aug 2017 18:27:53 -0300 +Subject: [PATCH] patch-1 for opencv-3.3.0 + + diff --git a/CMakeLists.txt b/CMakeLists.txt -index 579312d..53e4132 100644 +index 1111111..2222222 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -38,7 +38,7 @@ else(NOT CMAKE_TOOLCHAIN_FILE) - #Android: set output folder to ${CMAKE_BINARY_DIR} - set( LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_BINARY_DIR} CACHE PATH "root for library output, set this to change where android libs are compiled to" ) - # any crosscompiling -- set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Installation Directory") -+ #set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Installation Directory") - endif(NOT CMAKE_TOOLCHAIN_FILE) - - # -------------------------------------------------------------- -diff -ur a/modules/core/src/lapack.cpp b/modules/core/src/lapack.cpp ---- a/modules/core/src/lapack.cpp 2013-12-28 04:09:18.000000000 +1100 -+++ b/modules/core/src/lapack.cpp 2014-01-05 21:14:52.869649685 +1100 -@@ -716,7 +716,7 @@ - - static void JacobiSVD(double* At, size_t astep, double* W, double* Vt, size_t vstep, int m, int n, int n1=-1) - { -- JacobiSVDImpl_(At, astep, W, Vt, vstep, m, n, !Vt ? 0 : n1 < 0 ? n : n1, DBL_MIN, DBL_EPSILON*10); -+ JacobiSVDImpl_(At, astep, W, Vt, vstep, m, n, !Vt ? 0 : n1 < 0 ? n : n1, DBL_MIN, DBL_EPSILON*10L); - } - - /* y[0:m,0:n] += diag(a[0:1,0:m]) * x[0:m,0:n] */ -diff -ur a/modules/core/src/precomp.hpp b/modules/core/src/precomp.hpp ---- a/modules/core/src/precomp.hpp 2013-12-28 04:09:18.000000000 +1100 -+++ b/modules/core/src/precomp.hpp 2014-01-05 21:05:08.968467624 +1100 -@@ -51,7 +51,7 @@ - - #include <assert.h> - #include <ctype.h> --#include <float.h> -+#include <cfloat> - #include <limits.h> - #include <math.h> - #include <stdio.h> -diff -ur a/modules/highgui/src/window_w32.cpp b/modules/highgui/src/window_w32.cpp ---- a/modules/highgui/src/window_w32.cpp 2013-12-28 04:09:18.000000000 +1100 -+++ b/modules/highgui/src/window_w32.cpp 2014-01-05 21:23:48.318950096 +1100 -@@ -75,7 +75,7 @@ - #include <vector> - #include <functional> - #include "opencv2/highgui/highgui.hpp" --#include <GL\gl.h> -+#include <GL/gl.h> - #endif - - static const char* trackbar_text = - -diff -ur a/cmake/OpenCVFindLibsVideo.cmake b/cmake/OpenCVFindLibsVideo.cmake ---- a/cmake/OpenCVFindLibsVideo.cmake 2013-12-28 04:09:18.000000000 +1100 -+++ b/cmake/OpenCVFindLibsVideo.cmake 2014-01-07 22:34:22.291927941 +1100 -@@ -228,12 +228,12 @@ - - # --- Extra HighGUI libs on Windows --- - if(WIN32) -- list(APPEND HIGHGUI_LIBRARIES comctl32 gdi32 ole32 setupapi ws2_32 vfw32) -+ list(APPEND HIGHGUI_LIBRARIES -lcomctl32 -lgdi32 -lole32 -lsetupapi -lws2_32 -lvfw32 -lstrmiids -loleaut32 -luuid) - if(MINGW64) -- list(APPEND HIGHGUI_LIBRARIES avifil32 avicap32 winmm msvfw32) -- list(REMOVE_ITEM HIGHGUI_LIBRARIES vfw32) -+ list(APPEND HIGHGUI_LIBRARIES -lavifil32 -lavicap32 -lwinmm -lmsvfw32) -+ list(REMOVE_ITEM HIGHGUI_LIBRARIES -lvfw32) - elseif(MINGW) -- list(APPEND HIGHGUI_LIBRARIES winmm) -+ list(APPEND HIGHGUI_LIBRARIES -lwinmm) - endif() - endif(WIN32) - ---- a/modules/highgui/CMakeLists.txt -+++ b/modules/highgui/CMakeLists.txt -@@ -262,7 +267,7 @@ set_target_properties(${the_module} PROPERTIES LINK_INTERFACE_LIBRARIES "") - ocv_add_precompiled_headers(${the_module}) - ocv_warnings_disable(CMAKE_CXX_FLAGS -Wno-deprecated-declarations) +@@ -36,7 +36,6 @@ if(NOT DEFINED CMAKE_INSTALL_PREFIX) + if(NOT CMAKE_TOOLCHAIN_FILE) + # it _must_ go before project(OpenCV) in order to work + if(WIN32) +- set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Installation Directory") + else() + set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Installation Directory") + endif() +@@ -44,7 +43,6 @@ if(NOT DEFINED CMAKE_INSTALL_PREFIX) + #Android: set output folder to ${CMAKE_BINARY_DIR} + set( LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_BINARY_DIR} CACHE PATH "root for library output, set this to change where android libs are compiled to" ) + # any crosscompiling +- set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Installation Directory") + endif(NOT CMAKE_TOOLCHAIN_FILE) + endif() --if(WIN32 AND WITH_FFMPEG) -+if(WIN32 AND WITH_FFMPEG AND BUILD_SHARED_LIBS) - #copy ffmpeg dll to the output folder - if(MSVC64 OR MINGW64) - set(FFMPEG_SUFFIX _64) -diff --git a/cmake/OpenCVFindLZMA.cmake b/cmake/OpenCVFindLZMA.cmake -new file mode 100644 -index 0000000..0b46b2c ---- /dev/null -+++ b/cmake/OpenCVFindLZMA.cmake -@@ -0,0 +1,48 @@ -+# - Find lzma and lzmadec -+# Find the native LZMA includes and library -+# -+# LZMA_INCLUDE_DIR - where to find lzma.h, etc. -+# LZMA_LIBRARIES - List of libraries when using liblzma. -+# LZMA_FOUND - True if liblzma found. -+# LZMADEC_INCLUDE_DIR - where to find lzmadec.h, etc. -+# LZMADEC_LIBRARIES - List of libraries when using liblzmadec. -+# LZMADEC_FOUND - True if liblzmadec found. -+ -+IF (LZMA_INCLUDE_DIR) -+ # Already in cache, be silent -+ SET(LZMA_FIND_QUIETLY TRUE) -+ENDIF (LZMA_INCLUDE_DIR) -+ -+FIND_PATH(LZMA_INCLUDE_DIR lzma.h) -+FIND_LIBRARY(LZMA_LIBRARY NAMES lzma liblzma) -+ -+# handle the QUIETLY and REQUIRED arguments and set LZMA_FOUND to TRUE if -+# all listed variables are TRUE -+INCLUDE(FindPackageHandleStandardArgs) -+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZMA DEFAULT_MSG LZMA_LIBRARY LZMA_INCLUDE_DIR) -+ -+IF(LZMA_FOUND) -+ SET( LZMA_LIBRARIES ${LZMA_LIBRARY} ) -+ELSE(LZMA_FOUND) -+ SET( LZMA_LIBRARIES ) -+ -+ IF (LZMADEC_INCLUDE_DIR) -+ # Already in cache, be silent -+ SET(LZMADEC_FIND_QUIETLY TRUE) -+ ENDIF (LZMADEC_INCLUDE_DIR) -+ -+ FIND_PATH(LZMADEC_INCLUDE_DIR lzmadec.h) -+ FIND_LIBRARY(LZMADEC_LIBRARY NAMES lzmadec ) -+ -+ # handle the QUIETLY and REQUIRED arguments and set LZMADEC_FOUND to TRUE if -+ # all listed variables are TRUE -+ INCLUDE(FindPackageHandleStandardArgs) -+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZMADEC DEFAULT_MSG LZMADEC_LIBRARY -+ LZMADEC_INCLUDE_DIR) -+ -+ IF(LZMADEC_FOUND) -+ SET( LZMADEC_LIBRARIES ${LZMADEC_LIBRARY} ) -+ ELSE(LZMADEC_FOUND) -+ SET( LZMADEC_LIBRARIES ) -+ ENDIF(LZMADEC_FOUND) -+ENDIF(LZMA_FOUND) diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake -index 5988169..738e1f3 100644 +index 1111111..2222222 100644 --- a/cmake/OpenCVFindLibsGrfmt.cmake +++ b/cmake/OpenCVFindLibsGrfmt.cmake @@ -2,6 +2,11 @@ @@ -163,45 +56,178 @@ index 5988169..738e1f3 100644 # --- libtiff (optional, should be searched after zlib) --- if(WITH_TIFF) if(BUILD_TIFF) -@@ -114,6 +124,7 @@ if(WITH_PNG) - if(BUILD_PNG) - ocv_clear_vars(PNG_FOUND) - else() -+ include(CheckIncludeFile) - include(FindPNG) - if(PNG_FOUND) - check_include_file("${PNG_PNG_INCLUDE_DIR}/png.h" HAVE_PNG_H) -diff --git a/modules/core/CMakeLists.txt b/modules/core/CMakeLists.txt -index 4c5112e..7411f32 100644 ---- a/modules/core/CMakeLists.txt -+++ b/modules/core/CMakeLists.txt -@@ -1,12 +1,12 @@ - set(the_description "The Core Functionality") +diff --git a/cmake/OpenCVFindLibsVideo.cmake b/cmake/OpenCVFindLibsVideo.cmake +index 1111111..2222222 100644 +--- a/cmake/OpenCVFindLibsVideo.cmake ++++ b/cmake/OpenCVFindLibsVideo.cmake +@@ -272,15 +272,15 @@ endif(WITH_MSMF) - if (NOT HAVE_CUDA OR ENABLE_DYNAMIC_CUDA) -- ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES}) -+ ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} ${LZMA_LIBRARIES} ${LCMS_LIBRARIES}) - else() -- ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY}) -+ ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY} ${LZMA_LIBRARIES} ${LCMS_LIBRARIES}) - endif() - --ocv_module_include_directories("${OpenCV_SOURCE_DIR}/modules/dynamicuda/include/" ${ZLIB_INCLUDE_DIR}) -+ocv_module_include_directories("${OpenCV_SOURCE_DIR}/modules/dynamicuda/include/" ${ZLIB_INCLUDE_DIR} ${LZMA_INCLUDE_DIR} ${LCMS_INCLUDE_DIR}) + # --- Extra HighGUI and VideoIO libs on Windows --- + if(WIN32) +- list(APPEND HIGHGUI_LIBRARIES comctl32 gdi32 ole32 setupapi ws2_32) ++ list(APPEND HIGHGUI_LIBRARIES -lcomctl32 -lcomdlg32 -lgdi32 -lole32 -lsetupapi -lws2_32 -lvfw32 -lstrmiids -loleaut32 -luuid) + if(HAVE_VFW) + list(APPEND VIDEOIO_LIBRARIES vfw32) + endif() + if(MINGW64) +- list(APPEND VIDEOIO_LIBRARIES avifil32 avicap32 winmm msvfw32) +- list(REMOVE_ITEM VIDEOIO_LIBRARIES vfw32) ++ list(APPEND VIDEOIO_LIBRARIES -lavifil32 -lavicap32 -lwinmm -lmsvfw32) ++ list(REMOVE_ITEM VIDEOIO_LIBRARIES -lvfw32) + elseif(MINGW) +- list(APPEND VIDEOIO_LIBRARIES winmm) ++ list(APPEND VIDEOIO_LIBRARIES -lwinmm) + endif() + endif(WIN32) - if(HAVE_WINRT_CX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /ZW") - -diff --git a/cmake/templates/opencv-XXX.pc.cmake.in b/cmake/templates/opencv-XXX.pc.cmake.in -index 4f6415c..ea1ed15 100644 +diff --git a/cmake/templates/opencv-XXX.pc.in b/cmake/templates/opencv-XXX.pc.in +index 1111111..2222222 100644 --- a/cmake/templates/opencv-XXX.pc.in +++ b/cmake/templates/opencv-XXX.pc.in -@@ -9,5 +9,7 @@ +@@ -9,6 +9,7 @@ includedir_new=@includedir@ Name: OpenCV Description: Open Source Computer Vision Library - Version: @OPENCV_VERSION@ + Version: @OPENCV_VERSION_PLAIN@ +Requires: OpenEXR libtiff-4 - Libs: @OpenCV_LIB_COMPONENTS@ -+Libs.private: -luuid -loleaut32 + Libs: @OPENCV_PC_LIBS@ +-Libs.private: @OPENCV_PC_LIBS_PRIVATE@ ++Libs.private: @OPENCV_PC_LIBS_PRIVATE@ -luuid -loleaut32 Cflags: -I${includedir_old} -I${includedir_new} +diff --git a/modules/core/src/lapack.cpp b/modules/core/src/lapack.cpp +index 1111111..2222222 100644 +--- a/modules/core/src/lapack.cpp ++++ b/modules/core/src/lapack.cpp +@@ -608,7 +608,7 @@ void hal::SVD32f(float* At, size_t astep, float* W, float* U, size_t ustep, floa + void hal::SVD64f(double* At, size_t astep, double* W, double* U, size_t ustep, double* Vt, size_t vstep, int m, int n, int n1) + { + CALL_HAL(SVD64f, cv_hal_SVD64f, At, astep, W, U, ustep, Vt, vstep, m, n, decodeSVDParameters(U, Vt, m, n, n1)) +- JacobiSVDImpl_(At, astep, W, Vt, vstep, m, n, !Vt ? 0 : n1 < 0 ? n : n1, DBL_MIN, DBL_EPSILON*10); ++ JacobiSVDImpl_(At, astep, W, Vt, vstep, m, n, !Vt ? 0 : n1 < 0 ? n : n1, DBL_MIN, DBL_EPSILON*10L); + } + + /* y[0:m,0:n] += diag(a[0:1,0:m]) * x[0:m,0:n] */ +diff --git a/modules/core/src/precomp.hpp b/modules/core/src/precomp.hpp +index 1111111..2222222 100644 +--- a/modules/core/src/precomp.hpp ++++ b/modules/core/src/precomp.hpp +@@ -60,7 +60,7 @@ + + #include <assert.h> + #include <ctype.h> +-#include <float.h> ++#include <cfloat> + #include <limits.h> + #include <math.h> + #include <stdarg.h> +diff --git a/modules/videoio/CMakeLists.txt b/modules/videoio/CMakeLists.txt +index 1111111..2222222 100644 +--- a/modules/videoio/CMakeLists.txt ++++ b/modules/videoio/CMakeLists.txt +@@ -231,6 +231,10 @@ if(WIN32) + include_directories(AFTER SYSTEM "${OpenCV_SOURCE_DIR}/3rdparty/include/ffmpeg_") # for tests + endif() + ++if(WIN32) ++ add_definitions(-DSTRSAFE_NO_DEPRECATE) ++endif() ++ + if(UNIX) + #these variables are set by CHECK_MODULE macro + foreach(P ${VIDEOIO_INCLUDE_DIRS}) + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Gregorio Litenstein <g.litenstein@gmail.com> +Date: Thu, 31 Aug 2017 18:32:39 -0300 +Subject: [PATCH] patch 2 for opencv-3.3.0 + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1111111..2222222 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -358,14 +358,7 @@ else() + ocv_update(OPENCV_DOC_INSTALL_PATH share/OpenCV/doc) + endif() + +-if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows) +- if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH) +- ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/") +- else() +- message(STATUS "Can't detect runtime and/or arch") +- ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "") +- endif() +-elseif(ANDROID) ++if(ANDROID) + ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "sdk/native/") + else() + ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "") +@@ -413,12 +406,8 @@ else() + ocv_update(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}") + + if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows) +- if(OpenCV_STATIC) +- ocv_update(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}") +- else() +- ocv_update(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}") +- endif() +- ocv_update(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}") ++ ocv_update(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}") ++ ocv_update(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}") + ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native) + ocv_update(OPENCV_JAR_INSTALL_PATH java) + ocv_update(OPENCV_OTHER_INSTALL_PATH etc) +@@ -462,15 +451,9 @@ if(INSTALL_TO_MANGLED_PATHS) + endif() + + +-if(WIN32) +- # Postfix of DLLs: +- set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}") +- set(OPENCV_DEBUG_POSTFIX d) +-else() +- # Postfix of so's: +- set(OPENCV_DLLVERSION "") +- set(OPENCV_DEBUG_POSTFIX "") +-endif() ++# Postfix of so's and DLLs: ++set(OPENCV_DLLVERSION "") ++set(OPENCV_DEBUG_POSTFIX "") + + if(DEFINED CMAKE_DEBUG_POSTFIX) + set(OPENCV_DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}") + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Gregorio Litenstein <g.litenstein@gmail.com> +Date: Thu, 31 Aug 2017 18:35:23 -0300 +Subject: [PATCH] patch-3 for opencv-3.3.0 + +Originally From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Boris Nagaev <bnagaev@gmail.com> +Date: Sun, 20 Dec 2015 18:14:56 +0300 +Subject: [PATCH] fix CMake error if a directory contains ++ + +See https://github.com/mxe/mxe/issues/1091 +diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake +index 1111111..2222222 100644 +--- a/cmake/OpenCVModule.cmake ++++ b/cmake/OpenCVModule.cmake +@@ -491,12 +491,16 @@ function(__ocv_resolve_dependencies) + # process private deps + foreach(m ${OPENCV_MODULES_BUILD}) + foreach(d ${OPENCV_MODULE_${m}_PRIVATE_REQ_DEPS}) +- if(NOT (";${deps_${m}};" MATCHES ";${d};")) ++ # can't use MATCH because file paths can include regexp special chars ++ string(FIND ";${deps_${m}};" ";${d};" d_offset) ++ if(${d_offset} EQUAL -1) + list(APPEND deps_${m} ${d}) + endif() + endforeach() + foreach(d ${OPENCV_MODULE_${m}_PRIVATE_OPT_DEPS}) +- if(NOT (";${deps_${m}};" MATCHES ";${d};")) ++ # can't use MATCH because file paths can include regexp special chars ++ string(FIND ";${deps_${m}};" ";${d};" d_offset) ++ if(${d_offset} EQUAL -1) + if(HAVE_${d} OR TARGET ${d}) + list(APPEND deps_${m} ${d}) + endif() |