Some changes to support mingw-w64
- IPP is disabled by default when compiler is mingw (couldn't make it work) - fixed some warnings - fixed some `__GNUC__` version checks (for correctness and convenience) - removed UTF-8 BOM from hough.cpp (fixes #5253)
This commit is contained in:
parent
c223c05b82
commit
771af4f32d
@ -171,7 +171,7 @@ OCV_OPTION(WITH_GSTREAMER "Include Gstreamer support" ON
|
|||||||
OCV_OPTION(WITH_GSTREAMER_0_10 "Enable Gstreamer 0.10 support (instead of 1.x)" OFF )
|
OCV_OPTION(WITH_GSTREAMER_0_10 "Enable Gstreamer 0.10 support (instead of 1.x)" OFF )
|
||||||
OCV_OPTION(WITH_GTK "Include GTK support" ON IF (UNIX AND NOT APPLE AND NOT ANDROID) )
|
OCV_OPTION(WITH_GTK "Include GTK support" ON IF (UNIX AND NOT APPLE AND NOT ANDROID) )
|
||||||
OCV_OPTION(WITH_GTK_2_X "Use GTK version 2" OFF IF (UNIX AND NOT APPLE AND NOT ANDROID) )
|
OCV_OPTION(WITH_GTK_2_X "Use GTK version 2" OFF IF (UNIX AND NOT APPLE AND NOT ANDROID) )
|
||||||
OCV_OPTION(WITH_IPP "Include Intel IPP support" ON IF (X86_64 OR X86) AND NOT WINRT)
|
OCV_OPTION(WITH_IPP "Include Intel IPP support" ON IF (X86_64 OR X86) AND NOT WINRT AND NOT MINGW )
|
||||||
OCV_OPTION(WITH_JASPER "Include JPEG2K support" ON IF (NOT IOS) )
|
OCV_OPTION(WITH_JASPER "Include JPEG2K support" ON IF (NOT IOS) )
|
||||||
OCV_OPTION(WITH_JPEG "Include JPEG support" ON)
|
OCV_OPTION(WITH_JPEG "Include JPEG support" ON)
|
||||||
OCV_OPTION(WITH_WEBP "Include WebP support" ON IF (NOT IOS AND NOT WINRT) )
|
OCV_OPTION(WITH_WEBP "Include WebP support" ON IF (NOT IOS AND NOT WINRT) )
|
||||||
|
@ -271,7 +271,7 @@ enum BorderTypes {
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#ifndef CV_StaticAssert
|
#ifndef CV_StaticAssert
|
||||||
# if defined(__GNUC__) && (__GNUC__ > 3) && (__GNUC_MINOR__ > 2)
|
# if defined(__GNUC__) && (__GNUC__*100 + __GNUC_MINOR__ > 302)
|
||||||
# define CV_StaticAssert(condition, reason) ({ extern int __attribute__((error("CV_StaticAssert: " reason " " #condition))) CV_StaticAssert(); ((condition) ? 0 : CV_StaticAssert()); })
|
# define CV_StaticAssert(condition, reason) ({ extern int __attribute__((error("CV_StaticAssert: " reason " " #condition))) CV_StaticAssert(); ((condition) ? 0 : CV_StaticAssert()); })
|
||||||
# else
|
# else
|
||||||
template <bool x> struct CV_StaticAssert_failed;
|
template <bool x> struct CV_StaticAssert_failed;
|
||||||
@ -296,7 +296,7 @@ enum BorderTypes {
|
|||||||
CV_DO_PRAGMA(warning(push)) \
|
CV_DO_PRAGMA(warning(push)) \
|
||||||
CV_DO_PRAGMA(warning(disable: 4996))
|
CV_DO_PRAGMA(warning(disable: 4996))
|
||||||
#define CV_SUPPRESS_DEPRECATED_END CV_DO_PRAGMA(warning(pop))
|
#define CV_SUPPRESS_DEPRECATED_END CV_DO_PRAGMA(warning(pop))
|
||||||
#elif defined (__clang__) || ((__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 5))))
|
#elif defined (__clang__) || ((__GNUC__) && (__GNUC__*100 + __GNUC_MINOR__ > 405))
|
||||||
#define CV_SUPPRESS_DEPRECATED_START \
|
#define CV_SUPPRESS_DEPRECATED_START \
|
||||||
CV_DO_PRAGMA(GCC diagnostic push) \
|
CV_DO_PRAGMA(GCC diagnostic push) \
|
||||||
CV_DO_PRAGMA(GCC diagnostic ignored "-Wdeprecated-declarations")
|
CV_DO_PRAGMA(GCC diagnostic ignored "-Wdeprecated-declarations")
|
||||||
|
@ -578,7 +578,7 @@ int DeviceInfo::deviceID() const
|
|||||||
inline
|
inline
|
||||||
size_t DeviceInfo::freeMemory() const
|
size_t DeviceInfo::freeMemory() const
|
||||||
{
|
{
|
||||||
size_t _totalMemory, _freeMemory;
|
size_t _totalMemory = 0, _freeMemory = 0;
|
||||||
queryMemory(_totalMemory, _freeMemory);
|
queryMemory(_totalMemory, _freeMemory);
|
||||||
return _freeMemory;
|
return _freeMemory;
|
||||||
}
|
}
|
||||||
@ -586,7 +586,7 @@ size_t DeviceInfo::freeMemory() const
|
|||||||
inline
|
inline
|
||||||
size_t DeviceInfo::totalMemory() const
|
size_t DeviceInfo::totalMemory() const
|
||||||
{
|
{
|
||||||
size_t _totalMemory, _freeMemory;
|
size_t _totalMemory = 0, _freeMemory = 0;
|
||||||
queryMemory(_totalMemory, _freeMemory);
|
queryMemory(_totalMemory, _freeMemory);
|
||||||
return _totalMemory;
|
return _totalMemory;
|
||||||
}
|
}
|
||||||
|
@ -1191,6 +1191,9 @@ TLSData<CoreTLSData>& getCoreTlsData()
|
|||||||
#pragma warning(disable:4447) // Disable warning 'main' signature found without threading model
|
#pragma warning(disable:4447) // Disable warning 'main' signature found without threading model
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
extern "C"
|
||||||
|
BOOL WINAPI DllMain(HINSTANCE, DWORD fdwReason, LPVOID lpReserved);
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
BOOL WINAPI DllMain(HINSTANCE, DWORD fdwReason, LPVOID lpReserved)
|
BOOL WINAPI DllMain(HINSTANCE, DWORD fdwReason, LPVOID lpReserved)
|
||||||
{
|
{
|
||||||
|
@ -69,7 +69,7 @@
|
|||||||
// Guaranteed size cross-platform classifier structures
|
// Guaranteed size cross-platform classifier structures
|
||||||
//
|
//
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#if defined __GNUC__ && __GNUC__ > 2 && __GNUC_MINOR__ > 4
|
#if defined __GNUC__ && (__GNUC__*100 + __GNUC_MINOR__ > 204)
|
||||||
typedef Ncv32f __attribute__((__may_alias__)) Ncv32f_a;
|
typedef Ncv32f __attribute__((__may_alias__)) Ncv32f_a;
|
||||||
#else
|
#else
|
||||||
typedef Ncv32f Ncv32f_a;
|
typedef Ncv32f Ncv32f_a;
|
||||||
@ -208,7 +208,7 @@ struct HaarClassifierNodeDescriptor32
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined __GNUC__ && __GNUC__ > 2 && __GNUC_MINOR__ > 4
|
#if defined __GNUC__ && (__GNUC__*100 + __GNUC_MINOR__ > 204)
|
||||||
typedef Ncv32u __attribute__((__may_alias__)) Ncv32u_a;
|
typedef Ncv32u __attribute__((__may_alias__)) Ncv32u_a;
|
||||||
#else
|
#else
|
||||||
typedef Ncv32u Ncv32u_a;
|
typedef Ncv32u Ncv32u_a;
|
||||||
|
@ -1593,7 +1593,7 @@ NCVStatus nppsStCompact_32s(Ncv32s *d_src, Ncv32u srcLen,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if defined __GNUC__ && __GNUC__ > 2 && __GNUC_MINOR__ > 4
|
#if defined __GNUC__ && (__GNUC__*100 + __GNUC_MINOR__ > 204)
|
||||||
typedef Ncv32u __attribute__((__may_alias__)) Ncv32u_a;
|
typedef Ncv32u __attribute__((__may_alias__)) Ncv32u_a;
|
||||||
#else
|
#else
|
||||||
typedef Ncv32u Ncv32u_a;
|
typedef Ncv32u Ncv32u_a;
|
||||||
|
@ -45,7 +45,7 @@ The references are:
|
|||||||
#include "precomp.hpp"
|
#include "precomp.hpp"
|
||||||
#include "agast_score.hpp"
|
#include "agast_score.hpp"
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _MSC_VER
|
||||||
#pragma warning( disable : 4127 )
|
#pragma warning( disable : 4127 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ The references are:
|
|||||||
|
|
||||||
#include "agast_score.hpp"
|
#include "agast_score.hpp"
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _MSC_VER
|
||||||
#pragma warning( disable : 4127 )
|
#pragma warning( disable : 4127 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2036,8 +2036,8 @@ icvCreateTrackbar( const char* trackbar_name, const char* window_name,
|
|||||||
trackbar = icvFindTrackbarByName(window,trackbar_name);
|
trackbar = icvFindTrackbarByName(window,trackbar_name);
|
||||||
if( !trackbar )
|
if( !trackbar )
|
||||||
{
|
{
|
||||||
TBBUTTON tbs = {0};
|
TBBUTTON tbs = {};
|
||||||
TBBUTTONINFO tbis = {0};
|
TBBUTTONINFO tbis = {};
|
||||||
RECT rect;
|
RECT rect;
|
||||||
int bcount;
|
int bcount;
|
||||||
int len = (int)strlen( trackbar_name );
|
int len = (int)strlen( trackbar_name );
|
||||||
|
@ -213,7 +213,7 @@ ImageDecoder JpegDecoder::newDecoder() const
|
|||||||
|
|
||||||
bool JpegDecoder::readHeader()
|
bool JpegDecoder::readHeader()
|
||||||
{
|
{
|
||||||
bool result = false;
|
volatile bool result = false;
|
||||||
close();
|
close();
|
||||||
|
|
||||||
JpegState* state = new JpegState;
|
JpegState* state = new JpegState;
|
||||||
|
@ -140,7 +140,7 @@ void PngDecoder::readDataFromBuf( void* _png_ptr, uchar* dst, size_t size )
|
|||||||
|
|
||||||
bool PngDecoder::readHeader()
|
bool PngDecoder::readHeader()
|
||||||
{
|
{
|
||||||
bool result = false;
|
volatile bool result = false;
|
||||||
close();
|
close();
|
||||||
|
|
||||||
png_structp png_ptr = png_create_read_struct( PNG_LIBPNG_VER_STRING, 0, 0, 0 );
|
png_structp png_ptr = png_create_read_struct( PNG_LIBPNG_VER_STRING, 0, 0, 0 );
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/*M///////////////////////////////////////////////////////////////////////////////////////
|
/*M///////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
|
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
|
||||||
//
|
//
|
||||||
|
@ -93,6 +93,11 @@ Thanks to:
|
|||||||
#pragma warning(disable: 4995)
|
#pragma warning(disable: 4995)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
// MinGW does not understand COM interfaces
|
||||||
|
#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -10,16 +10,16 @@ class Fail(Exception):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "ERROR" if self.t is None else self.t
|
return "ERROR" if self.t is None else self.t
|
||||||
|
|
||||||
def execute(cmd):
|
def execute(cmd, shell=False):
|
||||||
try:
|
try:
|
||||||
log.info("Executing: %s" % cmd)
|
log.info("Executing: %s" % cmd)
|
||||||
retcode = subprocess.call(cmd)
|
retcode = subprocess.call(cmd, shell=shell)
|
||||||
if retcode < 0:
|
if retcode < 0:
|
||||||
raise Fail("Child was terminated by signal:" %s -retcode)
|
raise Fail("Child was terminated by signal:" %s -retcode)
|
||||||
elif retcode > 0:
|
elif retcode > 0:
|
||||||
raise Fail("Child returned: %s" % retcode)
|
raise Fail("Child returned: %s" % retcode)
|
||||||
except OSError as e:
|
except OSError as e:
|
||||||
raise Fail("Execution failed: %s" % e)
|
raise Fail("Execution failed: %s" % e.strerror)
|
||||||
|
|
||||||
def rm_one(d):
|
def rm_one(d):
|
||||||
d = os.path.abspath(d)
|
d = os.path.abspath(d)
|
||||||
@ -180,7 +180,7 @@ class Builder:
|
|||||||
log.info("Generating XML config: %s", xmlname)
|
log.info("Generating XML config: %s", xmlname)
|
||||||
ET.ElementTree(r).write(xmlname, encoding="utf-8")
|
ET.ElementTree(r).write(xmlname, encoding="utf-8")
|
||||||
execute(["ninja", "opencv_engine"])
|
execute(["ninja", "opencv_engine"])
|
||||||
execute(["ant", "-f", os.path.join(apkdest, "build.xml"), "debug"])
|
execute(["ant", "-f", os.path.join(apkdest, "build.xml"), "debug"], shell=True)
|
||||||
# TODO: Sign apk
|
# TODO: Sign apk
|
||||||
|
|
||||||
def build_javadoc(self):
|
def build_javadoc(self):
|
||||||
@ -278,6 +278,7 @@ if __name__ == "__main__":
|
|||||||
log.info("Detected OpenCV version: %s", builder.opencv_version)
|
log.info("Detected OpenCV version: %s", builder.opencv_version)
|
||||||
log.info("Detected Engine version: %s", builder.engine_version)
|
log.info("Detected Engine version: %s", builder.engine_version)
|
||||||
|
|
||||||
|
if args.extra_pack:
|
||||||
for one in args.extra_pack:
|
for one in args.extra_pack:
|
||||||
i = one.find(":")
|
i = one.find(":")
|
||||||
if i > 0 and i < len(one) - 1:
|
if i > 0 and i < len(one) - 1:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user