diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2022-09-15 21:06:04 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2023-06-09 12:24:56 +0200 |
commit | 2193650b3373ee1889961cfb72d1fe97f73e2c23 (patch) | |
tree | af4cff5c00a498f2ddd7776e4c04e3055cb7e64c /external/coinmp | |
parent | 3c7813b095c18744954bb21ec7f773cbba5d4a63 (diff) |
external/coinmp: Update to CoinMP 1.8.4
...originally started mostly to simplify a then-upcoming change to address
std::bind2nd gone from libc++ for C++17 (which turned out to already be
partially addressed in this new CoinMP revision). But that has since been
addressed with b97e8b9d13ef0f57f7cf0badbefcb038a8bbd137 "external/coinmp: Adapt
to std::bind2nd gone from C++17" on top of the old CoinMP 1.7.6, because
updating to 1.8.4 turned out to run into issues on Windows, see the email thread
starting at
<https://lists.freedesktop.org/archives/libreoffice/2022-September/089383.html>
"Maintaining building external/coinmp on Windows".
* <https://dev-www.libreoffice.org/src/CoinMP-1.8.4.tgz> is a copy of
<https://www.coin-or.org/download/source/CoinMP/CoinMP-1.8.4.tgz>.
* Various of our patches are meanwhile addressed upstream, partially or in
whole.
* The upstream configure scripts deteriorated and caused one of my Linux build's
CC=/absolute/path/to/some/clang to be mistaken for MSVC which caused them to
force LD=link, which in turn caused them to only build archives and not the
shared libraries that we expect. external/coinmp/clang-with-path.patch
addresses that.
* There's apparently a new ClpSolver library now that also needs to be
installed. Otherwise at least CppunitTest_sccomp_swarmsolvertest failed due
to
> warn:sal.osl:1950612:1950612:sal/osl/unx/module.cxx:152: dlopen(instdir/program/libsolverlo.so, 257): libClpSolver.so.1: cannot open shared object file: No such file or directory
* Plus modifications to external/coinmp/windows.build.patch.1 thankfully done by
Taichi Haradaguchi <20001722@ymail.ne.jp> to make this actually compile on
Windows (cf. the mailing list thread starting at
<https://lists.freedesktop.org/archives/libreoffice/2022-September/089383.html>
"Maintaining building external/coinmp on Windows")
Change-Id: I498c9513fa0d96d8ae2b9ba4c09dd792340db730
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140057
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'external/coinmp')
-rw-r--r-- | external/coinmp/ExternalPackage_coinmp.mk | 34 | ||||
-rw-r--r-- | external/coinmp/ExternalProject_coinmp.mk | 17 | ||||
-rw-r--r-- | external/coinmp/UnpackedTarball_coinmp.mk | 4 | ||||
-rw-r--r-- | external/coinmp/bind2nd.patch.1 | 74 | ||||
-rw-r--r-- | external/coinmp/clang-with-path.patch | 120 | ||||
-rw-r--r-- | external/coinmp/no-binaries.patch.1 | 4 | ||||
-rw-r--r-- | external/coinmp/osi_cuts_iterator.patch.0 | 12 | ||||
-rw-r--r-- | external/coinmp/register.patch | 294 | ||||
-rw-r--r-- | external/coinmp/werror-format-pedantic.patch.0 | 10 | ||||
-rw-r--r-- | external/coinmp/werror-format-security.patch.0 | 12 | ||||
-rw-r--r-- | external/coinmp/windows.build.patch.1 | 28 |
11 files changed, 173 insertions, 436 deletions
diff --git a/external/coinmp/ExternalPackage_coinmp.mk b/external/coinmp/ExternalPackage_coinmp.mk index 23fbb10b820f..91c3d4531748 100644 --- a/external/coinmp/ExternalPackage_coinmp.mk +++ b/external/coinmp/ExternalPackage_coinmp.mk @@ -19,23 +19,25 @@ $(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/CoinMP.dll,C else ifneq ($(DISABLE_DYNLOADING),) # Just use the static archives from workdir. See bin/lo-all-static-libs else ifeq ($(OS),MACOSX) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCbc.3.dylib,Cbc/src/.libs/libCbc.3.8.8.dylib)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCbcSolver.3.dylib,Cbc/src/.libs/libCbcSolver.3.8.8.dylib)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCgl.1.dylib,Cgl/src/.libs/libCgl.1.8.5.dylib)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libClp.1.dylib,Clp/src/.libs/libClp.1.12.6.dylib)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libOsiClp.1.dylib,Clp/src/OsiClp/.libs/libOsiClp.1.12.6.dylib)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCoinMP.1.dylib,CoinMP/src/.libs/libCoinMP.1.7.6.dylib)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCoinUtils.3.dylib,CoinUtils/src/.libs/libCoinUtils.3.9.11.dylib)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libOsi.1.dylib,Osi/src/Osi/.libs/libOsi.1.11.5.dylib)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCbc.3.dylib,Cbc/src/.libs/libCbc.3.9.10.dylib)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCbcSolver.3.dylib,Cbc/src/.libs/libCbcSolver.3.9.10.dylib)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCgl.1.dylib,Cgl/src/.libs/libCgl.1.9.11.dylib)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libClp.1.dylib,Clp/src/.libs/libClp.1.13.12.dylib)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libClpSolver.1.dylib,Clp/src/.libs/libClpSolver.1.13.12.dylib)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libOsiClp.1.dylib,Clp/src/OsiClp/.libs/libOsiClp.1.13.12.dylib)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCoinMP.1.dylib,CoinMP/src/.libs/libCoinMP.1.8.4.dylib)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCoinUtils.3.dylib,CoinUtils/src/.libs/libCoinUtils.3.10.15.dylib)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libOsi.1.dylib,Osi/src/Osi/.libs/libOsi.1.12.10.dylib)) else -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCbc.so.3,Cbc/src/.libs/libCbc.so.3.8.8)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCbcSolver.so.3,Cbc/src/.libs/libCbcSolver.so.3.8.8)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCgl.so.1,Cgl/src/.libs/libCgl.so.1.8.5)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libClp.so.1,Clp/src/.libs/libClp.so.1.12.6)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libOsiClp.so.1,Clp/src/OsiClp/.libs/libOsiClp.so.1.12.6)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCoinMP.so.1,CoinMP/src/.libs/libCoinMP.so.1.7.6)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCoinUtils.so.3,CoinUtils/src/.libs/libCoinUtils.so.3.9.11)) -$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libOsi.so.1,Osi/src/Osi/.libs/libOsi.so.1.11.5)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCbc.so.3,Cbc/src/.libs/libCbc.so.3.9.10)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCbcSolver.so.3,Cbc/src/.libs/libCbcSolver.so.3.9.10)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCgl.so.1,Cgl/src/.libs/libCgl.so.1.9.11)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libClp.so.1,Clp/src/.libs/libClp.so.1.13.12)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libClpSolver.so.1,Clp/src/.libs/libClpSolver.so.1.13.12)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libOsiClp.so.1,Clp/src/OsiClp/.libs/libOsiClp.so.1.13.12)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCoinMP.so.1,CoinMP/src/.libs/libCoinMP.so.1.8.4)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libCoinUtils.so.3,CoinUtils/src/.libs/libCoinUtils.so.3.10.15)) +$(eval $(call gb_ExternalPackage_add_file,coinmp,$(LIBO_LIB_FOLDER)/libOsi.so.1,Osi/src/Osi/.libs/libOsi.so.1.12.10)) endif # vim: set noet sw=4 ts=4: diff --git a/external/coinmp/ExternalProject_coinmp.mk b/external/coinmp/ExternalProject_coinmp.mk index 0a9c44c5e05f..559d9eb1b11b 100644 --- a/external/coinmp/ExternalProject_coinmp.mk +++ b/external/coinmp/ExternalProject_coinmp.mk @@ -43,14 +43,15 @@ $(call gb_ExternalProject_get_state_target,coinmp,build) : && $(MAKE) \ $(if $(filter MACOSX,$(OS)),&& $(PERL) \ $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \ - $(EXTERNAL_WORKDIR)/Cbc/src/.libs/libCbc.3.8.8.dylib \ - $(EXTERNAL_WORKDIR)/Cbc/src/.libs/libCbcSolver.3.8.8.dylib \ - $(EXTERNAL_WORKDIR)/Cgl/src/.libs/libCgl.1.8.5.dylib \ - $(EXTERNAL_WORKDIR)/Clp/src/.libs/libClp.1.12.6.dylib \ - $(EXTERNAL_WORKDIR)/Clp/src/OsiClp/.libs/libOsiClp.1.12.6.dylib \ - $(EXTERNAL_WORKDIR)/CoinMP/src/.libs/libCoinMP.1.7.6.dylib \ - $(EXTERNAL_WORKDIR)/CoinUtils/src/.libs/libCoinUtils.3.9.11.dylib \ - $(EXTERNAL_WORKDIR)/Osi/src/Osi/.libs/libOsi.1.11.5.dylib) \ + $(EXTERNAL_WORKDIR)/Cbc/src/.libs/libCbc.3.9.10.dylib \ + $(EXTERNAL_WORKDIR)/Cbc/src/.libs/libCbcSolver.3.9.10.dylib \ + $(EXTERNAL_WORKDIR)/Cgl/src/.libs/libCgl.1.9.11.dylib \ + $(EXTERNAL_WORKDIR)/Clp/src/.libs/libClp.1.13.12.dylib \ + $(EXTERNAL_WORKDIR)/Clp/src/.libs/libClpSolver.1.13.12.dylib \ + $(EXTERNAL_WORKDIR)/Clp/src/OsiClp/.libs/libOsiClp.1.13.12.dylib \ + $(EXTERNAL_WORKDIR)/CoinMP/src/.libs/libCoinMP.1.8.4.dylib \ + $(EXTERNAL_WORKDIR)/CoinUtils/src/.libs/libCoinUtils.3.10.15.dylib \ + $(EXTERNAL_WORKDIR)/Osi/src/Osi/.libs/libOsi.1.12.10.dylib) \ ) $(call gb_Trace_EndRange,coinmp,EXTERNAL) diff --git a/external/coinmp/UnpackedTarball_coinmp.mk b/external/coinmp/UnpackedTarball_coinmp.mk index b874f2b290f3..75fa5aaf653a 100644 --- a/external/coinmp/UnpackedTarball_coinmp.mk +++ b/external/coinmp/UnpackedTarball_coinmp.mk @@ -33,13 +33,10 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,coinmp,\ # <https://list.coin-or.org/pipermail/coin-discuss/2020-February/003972.html> "[Coin-discuss] # Small patch to fix Clang -Wnon-c-typedef-for-linkage in Clp": $(eval $(call gb_UnpackedTarball_add_patches,coinmp,\ - external/coinmp/osi_cuts_iterator.patch.0 \ external/coinmp/no-binaries.patch.1 \ - external/coinmp/werror-format-security.patch.0 \ external/coinmp/werror-undef.patch.0 \ external/coinmp/coinmp-msvc-disable-sse2.patch.1 \ $(if $(filter MSC,$(COM)),external/coinmp/windows.build.patch.1) \ - external/coinmp/werror-format-pedantic.patch.0 \ external/coinmp/ubsan.patch.0 \ external/coinmp/rpath.patch \ external/coinmp/libtool.patch \ @@ -48,6 +45,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,coinmp,\ external/coinmp/configure-exit.patch \ external/coinmp/pedantic-errors.patch \ external/coinmp/bind2nd.patch.1 \ + external/coinmp/clang-with-path.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/coinmp/bind2nd.patch.1 b/external/coinmp/bind2nd.patch.1 index 5b3222eea9a0..6ef10a03e102 100644 --- a/external/coinmp/bind2nd.patch.1 +++ b/external/coinmp/bind2nd.patch.1 @@ -11,77 +11,3 @@ si->setObjective(objective) ; si->resolve() ; OSIUNITTEST_ASSERT_ERROR(si->isProvenOptimal(), return false, *si, "test16SebastianNowozin second resolve"); - -The below is an excerpt from -<https://github.com/coin-or/CoinUtils/commit/4f0dab267fc3976d0542f56e2939f900857147a6> "make c++17 -compatible": - -diff --git a/CoinUtils/src/CoinPackedMatrix.cpp b/CoinUtils/src/CoinPackedMatrix.cpp -index c7631289..0b103159 100644 ---- a/CoinUtils/src/CoinPackedMatrix.cpp -+++ b/CoinUtils/src/CoinPackedMatrix.cpp -@@ -1490,11 +1490,11 @@ CoinPackedMatrix::minorAppendSameOrdered(const CoinPackedMatrix& matrix) - - // now insert the entries of matrix - for (i = majorDim_ - 1; i >= 0; --i) { -- const int l = matrix.length_[i]; -- std::transform(matrix.index_ + matrix.start_[i], -- matrix.index_ + (matrix.start_[i] + l), -- index_ + (start_[i] + length_[i]), -- std::bind2nd(std::plus<int>(), minorDim_)); -+ int l = matrix.length_[i]; -+ CoinBigIndex put = start_[i]+length_[i]; -+ const CoinBigIndex get = matrix.start_[i]; -+ for (int j=0;j<l;j++) -+ index_[put+j]=matrix.index_[get+j]+minorDim_; - CoinMemcpyN(matrix.element_ + matrix.start_[i], l, - element_ + (start_[i] + length_[i])); - length_[i] += l; -diff --git a/CoinUtils/src/CoinPackedVector.cpp b/CoinUtils/src/CoinPackedVector.cpp -index 7d90b3de..158a8373 100644 ---- a/CoinUtils/src/CoinPackedVector.cpp -+++ b/CoinUtils/src/CoinPackedVector.cpp -@@ -284,8 +284,8 @@ CoinPackedVector::truncate( int n ) - void - CoinPackedVector::operator+=(double value) - { -- std::transform(elements_, elements_ + nElements_, elements_, -- std::bind2nd(std::plus<double>(), value) ); -+ for (int i=0 ; i < nElements_; i++) -+ elements_[i] += value; - } - - //----------------------------------------------------------------------------- -@@ -293,8 +293,8 @@ CoinPackedVector::operator+=(double value) - void - CoinPackedVector::operator-=(double value) - { -- std::transform(elements_, elements_ + nElements_, elements_, -- std::bind2nd(std::minus<double>(), value) ); -+ for (int i=0 ; i < nElements_; i++) -+ elements_[i] -= value; - } - - //----------------------------------------------------------------------------- -@@ -302,8 +302,8 @@ CoinPackedVector::operator-=(double value) - void - CoinPackedVector::operator*=(double value) - { -- std::transform(elements_, elements_ + nElements_, elements_, -- std::bind2nd(std::multiplies<double>(), value) ); -+ for (int i=0 ; i < nElements_; i++) -+ elements_[i] *= value; - } - - //----------------------------------------------------------------------------- -@@ -311,8 +311,8 @@ CoinPackedVector::operator*=(double value) - void - CoinPackedVector::operator/=(double value) - { -- std::transform(elements_, elements_ + nElements_, elements_, -- std::bind2nd(std::divides<double>(), value) ); -+ for (int i=0 ; i < nElements_; i++) -+ elements_[i] /= value; - } - - //############################################################################# diff --git a/external/coinmp/clang-with-path.patch b/external/coinmp/clang-with-path.patch new file mode 100644 index 000000000000..c66bcb30b01e --- /dev/null +++ b/external/coinmp/clang-with-path.patch @@ -0,0 +1,120 @@ +--- Cbc/configure ++++ Cbc/configure +@@ -3208,7 +3208,7 @@ + + # Correct the LD variable if we are using the MS or Intel-windows compiler + case "$CC" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; +@@ -4081,7 +4081,7 @@ + + # correct the LD variable in a build with MS or Intel-windows compiler + case "$CXX" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; +--- Cgl/configure ++++ Cgl/configure +@@ -3174,7 +3174,7 @@ + + # Correct the LD variable if we are using the MS or Intel-windows compiler + case "$CC" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; +@@ -4045,7 +4045,7 @@ + + # correct the LD variable in a build with MS or Intel-windows compiler + case "$CXX" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; +--- Clp/configure ++++ Clp/configure +@@ -3204,7 +3204,7 @@ + + # Correct the LD variable if we are using the MS or Intel-windows compiler + case "$CC" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; +@@ -4075,7 +4075,7 @@ + + # correct the LD variable in a build with MS or Intel-windows compiler + case "$CXX" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; +--- CoinMP/configure ++++ CoinMP/configure +@@ -3143,7 +3143,7 @@ + + # Correct the LD variable if we are using the MS or Intel-windows compiler + case "$CC" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; +@@ -4016,7 +4016,7 @@ + + # correct the LD variable in a build with MS or Intel-windows compiler + case "$CXX" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; +--- CoinUtils/configure ++++ CoinUtils/configure +@@ -3200,7 +3200,7 @@ + + # Correct the LD variable if we are using the MS or Intel-windows compiler + case "$CC" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; +@@ -4071,7 +4071,7 @@ + + # correct the LD variable in a build with MS or Intel-windows compiler + case "$CXX" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; +--- Osi/configure ++++ Osi/configure +@@ -3172,7 +3172,7 @@ + + # Correct the LD variable if we are using the MS or Intel-windows compiler + case "$CC" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; +@@ -4845,7 +4845,7 @@ + + # correct the LD variable in a build with MS or Intel-windows compiler + case "$CXX" in +- clang* ) ;; ++ clang* | */clang* ) ;; + cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*) + LD=link + ;; diff --git a/external/coinmp/no-binaries.patch.1 b/external/coinmp/no-binaries.patch.1 index 0c36950c1a29..789e8a7f7e60 100644 --- a/external/coinmp/no-binaries.patch.1 +++ b/external/coinmp/no-binaries.patch.1 @@ -11,7 +11,7 @@ +bin_PROGRAMS = @COIN_HAS_CHOLMOD_TRUE@am__append_7 = -I`$(CYGPATH_W) $(CHOLMODINCDIR)` @COIN_HAS_AMD_TRUE@am__append_8 = -I`$(CYGPATH_W) $(AMDINCDIR)` - @COIN_HAS_ABC_TRUE@am__append_9 = AbcSimplex.hpp CoinAbcCommon.hpp AbcCommon.hpp + @COIN_HAS_ABC_TRUE@am__append_9 = AbcSimplex.hpp CoinAbcCommon.hpp AbcCommon.hpp AbcNonLinearCost.hpp --- coinmp/Cbc/src/Makefile.in +++ coinmp/Cbc/src/Makefile.in @@ -44,7 +44,7 @@ @@ -20,6 +20,6 @@ host_triplet = @host@ -bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) +bin_PROGRAMS = + @COIN_HAS_NTY_TRUE@am__append_1 = -I$(NTYINCDIR) ######################################################################## - # cbc program # diff --git a/external/coinmp/osi_cuts_iterator.patch.0 b/external/coinmp/osi_cuts_iterator.patch.0 deleted file mode 100644 index 42ed5afdcf83..000000000000 --- a/external/coinmp/osi_cuts_iterator.patch.0 +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru coinmp.orig/Osi/src/Osi/OsiCuts.hpp coinmp/Osi/src/Osi/OsiCuts.hpp ---- Osi/src/Osi/OsiCuts.hpp 2011-06-13 17:08:11.000000000 +0200 -+++ Osi/src/Osi/OsiCuts.hpp 2016-03-03 22:21:04.669838200 +0100 -@@ -74,7 +74,7 @@ - class const_iterator { - friend class OsiCuts; - public: -- typedef std::bidirectional_iterator_tag iterator_category; -+ typedef std::forward_iterator_tag iterator_category; - typedef OsiCut* value_type; - typedef size_t difference_type; - typedef OsiCut ** pointer; diff --git a/external/coinmp/register.patch b/external/coinmp/register.patch index cf4ca4d06c01..050b47f97fa6 100644 --- a/external/coinmp/register.patch +++ b/external/coinmp/register.patch @@ -1,249 +1,3 @@ ---- CoinUtils/src/CoinHelperFunctions.hpp -+++ CoinUtils/src/CoinHelperFunctions.hpp -@@ -41,7 +41,7 @@ - handled correctly. */ - - template <class T> inline void --CoinCopyN(register const T* from, const int size, register T* to) -+CoinCopyN(const T* from, const int size, T* to) - { - if (size == 0 || from == to) - return; -@@ -52,10 +52,10 @@ - "CoinCopyN", ""); - #endif - -- register int n = (size + 7) / 8; -+ int n = (size + 7) / 8; - if (to > from) { -- register const T* downfrom = from + size; -- register T* downto = to + size; -+ const T* downfrom = from + size; -+ T* downto = to + size; - // Use Duff's device to copy - switch (size % 8) { - case 0: do{ *--downto = *--downfrom; -@@ -99,7 +99,7 @@ - the difference down to int. -- lh, 100823 -- - */ - template <class T> inline void --CoinCopy(register const T* first, register const T* last, register T* to) -+CoinCopy(const T* first, const T* last, T* to) - { - CoinCopyN(first, static_cast<int>(last-first), to); - } -@@ -114,7 +114,7 @@ - Note JJF - the speed claim seems to be false on IA32 so I have added - CoinMemcpyN which can be used for atomic data */ - template <class T> inline void --CoinDisjointCopyN(register const T* from, const int size, register T* to) -+CoinDisjointCopyN(const T* from, const int size, T* to) - { - #ifndef _MSC_VER - if (size == 0 || from == to) -@@ -135,7 +135,7 @@ - throw CoinError("overlapping arrays", "CoinDisjointCopyN", ""); - #endif - -- for (register int n = size / 8; n > 0; --n, from += 8, to += 8) { -+ for (int n = size / 8; n > 0; --n, from += 8, to += 8) { - to[0] = from[0]; - to[1] = from[1]; - to[2] = from[2]; -@@ -167,8 +167,8 @@ - are copied at a time. The source array is given by its first and "after - last" entry; the target array is given by its first entry. */ - template <class T> inline void --CoinDisjointCopy(register const T* first, register const T* last, -- register T* to) -+CoinDisjointCopy(const T* first, const T* last, -+ T* to) - { - CoinDisjointCopyN(first, static_cast<int>(last - first), to); - } -@@ -256,7 +256,7 @@ - alternative coding if USE_MEMCPY defined*/ - #ifndef COIN_USE_RESTRICT - template <class T> inline void --CoinMemcpyN(register const T* from, const int size, register T* to) -+CoinMemcpyN(const T* from, const int size, T* to) - { - #ifndef _MSC_VER - #ifdef USE_MEMCPY -@@ -296,7 +296,7 @@ - throw CoinError("overlapping arrays", "CoinMemcpyN", ""); - #endif - -- for (register int n = size / 8; n > 0; --n, from += 8, to += 8) { -+ for (int n = size / 8; n > 0; --n, from += 8, to += 8) { - to[0] = from[0]; - to[1] = from[1]; - to[2] = from[2]; -@@ -343,8 +343,8 @@ - are copied at a time. The source array is given by its first and "after - last" entry; the target array is given by its first entry. */ - template <class T> inline void --CoinMemcpy(register const T* first, register const T* last, -- register T* to) -+CoinMemcpy(const T* first, const T* last, -+ T* to) - { - CoinMemcpyN(first, static_cast<int>(last - first), to); - } -@@ -358,7 +358,7 @@ - Note JJF - the speed claim seems to be false on IA32 so I have added - CoinZero to allow for memset. */ - template <class T> inline void --CoinFillN(register T* to, const int size, register const T value) -+CoinFillN(T* to, const int size, const T value) - { - if (size == 0) - return; -@@ -369,7 +369,7 @@ - "CoinFillN", ""); - #endif - #if 1 -- for (register int n = size / 8; n > 0; --n, to += 8) { -+ for (int n = size / 8; n > 0; --n, to += 8) { - to[0] = value; - to[1] = value; - to[2] = value; -@@ -413,7 +413,7 @@ - entries are filled at a time. The array is given by its first and "after - last" entry. */ - template <class T> inline void --CoinFill(register T* first, register T* last, const T value) -+CoinFill(T* first, T* last, const T value) - { - CoinFillN(first, last - first, value); - } -@@ -427,7 +427,7 @@ - Note JJF - the speed claim seems to be false on IA32 so I have allowed - for memset as an alternative */ - template <class T> inline void --CoinZeroN(register T* to, const int size) -+CoinZeroN(T* to, const int size) - { - #ifdef USE_MEMCPY - // Use memset - seems faster on Intel with gcc -@@ -448,7 +448,7 @@ - "CoinZeroN", ""); - #endif - #if 1 -- for (register int n = size / 8; n > 0; --n, to += 8) { -+ for (int n = size / 8; n > 0; --n, to += 8) { - to[0] = 0; - to[1] = 0; - to[2] = 0; -@@ -519,7 +519,7 @@ - entries are filled at a time. The array is given by its first and "after - last" entry. */ - template <class T> inline void --CoinZero(register T* first, register T* last) -+CoinZero(T* first, T* last) - { - CoinZeroN(first, last - first); - } -@@ -545,7 +545,7 @@ - This function was introduced because for some reason compiler tend to - handle the <code>max()</code> function differently. */ - template <class T> inline T --CoinMax(register const T x1, register const T x2) -+CoinMax(const T x1, const T x2) - { - return (x1 > x2) ? x1 : x2; - } -@@ -556,7 +556,7 @@ - This function was introduced because for some reason compiler tend to - handle the min() function differently. */ - template <class T> inline T --CoinMin(register const T x1, register const T x2) -+CoinMin(const T x1, const T x2) - { - return (x1 < x2) ? x1 : x2; - } -@@ -578,7 +578,7 @@ - according to operator<. The array is given by a pointer to its first entry - and by its size. */ - template <class T> inline bool --CoinIsSorted(register const T* first, const int size) -+CoinIsSorted(const T* first, const int size) - { - if (size == 0) - return true; -@@ -590,7 +590,7 @@ - #if 1 - // size1 is the number of comparisons to be made - const int size1 = size - 1; -- for (register int n = size1 / 8; n > 0; --n, first += 8) { -+ for (int n = size1 / 8; n > 0; --n, first += 8) { - if (first[8] < first[7]) return false; - if (first[7] < first[6]) return false; - if (first[6] < first[5]) return false; -@@ -627,7 +627,7 @@ - according to operator<. The array is given by its first and "after - last" entry. */ - template <class T> inline bool --CoinIsSorted(register const T* first, register const T* last) -+CoinIsSorted(const T* first, const T* last) - { - return CoinIsSorted(first, static_cast<int>(last - first)); - } -@@ -638,7 +638,7 @@ - etc. For speed 8 entries are filled at a time. The array is given by a - pointer to its first entry and its size. */ - template <class T> inline void --CoinIotaN(register T* first, const int size, register T init) -+CoinIotaN(T* first, const int size, T init) - { - if (size == 0) - return; -@@ -648,7 +648,7 @@ - throw CoinError("negative number of entries", "CoinIotaN", ""); - #endif - #if 1 -- for (register int n = size / 8; n > 0; --n, first += 8, init += 8) { -+ for (int n = size / 8; n > 0; --n, first += 8, init += 8) { - first[0] = init; - first[1] = init + 1; - first[2] = init + 2; -@@ -706,7 +706,7 @@ - integer array specified by the last two arguments (again, first and "after - last" entry). */ - template <class T> inline T * --CoinDeleteEntriesFromArray(register T * arrayFirst, register T * arrayLast, -+CoinDeleteEntriesFromArray(T * arrayFirst, T * arrayLast, - const int * firstDelPos, const int * lastDelPos) - { - int delNum = static_cast<int>(lastDelPos - firstDelPos); ---- CoinUtils/src/CoinModelUseful2.cpp -+++ CoinUtils/src/CoinModelUseful2.cpp -@@ -917,8 +917,8 @@ - - int position=0; - int nEof=0; // Number of time send of string -- register int yystate; -- register int yyn; -+ int yystate; -+ int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; -@@ -936,12 +936,12 @@ - /* The state stack. */ - short yyssa[YYINITDEPTH]; - short *yyss = yyssa; -- register short *yyssp; -+ short *yyssp; - - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; -- register YYSTYPE *yyvsp; -+ YYSTYPE *yyvsp; - - - --- CoinUtils/src/CoinOslC.h +++ CoinUtils/src/CoinOslC.h @@ -34,30 +34,30 @@ @@ -319,51 +73,3 @@ { int * hrow = fact->xeradr; int * hcol = fact->xecadr; ---- CoinUtils/src/CoinPackedVectorBase.cpp -+++ CoinUtils/src/CoinPackedVectorBase.cpp -@@ -194,8 +194,8 @@ - double - CoinPackedVectorBase::oneNorm() const - { -- register double norm = 0.0; -- register const double* elements = getElements(); -+ double norm = 0.0; -+ const double* elements = getElements(); - for (int i = getNumElements() - 1; i >= 0; --i) { - norm += fabs(elements[i]); - } -@@ -224,8 +224,8 @@ - double - CoinPackedVectorBase::infNorm() const - { -- register double norm = 0.0; -- register const double* elements = getElements(); -+ double norm = 0.0; -+ const double* elements = getElements(); - for (int i = getNumElements() - 1; i >= 0; --i) { - norm = CoinMax(norm, fabs(elements[i])); - } ---- CoinUtils/src/CoinSearchTree.hpp -+++ CoinUtils/src/CoinSearchTree.hpp -@@ -153,8 +153,8 @@ - static inline const char* name() { return "CoinSearchTreeComparePreferred"; } - inline bool operator()(const CoinTreeSiblings* x, - const CoinTreeSiblings* y) const { -- register const CoinTreeNode* xNode = x->currentNode(); -- register const CoinTreeNode* yNode = y->currentNode(); -+ const CoinTreeNode* xNode = x->currentNode(); -+ const CoinTreeNode* yNode = y->currentNode(); - const BitVector128 xPref = xNode->getPreferred(); - const BitVector128 yPref = yNode->getPreferred(); - bool retval = true; ---- CoinUtils/src/CoinSimpFactorization.cpp -+++ CoinUtils/src/CoinSimpFactorization.cpp -@@ -2440,7 +2440,7 @@ - const int row=secRowOfU_[i]; - const int column=colOfU_[i]; - if ( denseVector_[column]==0.0 ) continue; -- register const double multiplier=denseVector_[column]*invOfPivots_[row]; -+ const double multiplier=denseVector_[column]*invOfPivots_[row]; - denseVector_[column]=0.0; - const int rowBeg=UrowStarts_[row]; - const int rowEnd=rowBeg+UrowLengths_[row]; diff --git a/external/coinmp/werror-format-pedantic.patch.0 b/external/coinmp/werror-format-pedantic.patch.0 deleted file mode 100644 index a604c4354fc6..000000000000 --- a/external/coinmp/werror-format-pedantic.patch.0 +++ /dev/null @@ -1,10 +0,0 @@ ---- Cbc/configure -+++ Cbc/configure -@@ -3780,7 +3780,6 @@ - *-darwin*) - ;; - *) -- coin_warn_cxxflags="-pedantic-errors $coin_warn_cxxflags" - ;; - esac - esac diff --git a/external/coinmp/werror-format-security.patch.0 b/external/coinmp/werror-format-security.patch.0 deleted file mode 100644 index 90c116b5b06d..000000000000 --- a/external/coinmp/werror-format-security.patch.0 +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur coinmp.org/CoinUtils/src/CoinMessageHandler.cpp coinmp/CoinUtils/src/CoinMessageHandler.cpp ---- CoinUtils/src/CoinMessageHandler.cpp 2014-05-21 23:14:01.384874167 +0200 -+++ CoinUtils/src/CoinMessageHandler.cpp 2014-05-21 23:14:47.708874712 +0200 -@@ -820,7 +820,7 @@ - sprintf(messageOut_,g_format_,doublevalue); - if (next != format_+2) { - messageOut_+=strlen(messageOut_); -- sprintf(messageOut_,format_+2); -+ sprintf(messageOut_,"%s",format_+2); - } - } - messageOut_+=strlen(messageOut_); diff --git a/external/coinmp/windows.build.patch.1 b/external/coinmp/windows.build.patch.1 index 2bd0526ac2c4..a412729e1c80 100644 --- a/external/coinmp/windows.build.patch.1 +++ b/external/coinmp/windows.build.patch.1 @@ -1,8 +1,8 @@ diff -urN coinmp.org/Cbc/MSVisualStudio/v9/libCbc/libCbc.vcxproj coinmp/Cbc/MSVisualStudio/v9/libCbc/libCbc.vcxproj --- coinmp.org/Cbc/MSVisualStudio/v9/libCbc/libCbc.vcxproj 1970-01-01 01:00:00.000000000 +0100 -+++ coinmp/Cbc/MSVisualStudio/v9/libCbc/libCbc.vcxproj 2014-02-28 15:32:36.548600694 +0100 -@@ -0,0 +1,506 @@ -+<?xml version="1.0" encoding="utf-8"?> ++++ coinmp/Cbc/MSVisualStudio/v9/libCbc/libCbc.vcxproj 2023-05-24 20:35:48.642884800 +0900 +@@ -0,0 +1,515 @@ ++<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> @@ -318,6 +318,14 @@ diff -urN coinmp.org/Cbc/MSVisualStudio/v9/libCbc/libCbc.vcxproj coinmp/Cbc/MSVi + <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> + <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> + </ClCompile> ++ <ClCompile Include="..\..\..\src\CbcHeuristicDW.cpp"> ++ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> ++ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> ++ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization> ++ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks> ++ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> ++ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> ++ </ClCompile> + <ClCompile Include="..\..\..\src\CbcHeuristicFPump.cpp"> + <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> + <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> @@ -475,6 +483,7 @@ diff -urN coinmp.org/Cbc/MSVisualStudio/v9/libCbc/libCbc.vcxproj coinmp/Cbc/MSVi + <ClInclude Include="..\..\..\src\CbcHeuristicDiveLineSearch.hpp" /> + <ClInclude Include="..\..\..\src\CbcHeuristicDivePseudoCost.hpp" /> + <ClInclude Include="..\..\..\src\CbcHeuristicDiveVectorLength.hpp" /> ++ <ClInclude Include="..\..\..\src\CbcHeuristicDW.hpp" /> + <ClInclude Include="..\..\..\src\CbcHeuristicFPump.hpp" /> + <ClInclude Include="..\..\..\src\CbcHeuristicGreedy.hpp" /> + <ClInclude Include="..\..\..\src\CbcHeuristicLocal.hpp" /> @@ -2361,8 +2370,8 @@ diff -urN coinmp.org/CoinMP/MSVisualStudio/v9/unitTest/unitTest.vcxproj coinmp/C \ No newline at end of file diff -urN coinmp.org/CoinUtils/MSVisualStudio/v9/libCoinUtils/libCoinUtils.vcxproj coinmp/CoinUtils/MSVisualStudio/v9/libCoinUtils/libCoinUtils.vcxproj --- coinmp.org/CoinUtils/MSVisualStudio/v9/libCoinUtils/libCoinUtils.vcxproj 1970-01-01 01:00:00.000000000 +0100 -+++ coinmp/CoinUtils/MSVisualStudio/v9/libCoinUtils/libCoinUtils.vcxproj 2014-02-28 15:32:36.564600694 +0100 -@@ -0,0 +1,650 @@ ++++ coinmp/CoinUtils/MSVisualStudio/v9/libCoinUtils/libCoinUtils.vcxproj 2023-06-09 07:25:34.205534300 +0900 +@@ -0,0 +1,659 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> @@ -2890,6 +2899,14 @@ diff -urN coinmp.org/CoinUtils/MSVisualStudio/v9/libCoinUtils/libCoinUtils.vcxpr + <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> + <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> + </ClCompile> ++ <ClCompile Include="..\..\..\src\CoinRational.cpp"> ++ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> ++ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks> ++ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization> ++ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks> ++ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> ++ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> ++ </ClCompile> + <ClCompile Include="..\..\..\src\CoinSearchTree.cpp" /> + <ClCompile Include="..\..\..\src\CoinShallowPackedVector.cpp"> + <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> @@ -2992,6 +3009,7 @@ diff -urN coinmp.org/CoinUtils/MSVisualStudio/v9/libCoinUtils/libCoinUtils.vcxpr + <ClInclude Include="..\..\..\src\CoinPresolveTripleton.hpp" /> + <ClInclude Include="..\..\..\src\CoinPresolveUseless.hpp" /> + <ClInclude Include="..\..\..\src\CoinPresolveZeros.hpp" /> ++ <ClInclude Include="..\..\..\src\CoinRational.hpp" /> + <ClInclude Include="..\..\..\src\CoinSearchTree.hpp" /> + <ClInclude Include="..\..\..\src\CoinShallowPackedVector.hpp" /> + <ClInclude Include="..\..\..\src\CoinSimpFactorization.hpp" /> |