summaryrefslogtreecommitdiff
path: root/external/coinmp
diff options
context:
space:
mode:
Diffstat (limited to 'external/coinmp')
-rw-r--r--external/coinmp/UnpackedTarball_coinmp.mk1
-rw-r--r--external/coinmp/odr.patch30
2 files changed, 31 insertions, 0 deletions
diff --git a/external/coinmp/UnpackedTarball_coinmp.mk b/external/coinmp/UnpackedTarball_coinmp.mk
index 75fa5aaf653a..83ebfca80193 100644
--- a/external/coinmp/UnpackedTarball_coinmp.mk
+++ b/external/coinmp/UnpackedTarball_coinmp.mk
@@ -46,6 +46,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,coinmp,\
external/coinmp/pedantic-errors.patch \
external/coinmp/bind2nd.patch.1 \
external/coinmp/clang-with-path.patch \
+ external/coinmp/odr.patch \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/coinmp/odr.patch b/external/coinmp/odr.patch
new file mode 100644
index 000000000000..6e91c86415d2
--- /dev/null
+++ b/external/coinmp/odr.patch
@@ -0,0 +1,30 @@
+--- Cbc/src/CbcSolver.cpp
++++ Cbc/src/CbcSolver.cpp
+@@ -970,8 +970,13 @@
+ this set of calls thread-safe.
+ */
+
++#if defined _MSC_VER
+ int CbcOrClpRead_mode = 1;
+ FILE * CbcOrClpReadCommand = stdin;
++#else
++extern int CbcOrClpRead_mode;
++extern FILE * CbcOrClpReadCommand;
++#endif
+ extern int CbcOrClpEnvironmentIndex;
+
+ int callCbc1(const char * input2, CbcModel & model,
+--- Clp/src/CbcOrClpParam.cpp
++++ Clp/src/CbcOrClpParam.cpp
+@@ -1233,7 +1233,11 @@
+ static char line[1000];
+ static char * where = NULL;
+ extern int CbcOrClpRead_mode;
++#if defined _MSC_VER || !defined COIN_HAS_CBC
+ int CbcOrClpEnvironmentIndex = -1;
++#else
++extern int CbcOrClpEnvironmentIndex;
++#endif
+ static size_t fillEnv()
+ {
+ #if defined(_MSC_VER) || defined(__MSVCRT__)