2193650b33
...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 b97e8b9d13
"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>
60 lines
2.4 KiB
Makefile
60 lines
2.4 KiB
Makefile
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
#
|
|
# This file is part of the LibreOffice project.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
|
|
$(eval $(call gb_ExternalProject_ExternalProject,coinmp))
|
|
|
|
$(eval $(call gb_ExternalProject_register_targets,coinmp,\
|
|
build \
|
|
))
|
|
|
|
ifeq ($(COM),MSC)
|
|
$(call gb_ExternalProject_get_state_target,coinmp,build) :
|
|
$(call gb_Trace_StartRange,coinmp,EXTERNAL)
|
|
$(call gb_ExternalProject_run,build,\
|
|
MSBuild.exe CoinMP.sln /t:Build \
|
|
/p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \
|
|
/p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) \
|
|
/p:PlatformToolset=$(VCTOOLSET) /p:VisualStudioVersion=$(VCVER) /ToolsVersion:Current \
|
|
$(if $(filter 10,$(WINDOWS_SDK_VERSION)),/p:WindowsTargetPlatformVersion=$(UCRTVERSION)) \
|
|
,CoinMP/MSVisualStudio/v9)
|
|
$(call gb_Trace_EndRange,coinmp,EXTERNAL)
|
|
|
|
else
|
|
$(call gb_ExternalProject_get_state_target,coinmp,build) :
|
|
$(call gb_Trace_StartRange,coinmp,EXTERNAL)
|
|
+$(call gb_ExternalProject_run,build,\
|
|
$(gb_RUN_CONFIGURE) ./configure COIN_SKIP_PROJECTS="Data/Sample" \
|
|
$(if $(verbose),--disable-silent-rules,--enable-silent-rules) \
|
|
$(gb_CONFIGURE_PLATFORMS) \
|
|
$(if $(DISABLE_DYNLOADING),--disable-shared) \
|
|
--disable-bzlib \
|
|
$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
|
|
--without-glpk \
|
|
--enable-dependency-linking F77=unavailable \
|
|
$(if $(filter LINUX,$(OS)), \
|
|
'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
|
|
-Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN') \
|
|
&& $(MAKE) \
|
|
$(if $(filter MACOSX,$(OS)),&& $(PERL) \
|
|
$(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
|
|
$(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)
|
|
|
|
endif
|
|
|
|
# vim: set noet sw=4 ts=4:
|