The Lpsolve solver and the CoinMP solver are both used for the same thing: a linear model, with optional integer variables by branch and bound. CoinMP (CLP plus CBC) is the more capable and better maintained of the two, so the lp_solve one adds a second bundled dependency and a parallel copy of the solver code for no capability the other lacks. Remove the LpsolveSolver component, the bundled lp_solve external (and its colamd dependency, which only lp_solve used), and all the build, configure, packaging and license references to them. A document may still name com.sun.star.comp.Calc.LpsolveSolver as its engine. SolverSettings now reads that name as the CoinMP solver, which solves the same model, so such documents keep working. The Calc solver test that exercised the engine now uses CoinMP. Its knapsack model has a single optimal total value of 6987, which fills the weight capacity of 1000 exactly and which CoinMP finds. The lp_solve run had returned a suboptimal 6981, so the test now expects the true optimum. The build setup changes only take effect after re-running autogen. Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> Change-Id: Ia14d8c491779873da6b0157aa524056275adf8f5 Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3810 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CPCI <releng@collaboraoffice.com> (cherry picked from commit e77738a7ca7d44fd9d1f852e26d46e3a6d60467b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208038 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
55 lines
1.6 KiB
Makefile
55 lines
1.6 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/.
|
|
#
|
|
# This file incorporates work covered by the following license notice:
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed
|
|
# with this work for additional information regarding copyright
|
|
# ownership. The ASF licenses this file to you under the Apache
|
|
# License, Version 2.0 (the "License"); you may not use this file
|
|
# except in compliance with the License. You may obtain a copy of
|
|
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
#
|
|
|
|
$(eval $(call gb_Library_Library,solver))
|
|
|
|
$(eval $(call gb_Library_set_componentfile,solver,sccomp/source/solver/solver,services))
|
|
|
|
$(eval $(call gb_Library_add_componentimpls,solver, \
|
|
$(if $(ENABLE_COINMP),coinmp) \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_sdk_api,solver))
|
|
|
|
$(eval $(call gb_Library_set_include,solver,\
|
|
$$(INCLUDE) \
|
|
-I$(SRCDIR)/sccomp/inc \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_libraries,solver,\
|
|
comphelper \
|
|
cppu \
|
|
cppuhelper \
|
|
sal \
|
|
utl \
|
|
i18nlangtag \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_externals,solver,\
|
|
coinmp \
|
|
))
|
|
|
|
$(eval $(call gb_Library_add_exception_objects,solver,\
|
|
sccomp/source/solver/SwarmSolver \
|
|
sccomp/source/solver/SolverComponent \
|
|
$(if $(ENABLE_COINMP), sccomp/source/solver/CoinMPSolver) \
|
|
))
|
|
|
|
# vim: set noet sw=4 ts=4:
|