diff --git a/extern/carve/bundle.sh b/extern/carve/bundle.sh index cbc1fe6d2d5..3f9028619a5 100755 --- a/extern/carve/bundle.sh +++ b/extern/carve/bundle.sh @@ -114,7 +114,8 @@ incs = ['include'] if env['WITH_BF_BOOST']: if env['OURPLATFORM'] not in ('win32-vc', 'win64-vc'): # Boost is setting as preferred collections library in the Carve code when using MSVC compiler - defs.append('HAVE_BOOST_UNORDERED_COLLECTIONS') + if env['OURPLATFORM'] != 'win32-mingw': + defs.append('HAVE_BOOST_UNORDERED_COLLECTIONS') defs.append('CARVE_SYSTEM_BOOST') incs.append(env['BF_BOOST_INC']) diff --git a/extern/carve/patches/gcc46.patch b/extern/carve/patches/gcc46.patch new file mode 100644 index 00000000000..a8384dcdab8 --- /dev/null +++ b/extern/carve/patches/gcc46.patch @@ -0,0 +1,11 @@ +diff -r 525472fb477a include/carve/polyline_iter.hpp +--- a/include/carve/polyline_iter.hpp Sun Jan 15 23:07:40 2012 -0500 ++++ b/include/carve/polyline_iter.hpp Wed Jan 18 00:41:13 2012 +0600 +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + #include + diff --git a/extern/carve/patches/mingw.patch b/extern/carve/patches/mingw.patch new file mode 100644 index 00000000000..c237edf18e9 --- /dev/null +++ b/extern/carve/patches/mingw.patch @@ -0,0 +1,15 @@ +diff -r 525472fb477a include/carve/win32.h +--- a/include/carve/win32.h Sun Jan 15 23:07:40 2012 -0500 ++++ b/include/carve/win32.h Wed Jan 18 00:40:10 2012 +0600 +@@ -8,9 +8,11 @@ + #include + #include + ++#if !defined(__MINGW32__) + inline int strcasecmp(const char *a, const char *b) { + return _stricmp(a,b); + } ++#endif + + inline void srandom(unsigned long input) { + srand(input); diff --git a/extern/carve/patches/series b/extern/carve/patches/series index 6e2a36a0576..585d90659bd 100644 --- a/extern/carve/patches/series +++ b/extern/carve/patches/series @@ -2,3 +2,5 @@ strict_flags.patch includes.patch win32.patch mesh_iterator.patch +mingw.patch +gcc46.patch