diff --git a/.cspell/libreoffice.txt b/.cspell/libreoffice.txt
index fa7674986492..37a0622f9c56 100644
--- a/.cspell/libreoffice.txt
+++ b/.cspell/libreoffice.txt
@@ -48,7 +48,6 @@ libwebp
libwps
libzxing
loplugin
-lpsolve
MAKEFLAGS
mergelibs
msgfmt
diff --git a/Makefile.fetch b/Makefile.fetch
index d4c1e1d8beb5..c80ddfd004d6 100644
--- a/Makefile.fetch
+++ b/Makefile.fetch
@@ -170,7 +170,6 @@ $(WORKDIR)/download: $(BUILDDIR)/config_$(gb_Side).mk $(SRCDIR)/download.lst $(S
$(call fetch_Optional,LIBXML2,LIBXML_TARBALL) \
$(call fetch_Optional,XMLSEC,XMLSEC_TARBALL) \
$(call fetch_Optional,LIBXSLT,LIBXSLT_TARBALL) \
- $(call fetch_Optional,LPSOLVE,LPSOLVE_TARBALL) \
$(call fetch_Optional,LXML,LXML_TARBALL) \
$(call fetch_Optional,LZMA,LZMA_TARBALL) \
$(call fetch_Optional,MARIADB_CONNECTOR_C,MARIADB_CONNECTOR_C_TARBALL) \
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index e78741218e8f..ef9d1f014afe 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2534,50 +2534,6 @@ endef
endif # ANDROID
endif # SYSTEM_LCMS2
-ifneq ($(ENABLE_LPSOLVE),)
-
-ifneq ($(SYSTEM_LPSOLVE),)
-
-define gb_LinkTarget__use_lpsolve
-$(call gb_LinkTarget_add_libs,$(1),-llpsolve55)
-$(call gb_LinkTarget_add_defs,$(1),\
- -DSYSTEM_LPSOLVE \
-)
-
-endef
-
-else # !SYSTEM_LPSOLVE
-
-define gb_LinkTarget__use_lpsolve
-$(call gb_LinkTarget_use_package,$(1),lpsolve)
-ifeq ($(COM),MSC)
-$(call gb_LinkTarget_add_libs,$(1),\
- $(gb_UnpackedTarball_workdir)/lpsolve/lpsolve55/lpsolve55.lib \
-)
-else
-$(call gb_LinkTarget_add_libs,$(1),\
- -L$(gb_UnpackedTarball_workdir)/lpsolve/lpsolve55 -llpsolve55 \
-)
-endif
-$(call gb_LinkTarget_set_include,$(1),\
- -I$(gb_UnpackedTarball_workdir)/lpsolve \
- $$(INCLUDE) \
-)
-
-endef
-
-$(eval $(call gb_Helper_register_packages_for_install,ooo,\
- lpsolve \
-))
-
-endif # SYSTEM_LPSOLVE
-
-else
-
-gb_LinkTarget__use_lpsolve :=
-
-endif # ENABLE_LPSOLVE
-
ifneq ($(ENABLE_COINMP),)
ifneq ($(SYSTEM_COINMP),TRUE)
diff --git a/bin/checkExternalLibraries.py b/bin/checkExternalLibraries.py
index 9bb1da00c06b..62815303765c 100755
--- a/bin/checkExternalLibraries.py
+++ b/bin/checkExternalLibraries.py
@@ -53,7 +53,6 @@ libraryNames = {
"liborcus": "orcus",
"ltm": "libtommath",
"clucene-core": "clucene-core",
- "lp_solve": "lp_solve",
"hsqldb": "hsqldb",
"y-crdt": "y-crdt",
"sqlite": "sqlite",
diff --git a/config_host.mk.in b/config_host.mk.in
index 6b1c3be8abea..9e2ac1746073 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -94,8 +94,6 @@ export CPDB_CFLAGS=@CPDB_CFLAGS@
export CPDB_LIBS=@CPDB_LIBS@
export CPPU_ENV=@CPPU_ENV@
export CPPU_ENV_FOR_BUILD=@CPPU_ENV_FOR_BUILD@
-export COLAMD_CFLAGS=$(gb_SPACE)@COLAMD_CFLAGS@
-export COLAMD_LIBS=$(gb_SPACE)@COLAMD_LIBS@
export CPPUNIT_CFLAGS=$(gb_SPACE)@CPPUNIT_CFLAGS@
export CPPUNIT_LIBS=$(gb_SPACE)@CPPUNIT_LIBS@
export CPUNAME=@CPUNAME@
@@ -210,7 +208,6 @@ export ENABLE_HTMLHELP=@ENABLE_HTMLHELP@
export ENABLE_JAVA=@ENABLE_JAVA@
export ENABLE_JUMBO_SHEETS=@ENABLE_JUMBO_SHEETS@
export ENABLE_LDAP=@ENABLE_LDAP@
-export ENABLE_LPSOLVE=@ENABLE_LPSOLVE@
export ENABLE_LTO=@ENABLE_LTO@
export ENABLE_LWP=@ENABLE_LWP@
export ENABLE_MACOSX_SANDBOX=@ENABLE_MACOSX_SANDBOX@
@@ -669,7 +666,6 @@ SYSTEM_BOX2D=@SYSTEM_BOX2D@
SYSTEM_BZIP2=@SYSTEM_BZIP2@
SYSTEM_CAIRO=@SYSTEM_CAIRO@
SYSTEM_CLUCENE=@SYSTEM_CLUCENE@
-SYSTEM_COLAMD=@SYSTEM_COLAMD@
SYSTEM_CPPUNIT=@SYSTEM_CPPUNIT@
SYSTEM_CURL=@SYSTEM_CURL@
SYSTEM_DICTS=@SYSTEM_DICTS@
@@ -716,7 +712,6 @@ SYSTEM_LIBXML=@SYSTEM_LIBXML@
SYSTEM_LIBXML_FOR_BUILD=@SYSTEM_LIBXML_FOR_BUILD@
SYSTEM_LIBXSLT=@SYSTEM_LIBXSLT@
SYSTEM_LIBXSLT_FOR_BUILD=@SYSTEM_LIBXSLT_FOR_BUILD@
-SYSTEM_LPSOLVE=@SYSTEM_LPSOLVE@
SYSTEM_LZMA=@SYSTEM_LZMA@
SYSTEM_MD4C=@SYSTEM_MD4C@
SYSTEM_MDDS=@SYSTEM_MDDS@
diff --git a/configure.ac b/configure.ac
index 5011a5050653..b152bc43c958 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1156,7 +1156,6 @@ ios*) # iOS
enable_lotuswordpro=no
disable_database_connectivity_dependencies
enable_coinmp=no
- enable_lpsolve=no
enable_extension_integration=no
enable_xmlhelp=no
with_ppds=no
@@ -1249,7 +1248,6 @@ linux-android*)
enable_mpl_subset=yes
enable_cairo_canvas=no
enable_coinmp=yes
- enable_lpsolve=no
enable_odk=no
enable_python=no
enable_xmlhelp=no
@@ -1674,10 +1672,6 @@ libo_FUZZ_ARG_ENABLE(ext-wiki-publisher,
[Enable the Wiki Publisher extension.])
)
-libo_FUZZ_ARG_ENABLE(lpsolve,
- AS_HELP_STRING([--disable-lpsolve],
- [Disable compilation of the lp solve solver ])
-)
libo_FUZZ_ARG_ENABLE(coinmp,
AS_HELP_STRING([--disable-coinmp],
[Disable compilation of the CoinMP solver ])
@@ -2860,16 +2854,6 @@ AC_ARG_WITH(system-altlinuxhyph,
[Use ALTLinuxhyph already on system.]),,
[with_system_altlinuxhyph="$with_system_libs"])
-AC_ARG_WITH(system-lpsolve,
- AS_HELP_STRING([--with-system-lpsolve],
- [Use lpsolve already on system.]),,
- [with_system_lpsolve="$with_system_libs"])
-
-AC_ARG_WITH(system-colamd,
- AS_HELP_STRING([--with-system-colamd],
- [Use COLAMD already on system.]),,
- [with_system_colamd="$with_system_libs"])
-
AC_ARG_WITH(system-coinmp,
AS_HELP_STRING([--with-system-coinmp],
[Use CoinMP already on system.]),,
@@ -3470,7 +3454,6 @@ if test "$enable_wasm_strip" = "yes"; then
enable_gpgmepp=no
enable_ldap=no
enable_lotuswordpro=no
- enable_lpsolve=no
enable_nss=no
enable_odk=no
enable_online_update=no
@@ -12350,64 +12333,6 @@ AC_SUBST(SYSTEM_COINMP)
AC_SUBST(COINMP_CFLAGS)
AC_SUBST(COINMP_LIBS)
-ENABLE_LPSOLVE=
-AC_MSG_CHECKING([whether to build with lpsolve])
-if test "$enable_lpsolve" != "no"; then
- ENABLE_LPSOLVE=TRUE
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-AC_SUBST(ENABLE_LPSOLVE)
-
-if test "$ENABLE_LPSOLVE" = TRUE; then
- AC_MSG_CHECKING([which lpsolve to use])
- if test "$with_system_lpsolve" = "yes"; then
- AC_MSG_RESULT([external])
- SYSTEM_LPSOLVE=TRUE
- AC_CHECK_HEADER(lpsolve/lp_lib.h, [],
- [ AC_MSG_ERROR(lpsolve headers not found.)], [])
- save_LIBS=$LIBS
- # some systems need this. Like Ubuntu...
- AC_CHECK_LIB(m, floor)
- AC_CHECK_LIB(dl, dlopen)
- AC_CHECK_LIB([lpsolve55], [make_lp], [:],
- [ AC_MSG_ERROR(lpsolve library not found or too old.)], [])
- LIBS=$save_LIBS
- else
- AC_MSG_RESULT([internal])
- SYSTEM_LPSOLVE=
- BUILD_TYPE="$BUILD_TYPE LPSOLVE"
- AC_MSG_CHECKING([which colamd to use])
- if test "$with_system_colamd" = "yes"; then
- AC_MSG_RESULT([external])
- SYSTEM_COLAMD=TRUE
- # This assumes suitesparse, which has
- # /usr/lib/x86_64-linux-gnu/pkgconfig/COLAMD.pc
- PKG_CHECK_MODULES([COLAMD], [COLAMD],
- [],
- [
- # older versions don't. Look in /usr/include/suitesparse
- COLAMD_CFLAGS=-I/usr/include/suitesparse
- save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $COLAMD_CFLAGS"
- AC_CHECK_HEADER(colamd.h, [],
- [ AC_MSG_ERROR(colamd.h header not found.)], [])
- CFLAGS=$save_CFLAGS
- AC_CHECK_LIB(colamd, colamd)
- COLAMD_LIBS=-lcolamd
- ])
- else
- AC_MSG_RESULT([internal])
- SYSTEM_COLAMD=
- fi
- fi
-fi
-AC_SUBST(SYSTEM_COLAMD)
-AC_SUBST(COLAMD_CFLAGS)
-AC_SUBST(COLAMD_LIBS)
-AC_SUBST(SYSTEM_LPSOLVE)
-
dnl ===================================================================
dnl Checking for libexttextcat
dnl ===================================================================
@@ -16077,10 +16002,6 @@ if test "$enable_mpl_subset" = "yes"; then
ENABLE_OPENGL_TRANSITIONS=
- if test "$enable_lpsolve" != "no" -o "x$ENABLE_LPSOLVE" = "xTRUE"; then
- mpl_error_string="$mpl_error_string$newline Need to --disable-lpsolve - calc linear programming solver."
- fi
-
if test "x$mpl_error_string" != "x"; then
AC_MSG_ERROR([$mpl_error_string])
fi
diff --git a/distro-configs/LibreOfficeFlatpak.conf b/distro-configs/LibreOfficeFlatpak.conf
index 2b01a6d299ce..70033f615a93 100644
--- a/distro-configs/LibreOfficeFlatpak.conf
+++ b/distro-configs/LibreOfficeFlatpak.conf
@@ -57,7 +57,6 @@
--without-system-libwpg
--without-system-libwps
--without-system-libzmf
---without-system-lpsolve
--without-system-mariadb
--without-system-md4c
--without-system-mdds
diff --git a/distro-configs/LibreOfficeOssFuzz.conf b/distro-configs/LibreOfficeOssFuzz.conf
index ecf1b1ba9019..4d7dfe3e2f7c 100644
--- a/distro-configs/LibreOfficeOssFuzz.conf
+++ b/distro-configs/LibreOfficeOssFuzz.conf
@@ -16,7 +16,6 @@
--disable-ldap
--disable-libcmis
--disable-librelogo
---disable-lpsolve
--disable-mariadb-sdbc
--disable-odk
--disable-poppler
diff --git a/distro-configs/LibreOfficeVanillaMacAppStore.conf b/distro-configs/LibreOfficeVanillaMacAppStore.conf
index 6c96b7896005..f70dc6241571 100644
--- a/distro-configs/LibreOfficeVanillaMacAppStore.conf
+++ b/distro-configs/LibreOfficeVanillaMacAppStore.conf
@@ -1,6 +1,5 @@
--disable-firebird-sdbc
--disable-lotuswordpro
---disable-lpsolve
--disable-odk
--disable-online-update
--disable-pdfimport
diff --git a/download.lst b/download.lst
index 1da6e2f207a8..6bec529fb9f1 100644
--- a/download.lst
+++ b/download.lst
@@ -432,11 +432,6 @@ LIBXSLT_TARBALL := libxslt-1.1.$(LIBXSLT_VERSION_MICRO).tar.xz
# three static lines
# so that git cherry-pick
# will not run into conflicts
-LPSOLVE_SHA256SUM := 171816288f14215c69e730f7a4f1c325739873e21f946ff83884b350574e6695
-LPSOLVE_TARBALL := 26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz
-# three static lines
-# so that git cherry-pick
-# will not run into conflicts
LXML_SHA256SUM := ba96ae44888e0185281e937633a743ea90d5a196c6000f82565ebb0580012d40
LXML_TARBALL := lxml-6.1.1.tar.gz
# three static lines
diff --git a/external/Module_external.mk b/external/Module_external.mk
index 0f4efd68b03d..ced11788f3ae 100644
--- a/external/Module_external.mk
+++ b/external/Module_external.mk
@@ -66,7 +66,6 @@ $(eval $(call gb_Module_add_moduledirs,external,\
$(call gb_Helper_optional,LIBWEBP,libwebp) \
$(call gb_Helper_optional,LIBXML2,libxml2) \
$(call gb_Helper_optional,LIBXSLT,libxslt) \
- $(call gb_Helper_optional,LPSOLVE,lpsolve) \
$(call gb_Helper_optional,LIBTOMMATH,libtommath) \
$(call gb_Helper_optional,LXML,lxml) \
$(call gb_Helper_optional,LZMA,lzma) \
diff --git a/external/lpsolve/0001-const-up-some-statics.patch.1 b/external/lpsolve/0001-const-up-some-statics.patch.1
deleted file mode 100644
index 7d1a8173ba66..000000000000
--- a/external/lpsolve/0001-const-up-some-statics.patch.1
+++ /dev/null
@@ -1,129 +0,0 @@
-From 75ba3f247d6f0baa6dc83b7eca09ec67dabe0924 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Caol=C3=A1n=20McNamara?=
-Date: Tue, 22 Jul 2025 13:12:12 +0100
-Subject: [PATCH] const up some statics
-
----
- lp_params.c | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/lp_params.c b/lp_params.c
-index e8fcd2e..c5de106 100644
---- a/lp_params.c
-+++ b/lp_params.c
-@@ -53,13 +53,13 @@
- REAL_set_function *REAL_set_function; /* set via setREALfunction */
- } set_function;
- int type; /* set via set*function */
-- struct _values *values; /* set via setvalues to a structure of _values */
-+ const struct _values *values; /* set via setvalues to a structure of _values */
- int elements; /* or via setNULLvalues if the value is shown as is */
- unsigned int basemask;
- int mask; /* WRITE_ACTIVE or WRITE_COMMENTED */
- };
-
--static struct _values anti_degen[] =
-+static const struct _values anti_degen[] =
- {
- { setvalue(ANTIDEGEN_NONE) },
- { setvalue(ANTIDEGEN_FIXEDVARS) },
-@@ -74,7 +74,7 @@
- { setvalue(ANTIDEGEN_BOUNDFLIP) },
- };
-
--static struct _values basiscrash[] =
-+static const struct _values basiscrash[] =
- {
- { setvalue(CRASH_NONE) },
- /* { setvalue(CRASH_NONBASICBOUNDS) }, */ /* not yet implemented */
-@@ -82,14 +82,14 @@
- { setvalue(CRASH_LEASTDEGENERATE) },
- };
-
--static struct _values bb_floorfirst[] =
-+static const struct _values bb_floorfirst[] =
- {
- { setvalue(BRANCH_CEILING) },
- { setvalue(BRANCH_FLOOR) },
- { setvalue(BRANCH_AUTOMATIC) },
- };
-
--static struct _values bb_rule[] =
-+static const struct _values bb_rule[] =
- {
- { setvalue(NODE_FIRSTSELECT) },
- { setvalue(NODE_GAPSELECT) },
-@@ -114,7 +114,7 @@
- { setvalue(NODE_STRONGINIT) },
- };
-
--static struct _values improve[] =
-+static const struct _values improve[] =
- {
- { setvalue(IMPROVE_NONE) },
- { setvalue(IMPROVE_SOLUTION) },
-@@ -143,7 +143,7 @@
- set_mip_gap(lp, FALSE, mip_gap);
- }
-
--static struct _values pivoting[] =
-+static const struct _values pivoting[] =
- {
- { setvalue(PRICER_FIRSTINDEX) },
- { setvalue(PRICER_DANTZIG) },
-@@ -161,7 +161,7 @@
- { setvalue(PRICE_TRUENORMINIT) },
- };
-
--static struct _values presolving[] =
-+static const struct _values presolving[] =
- {
- { setvalue(PRESOLVE_NONE) },
- { setvalue(PRESOLVE_ROWS) },
-@@ -217,14 +217,14 @@
- set_presolve(lp, get_presolve(lp), maxloops);
- }
-
--static struct _values print_sol[] =
-+static const struct _values print_sol[] =
- {
- { FALSE, "0" },
- { TRUE, "1" },
- { setvalue(AUTOMATIC) },
- };
-
--static struct _values scaling[] =
-+static const struct _values scaling[] =
- {
- { setvalue(SCALE_NONE) },
- { setvalue(SCALE_EXTREME) },
-@@ -243,7 +243,7 @@
- { setvalue(SCALE_COLSONLY) },
- };
-
--static struct _values simplextype[] =
-+static const struct _values simplextype[] =
- {
- { setvalue(SIMPLEX_PRIMAL_PRIMAL) },
- { setvalue(SIMPLEX_DUAL_PRIMAL) },
-@@ -251,7 +251,7 @@
- { setvalue(SIMPLEX_DUAL_DUAL) },
- };
-
--static struct _values verbose[] =
-+static const struct _values verbose[] =
- {
- { setvalue(NEUTRAL) },
- { setvalue(CRITICAL) },
-@@ -262,7 +262,7 @@
- { setvalue(FULL) },
- };
-
--static struct _functions functions[] =
-+static const struct _functions functions[] =
- {
- /* solve options */
- { "ANTI_DEGEN", setintfunction(get_anti_degen, set_anti_degen), setvalues(anti_degen, ~0), WRITE_ACTIVE },
---
-2.49.0
-
diff --git a/external/lpsolve/ExternalPackage_lpsolve.mk b/external/lpsolve/ExternalPackage_lpsolve.mk
deleted file mode 100644
index 23c2c5abfa03..000000000000
--- a/external/lpsolve/ExternalPackage_lpsolve.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-# -*- 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_ExternalPackage_ExternalPackage,lpsolve,lpsolve))
-
-$(eval $(call gb_ExternalPackage_use_external_project,lpsolve,lpsolve))
-
-ifneq ($(DISABLE_DYNLOADING),TRUE)
-ifeq ($(OS),WNT)
-$(eval $(call gb_ExternalPackage_add_file,lpsolve,$(LIBO_LIB_FOLDER)/lpsolve55.dll,lpsolve55/lpsolve55.dll))
-else ifeq ($(OS),MACOSX)
-$(eval $(call gb_ExternalPackage_add_file,lpsolve,$(LIBO_LIB_FOLDER)/liblpsolve55.dylib,lpsolve55/liblpsolve55.dylib))
-else # $(OS) != WNT/MACOSX
-$(eval $(call gb_ExternalPackage_add_file,lpsolve,$(LIBO_LIB_FOLDER)/liblpsolve55.so,lpsolve55/liblpsolve55.so))
-endif # $(OS)
-endif # $(DISABLE_DYNLOADING)
-
-# vim: set noet sw=4 ts=4:
diff --git a/external/lpsolve/ExternalProject_lpsolve.mk b/external/lpsolve/ExternalProject_lpsolve.mk
deleted file mode 100644
index 2bd5cdacbe2a..000000000000
--- a/external/lpsolve/ExternalProject_lpsolve.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*- 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,lpsolve))
-
-$(eval $(call gb_ExternalProject_register_targets,lpsolve,\
- build \
-))
-
-ifeq ($(OS),WNT)
-$(call gb_ExternalProject_get_state_target,lpsolve,build):
- $(call gb_Trace_StartRange,lpsolve,EXTERNAL)
- $(call gb_ExternalProject_run,build,\
- LIB="$(ILIB)" RUNTIME_FLAG="$(if $(MSVC_USE_DEBUG_RUNTIME),/MDd,/MD)" \
- cmd /c cvc6.bat \
- ,lpsolve55)
- $(call gb_Trace_EndRange,lpsolve,EXTERNAL)
-else # $(OS)!=WNT
-$(call gb_ExternalProject_get_state_target,lpsolve,build):
- $(call gb_Trace_StartRange,lpsolve,EXTERNAL)
- $(call gb_ExternalProject_run,build,\
- CC="$(CC) $(call gb_ExternalProject_get_build_flags,lpsolve)" \
- SYSTEM_COLAMD=$(SYSTEM_COLAMD) \
- $(if $(filter MACOSX,$(OS)),EXTRA_LINKFLAGS='-install_name @__________________________________________________OOO/liblpsolve55.dylib') \
- sh -e $(if $(filter MACOSX,$(OS)),ccc.osx, \
- $(if $(filter TRUE,$(DISABLE_DYNLOADING)),ccc.static, \
- ccc)) \
- ,lpsolve55)
- $(call gb_Trace_EndRange,lpsolve,EXTERNAL)
-endif # $(OS)
-# vim: set noet sw=4 ts=4:
diff --git a/external/lpsolve/Makefile b/external/lpsolve/Makefile
deleted file mode 100644
index e4968cf85fb6..000000000000
--- a/external/lpsolve/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-
-module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
-
-include $(module_directory)/../../solenv/gbuild/partial_build.mk
-
-# vim: set noet sw=4 ts=4:
diff --git a/external/lpsolve/Module_lpsolve.mk b/external/lpsolve/Module_lpsolve.mk
deleted file mode 100644
index e0094f609c7d..000000000000
--- a/external/lpsolve/Module_lpsolve.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-# -*- 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_Module_Module,lpsolve))
-
-$(eval $(call gb_Module_add_targets,lpsolve,\
- UnpackedTarball_lpsolve \
- ExternalPackage_lpsolve \
- ExternalProject_lpsolve \
-))
-
-# vim: set noet sw=4 ts=4:
diff --git a/external/lpsolve/README b/external/lpsolve/README
deleted file mode 100644
index 95059b25cd4e..000000000000
--- a/external/lpsolve/README
+++ /dev/null
@@ -1 +0,0 @@
-A mixed Integer Linear Programming (MILP) solver from [https://github.com/lp-solve/lp_solve].
diff --git a/external/lpsolve/UnpackedTarball_lpsolve.mk b/external/lpsolve/UnpackedTarball_lpsolve.mk
deleted file mode 100644
index 167c14862587..000000000000
--- a/external/lpsolve/UnpackedTarball_lpsolve.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-# -*- 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_UnpackedTarball_UnpackedTarball,lpsolve))
-
-$(eval $(call gb_UnpackedTarball_set_tarball,lpsolve,$(LPSOLVE_TARBALL)))
-
-$(eval $(call gb_UnpackedTarball_set_patchlevel,lpsolve,3))
-
-# external/lpsolve/0001-const-up-some-statics.patch.1
-# upstreaming attempt as:
-# https://github.com/lp-solve/lp_solve/pull/1
-
-$(eval $(call gb_UnpackedTarball_add_patches,lpsolve,\
- external/lpsolve/0001-const-up-some-statics.patch.1 \
-))
-
-ifeq ($(OS_FOR_BUILD),WNT)
-
-$(eval $(call gb_UnpackedTarball_set_patchflags,lpsolve,--binary))
-$(eval $(call gb_UnpackedTarball_add_patches,lpsolve,\
- external/lpsolve/lp_solve_5.5-windows.patch \
-))
-
-else
-
-$(eval $(call gb_UnpackedTarball_add_patches,lpsolve,\
- external/lpsolve/lp_solve_5.5.patch \
- external/lpsolve/lpsolve-ubsan.patch.0 \
- external/lpsolve/system-colamd.diff \
-))
-
-$(eval $(call gb_UnpackedTarball_add_file,lpsolve,lpsolve55/ccc.static,external/lpsolve/ccc.static))
-
-endif
-# vim: set noet sw=4 ts=4:
-
-
diff --git a/external/lpsolve/ccc.static b/external/lpsolve/ccc.static
deleted file mode 100644
index c8f070921202..000000000000
--- a/external/lpsolve/ccc.static
+++ /dev/null
@@ -1,20 +0,0 @@
-if [ "$SYSTEM_COLAMD" != "TRUE" ]; then
- colamd_c=../colamd/colamd.c
-fi
-src='../lp_MDO.c ../shared/commonlib.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c $colamd_c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'
-obj=`echo $src|sed -e 's/\.c/.o/g' -e 's!\([^ ]*/\)*!!g'`
-
-opts='-O3'
-
-def=
-
-# FIMXE: Link statically with colamd?
-if test "$SYSTEM_COLAMD" = "TRUE"; then
- colamd_i=$COLAMD_CFLAGS
-else
- colamd_i=-I../colamd
-fi
-$CC -I.. -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL $colamd_i -I../shared $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine -c $src
-
-$AR -r liblpsolve55.a $obj
-rm $obj
diff --git a/external/lpsolve/lp_solve_5.5-windows.patch b/external/lpsolve/lp_solve_5.5-windows.patch
deleted file mode 100644
index 16d5261c7c7f..000000000000
--- a/external/lpsolve/lp_solve_5.5-windows.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-*** misc/lp_solve_5.5/lpsolve55/cgcc.bat Sun Jun 12 04:27:28 2005
---- misc/build/lp_solve_5.5/lpsolve55/cgcc.bat Sun Dec 14 07:55:19 2008
-***************
-*** 7,14 ****
-
- set c=gcc
-
-! rem rc lpsolve.rc
-! %c% -DINLINE=static -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -s -O3 -shared -mno-cygwin -enable-stdcall-fixup -D_USRDLL -DWIN32 -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine %src% ..\lp_solve.def -o lpsolve55.dll
-
- %c% -DINLINE=static -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -s -O3 -shared -D_USRDLL -DWIN32 -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine %src% -o liblpsolve55.so
-
---- 7,14 ----
-
- set c=gcc
-
-! windres lpsolve.rc lpsolve_res.obj
-! %c% -DINLINE=static -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -s -O3 -shared -mno-cygwin -enable-stdcall-fixup -mthreads %lpsolve_LDFLAGS% -D_USRDLL -DWIN32 -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine %src% lpsolve_res.obj ..\lp_solve.def %lpsolve_LIBS% -o lpsolve55.dll
-
- %c% -DINLINE=static -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -s -O3 -shared -D_USRDLL -DWIN32 -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine %src% -o liblpsolve55.so
-
-*** misc/lp_solve_5.5/lpsolve55/lpsolve.rc Sun Jun 4 00:15:24 2006
---- misc/build/lp_solve_5.5/lpsolve55/lpsolve.rc Fri Nov 23 16:34:22 2007
-***************
-*** 7,13 ****
- //
- // Generated from the TEXTINCLUDE 2 resource.
- //
-! #include "afxres.h"
-
- /////////////////////////////////////////////////////////////////////////////
- #undef APSTUDIO_READONLY_SYMBOLS
---- 7,13 ----
- //
- // Generated from the TEXTINCLUDE 2 resource.
- //
-! #include "winresrc.h"
-
- /////////////////////////////////////////////////////////////////////////////
- #undef APSTUDIO_READONLY_SYMBOLS
---- misc/lp_solve_5.5/lpsolve55/cvc6.bat
-+++ misc/build/lp_solve_5.5/lpsolve55/cvc6.bat
-@@ -14,15 +14,4 @@
- set c=cl
-
--rc lpsolve.rc
-+rc %SOLARINC% lpsolve.rc
--%c% -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd /LD /MD /O1 /Zp8 /Gz -D_WINDLL -D_USRDLL -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine %src% lpsolve.res ..\lp_solve.def -o lpsolve55.dll
-+%c% -Zi -FS -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd %SOLARINC% /LD %RUNTIME_FLAG% /O1 /Zp8 /Gz -D_WINDLL -D_USRDLL -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine %src% lpsolve.res ..\lp_solve.def -Felpsolve55.dll
--rem /link /LINK50COMPAT
--
--if exist a.obj del a.obj
--%c% -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd /MT /O1 /Zp8 /Gd /c -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine %src%
--lib *.obj /OUT:liblpsolve55.lib
--
--if exist a.obj del a.obj
--%c% -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd /MTd /O1 /Zp8 /Gd /c -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine %src%
--lib *.obj /OUT:liblpsolve55d.lib
--
--if exist *.obj del *.obj
diff --git a/external/lpsolve/lp_solve_5.5.patch b/external/lpsolve/lp_solve_5.5.patch
deleted file mode 100644
index 2b2588a9f15a..000000000000
--- a/external/lpsolve/lp_solve_5.5.patch
+++ /dev/null
@@ -1,95 +0,0 @@
---- misc/build/lp_solve_5.5/lpsolve55/ccc.orig Sat Jun 11 21:27:18 2005
-+++ misc/build/lp_solve_5.5/lpsolve55/ccc Sun May 22 11:20:19 2011
-@@ -1,25 +1,42 @@
- src='../lp_MDO.c ../shared/commonlib.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../colamd/colamd.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'
--c=cc
-+ar=$AR
-+c=$CC
-+ranlib=$RANLIB
-
- def=
- so=
--if [ "$PLATFORM" = "SCO_UNIX" ]
--then def='-dy -K PIC -DNOLONGLONG'
-- dl=-lc
--else dl=-ldl
-- so=y
-+soprefix=
-+libs=
-+pic=
-+ldflags=
-+inline=
-+if [ "$OS" = "WNT" -a "$COM" = "GCC" ]; then
-+ so=dll
-+ a=dll.a
-+ inline=-DINLINE=static
-+else
-+ so=so
-+ a=a
-+ soprefix=lib
-+ libs="-lm"
-+ pic=-fpic
-+ ldflags="-Wl,-Bsymbolic -Wl,-soname,liblpsolve55.$so"
- fi
-
-+if [ "$OS" = "LINUX" ]; then
-+ libs="$libs -ldl"
-+fi
-+
- opts='-O3'
-
--$c -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
-+$c -s $inline -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
--ar rv liblpsolve55.a `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'`
--ranlib liblpsolve55.a
-+$ar rv liblpsolve55.$a `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'`
-+$ranlib liblpsolve55.$a
-
- if [ "$so" != "" ]
- then
-- $c -fpic -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $opts -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
-- $c -shared -Wl,-Bsymbolic -Wl,-soname,liblpsolve55.so -o liblpsolve55.so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc -lm -ldl
-+ $c $pic -s $inline -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $opts -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
-+ $c -shared $ldflags -o ${soprefix}lpsolve55.$so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` $libs
- fi
-
- rm *.o 2>/dev/null
---- misc/build/lp_solve_5.5/lpsolve55/ccc.osx.orig Thu Jun 23 22:53:08 2005
-+++ misc/build/lp_solve_5.5/lpsolve55/ccc.osx
-@@ -1,23 +1,30 @@
- src='../lp_MDO.c ../shared/commonlib.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../colamd/colamd.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'
--c=cc
-+c=$CC
-
-+if test -n "$verbose"; then
-+ set -x
-+fi
-+
- def=
- so=
-+# EXTRA_LINKFLAGS is set in the ExternalProject_lpsolve.mk
-+extra_linkflags=$EXTRA_LINKFLAGS
-+
- if [ "$PLATFORM" = "SCO_UNIX" ]
- then def='-DLoadInverseLib=0 -DLoadLanguageLib=0 -D__HYPER=long'
- else dl=-ldl
- so=y
- fi
-
--opts='-idirafter /usr/include/sys -O3 -DINTEGERTIME -Wno-long-double'
-+opts='-idirafter /usr/include/sys -O3 -DINTEGERTIME'
-
--$c -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
-+$c -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
--libtool -static -o liblpsolve55.a `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'`
-+$LIBTOOL -static -o liblpsolve55.a `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'`
-
- if [ "$so" != "" ]
- then
-- $c -fPIC -fno-common -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $opts -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
-- $c -dynamiclib liblpsolve55.a -compatibility_version 5.5.0 -current_version 5.5.0 -o liblpsolve55.dylib `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc
-+ $c -fPIC -fno-common -s -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $opts -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
-+ $c $extra_linkflags -dynamiclib liblpsolve55.a -compatibility_version 5.5.0 -current_version 5.5.0 -o liblpsolve55.dylib `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` -lc
- fi
-
- rm *.o 2>/dev/null
diff --git a/external/lpsolve/lpsolve-ubsan.patch.0 b/external/lpsolve/lpsolve-ubsan.patch.0
deleted file mode 100644
index 7a5e308c6efd..000000000000
--- a/external/lpsolve/lpsolve-ubsan.patch.0
+++ /dev/null
@@ -1,22 +0,0 @@
---- lp_presolve.c
-+++ lp_presolve.c
-@@ -168,7 +168,7 @@
- if(isprimal) {
- if(psdata->primalundo != NULL)
- mat = psdata->primalundo->tracker;
-- solution = lp->full_solution + lp->presolve_undo->orig_rows;
-+ solution = lp->full_solution == NULL ? NULL : lp->full_solution + lp->presolve_undo->orig_rows;
- slacks = lp->full_solution;
- }
- else {
---- lp_pricePSE.c
-+++ lp_pricePSE.c
-@@ -145,7 +147,7 @@
-
- /* Store the active/current pricing type */
- if(isdual == AUTOMATIC)
-- isdual = (MYBOOL) lp->edgeVector[0];
-+ isdual = lp->edgeVector[0] != 0.0;
- else
- lp->edgeVector[0] = isdual;
-
diff --git a/external/lpsolve/system-colamd.diff b/external/lpsolve/system-colamd.diff
deleted file mode 100644
index 80eba695f379..000000000000
--- a/external/lpsolve/system-colamd.diff
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -urN lp_solve_5.5-old/lpsolve55/ccc lp_solve_5.5/lpsolve55/ccc
---- misc/build/lp_solve_5.5/lpsolve55/ccc 2005-06-11 21:27:18.000000000 +0200
-+++ misc/build/lp_solve_5.5/lpsolve55/ccc 2025-03-02 17:58:19.904235635 +0100
-@@ -1,4 +1,7 @@
--src='../lp_MDO.c ../shared/commonlib.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c ../colamd/colamd.c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c'
-+if test "$SYSTEM_COLAMD" != "TRUE"; then
-+ colamd_c=../colamd/colamd.c
-+fi
-+src="../lp_MDO.c ../shared/commonlib.c ../shared/mmio.c ../shared/myblas.c ../ini.c ../fortify.c $colamd_c ../lp_rlp.c ../lp_crash.c ../bfp/bfp_LUSOL/lp_LUSOL.c ../bfp/bfp_LUSOL/LUSOL/lusol.c ../lp_Hash.c ../lp_lib.c ../lp_wlp.c ../lp_matrix.c ../lp_mipbb.c ../lp_MPS.c ../lp_params.c ../lp_presolve.c ../lp_price.c ../lp_pricePSE.c ../lp_report.c ../lp_scale.c ../lp_simplex.c ../lp_SOS.c ../lp_utils.c ../yacc_read.c"
- ar=$AR
- c=$CC
- ranlib=$RANLIB
-@@ -25,17 +28,24 @@
-
- if [ "$OS" = "LINUX" ]; then
- libs="$libs -ldl"
-+ libs="$libs $COLAMD_LIBS"
- fi
-
- opts='-O3'
-
--$c -s $inline -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
-+if test "$SYSTEM_COLAMD" = "TRUE"; then
-+ colamd_i=$COLAMD_CFLAGS
-+else
-+ colamd_i=-I../colamd
-+fi
-+
-+$c -s $inline -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL $colamd_i $opts $def -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
- $ar rv liblpsolve55.$a `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'`
- $ranlib liblpsolve55.$a
-
- if [ "$so" != "" ]
- then
-- $c $pic -s $inline -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL -I../colamd -I. $opts -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
-+ $c $pic -s $inline -c -I.. -I../shared -I../bfp -I../bfp/bfp_LUSOL -I../bfp/bfp_LUSOL/LUSOL $colamd_i -I. $opts -DYY_NEVER_INTERACTIVE -DPARSER_LP -DINVERSE_ACTIVE=INVERSE_LUSOL -DRoleIsExternalInvEngine $src
- $c -shared $ldflags -o ${soprefix}lpsolve55.$so `echo $src|sed s/[.]c/.o/g|sed 's/[^ ]*\///g'` $libs
- fi
-
diff --git a/readlicense_oo/license/license.xml b/readlicense_oo/license/license.xml
index e4996dc8fb0e..fa6abbf2c1af 100644
--- a/readlicense_oo/license/license.xml
+++ b/readlicense_oo/license/license.xml
@@ -1483,12 +1483,6 @@
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
-
-
lpsolve
-
The following software may be included in this product: lpsolve. Use of any of this software is governed by
- the terms of the license below:
-
Jump to LGPL Version 2.1
-
lzma
liblzma is under the BSD Zero Clause License (0BSD)
diff --git a/sc/Module_sc.mk b/sc/Module_sc.mk
index 2cffd84db342..3962e377c169 100644
--- a/sc/Module_sc.mk
+++ b/sc/Module_sc.mk
@@ -315,7 +315,7 @@ $(eval $(call gb_Module_add_uicheck_targets,sc,\
UITest_sc_styleui \
))
-ifneq ($(or $(ENABLE_LPSOLVE),$(ENABLE_COINMP)),)
+ifneq ($(ENABLE_COINMP),)
$(eval $(call gb_Module_add_uicheck_targets,sc,\
UITest_solver \
))
diff --git a/sc/common_unoapi_tests.mk b/sc/common_unoapi_tests.mk
index 34cc34e45a71..c643672dc518 100644
--- a/sc/common_unoapi_tests.mk
+++ b/sc/common_unoapi_tests.mk
@@ -22,7 +22,7 @@ $(eval $(call gb_CppunitTest_use_externals,sc_$(1), \
$(eval $(call gb_Library_use_common_precompiled_header,sc_$(1)))
$(eval $(call gb_CppunitTest_add_defs,sc_$(1),\
- $(if $(ENABLE_LPSOLVE), -DENABLE_LPSOLVE) \
+ $(if $(ENABLE_COINMP), -DENABLE_COINMP) \
))
$(eval $(call gb_CppunitTest_add_exception_objects,sc_$(1), \
diff --git a/sc/inc/SolverSettings.hxx b/sc/inc/SolverSettings.hxx
index 58edd20f30f2..da13f65addb2 100644
--- a/sc/inc/SolverSettings.hxx
+++ b/sc/inc/SolverSettings.hxx
@@ -38,7 +38,7 @@ enum SolverParameter
SP_LO_ENGINE, // Engine name used in LO
SP_MS_ENGINE, // Engine ID used in MSO
SP_INTEGER, // Assume all variables are integer (0: no, 1: yes)
- // LpSolve, CoinMP and SwarmSolver
+ // CoinMP and SwarmSolver
SP_NON_NEGATIVE, // Assume non negativity (1: yes, 2: no)
SP_EPSILON_LEVEL, // Epsilon level
SP_LIMIT_BBDEPTH, // Branch and bound depth
@@ -230,7 +230,6 @@ private:
// Maps LO solver implementation names to MS engine codes
std::map
SolverNamesToExcelEngines = {
{ "com.sun.star.comp.Calc.CoinMPSolver", "2" }, // Simplex LP
- { "com.sun.star.comp.Calc.LpsolveSolver", "2" }, // Simplex LP
{ "com.sun.star.comp.Calc.SwarmSolver", "1" }, // GRG Nonlinear
{ "com.sun.star.comp.Calc.NLPSolver.DEPSSolverImpl", "3" }, // DEPS
{ "com.sun.star.comp.Calc.NLPSolver.SCOSolverImpl", "3" } // SCO
diff --git a/sc/qa/extras/scsolverobj.cxx b/sc/qa/extras/scsolverobj.cxx
index 58a898e3c6b2..19268217748e 100644
--- a/sc/qa/extras/scsolverobj.cxx
+++ b/sc/qa/extras/scsolverobj.cxx
@@ -35,7 +35,7 @@ public:
virtual void setUp() override;
void testXSolverSettings();
-#ifdef ENABLE_LPSOLVE
+#ifdef ENABLE_COINMP
void testCellAddress(const table::CellAddress& rExpected, const uno::Any& rActual);
void testCellRangeAddress(const uno::Any& rExpected, const uno::Any& rActual);
#endif
@@ -50,7 +50,7 @@ ScSolverSettingsObj::ScSolverSettingsObj()
{
}
-#ifdef ENABLE_LPSOLVE
+#ifdef ENABLE_COINMP
void ScSolverSettingsObj::testCellAddress(const table::CellAddress& rExpected,
const uno::Any& rActual)
{
@@ -78,7 +78,7 @@ void ScSolverSettingsObj::testCellRangeAddress(const uno::Any& rExpected, const
// Creates a model using the XSolverSettings API checks if it is accessible via the API
void ScSolverSettingsObj::testXSolverSettings()
{
-#ifdef ENABLE_LPSOLVE
+#ifdef ENABLE_COINMP
uno::Reference xDoc(mxComponent, uno::UNO_QUERY_THROW);
uno::Reference xIndex(xDoc->getSheets(), uno::UNO_QUERY_THROW);
uno::Reference xSheet(xIndex->getByIndex(0), uno::UNO_QUERY_THROW);
@@ -108,7 +108,7 @@ void ScSolverSettingsObj::testXSolverSettings()
xSolverModel->setConstraints(aConstraints);
// Set solver engine options
- xSolverModel->setEngine(u"com.sun.star.comp.Calc.LpsolveSolver"_ustr);
+ xSolverModel->setEngine(u"com.sun.star.comp.Calc.CoinMPSolver"_ustr);
uno::Sequence aEngineOptions{
comphelper::makePropertyValue(u"Timeout"_ustr, uno::Any(static_cast(10))),
comphelper::makePropertyValue(u"NonNegative"_ustr, true),
@@ -120,8 +120,9 @@ void ScSolverSettingsObj::testXSolverSettings()
xSolverModel->setSuppressDialog(true);
xSolverModel->solve();
- // The correct solution value is 6981 (using LpsolveSolver)
- CPPUNIT_ASSERT_EQUAL(static_cast(6981), xSheet->getCellByPosition(6, 6)->getValue());
+ // The optimal total value for this knapsack is 6987, which fills the weight
+ // capacity of 1000 exactly.
+ CPPUNIT_ASSERT_EQUAL(static_cast(6987), xSheet->getCellByPosition(6, 6)->getValue());
// Check objective function and variable cells
testCellAddress(aObjCell, xSolverModel->getObjectiveCell());
@@ -147,7 +148,7 @@ void ScSolverSettingsObj::testXSolverSettings()
testCellRangeAddress(uno::Any(aRight2), aSeqConstr[1].Right);
// Check solver engine options
- CPPUNIT_ASSERT_EQUAL(u"com.sun.star.comp.Calc.LpsolveSolver"_ustr, xSolverModel->getEngine());
+ CPPUNIT_ASSERT_EQUAL(u"com.sun.star.comp.Calc.CoinMPSolver"_ustr, xSolverModel->getEngine());
// Check solver engine options
uno::Sequence aEngProps = xSolverModel->getEngineOptions();
diff --git a/sc/source/core/data/SolverSettings.cxx b/sc/source/core/data/SolverSettings.cxx
index c7413bcb943e..a1ab514e8920 100644
--- a/sc/source/core/data/SolverSettings.cxx
+++ b/sc/source/core/data/SolverSettings.cxx
@@ -438,6 +438,11 @@ void SolverSettings::ReadEngine()
m_sLOEngineName = "com.sun.star.comp.Calc.CoinMPSolver";
}
+ // The Lpsolve solver has been removed. A document that still names it is
+ // solved by CoinMP, which handles the same linear models.
+ if (m_sLOEngineName == "com.sun.star.comp.Calc.LpsolveSolver")
+ m_sLOEngineName = u"com.sun.star.comp.Calc.CoinMPSolver"_ustr;
+
if (SolverNamesToExcelEngines.count(m_sLOEngineName))
{
// Find equivalent MS engine code
diff --git a/sccomp/CppunitTest_sccomp_solver.mk b/sccomp/CppunitTest_sccomp_solver.mk
index 818b27e5a0a6..f67924f32cf3 100644
--- a/sccomp/CppunitTest_sccomp_solver.mk
+++ b/sccomp/CppunitTest_sccomp_solver.mk
@@ -15,7 +15,6 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sccomp_solver,\
$(eval $(call gb_CppunitTest_add_defs,sccomp_solver,\
$(if $(ENABLE_COINMP), -DENABLE_COINMP) \
- $(if $(ENABLE_LPSOLVE), -DENABLE_LPSOLVE) \
))
$(eval $(call gb_CppunitTest_use_libraries,sccomp_solver,\
diff --git a/sccomp/Library_solver.mk b/sccomp/Library_solver.mk
index 1eeac011f2da..80b265896729 100644
--- a/sccomp/Library_solver.mk
+++ b/sccomp/Library_solver.mk
@@ -23,7 +23,6 @@ $(eval $(call gb_Library_set_componentfile,solver,sccomp/source/solver/solver,se
$(eval $(call gb_Library_add_componentimpls,solver, \
$(if $(ENABLE_COINMP),coinmp) \
- $(if $(ENABLE_LPSOLVE),lpsolve) \
))
$(eval $(call gb_Library_use_sdk_api,solver))
@@ -44,14 +43,12 @@ $(eval $(call gb_Library_use_libraries,solver,\
$(eval $(call gb_Library_use_externals,solver,\
coinmp \
- lpsolve \
))
$(eval $(call gb_Library_add_exception_objects,solver,\
sccomp/source/solver/SwarmSolver \
sccomp/source/solver/SolverComponent \
$(if $(ENABLE_COINMP), sccomp/source/solver/CoinMPSolver) \
- $(if $(ENABLE_LPSOLVE), sccomp/source/solver/LpsolveSolver) \
))
# vim: set noet sw=4 ts=4:
diff --git a/sccomp/qa/unit/solver.cxx b/sccomp/qa/unit/solver.cxx
index 536df7425bb9..58967a0ea069 100644
--- a/sccomp/qa/unit/solver.cxx
+++ b/sccomp/qa/unit/solver.cxx
@@ -22,14 +22,8 @@ class LpSolverTest: public test::BootstrapFixture
{
uno::Reference m_xDocument;
-#ifdef ENABLE_LPSOLVE
- void testLpSolver();
-#endif
#ifdef ENABLE_COINMP
void testCoinMPSolver();
-#endif
-
-#if defined(ENABLE_LPSOLVE) || defined(ENABLE_COINMP)
void testSolver(OUString const & rName);
#endif
@@ -38,9 +32,6 @@ public:
virtual void tearDown() override;
CPPUNIT_TEST_SUITE(LpSolverTest);
-#ifdef ENABLE_LPSOLVE
- CPPUNIT_TEST(testLpSolver);
-#endif
#ifdef ENABLE_COINMP
CPPUNIT_TEST(testCoinMPSolver);
#endif
@@ -64,13 +55,6 @@ void LpSolverTest::tearDown()
test::BootstrapFixture::tearDown();
}
-#ifdef ENABLE_LPSOLVE
-void LpSolverTest::testLpSolver()
-{
- testSolver(u"com.sun.star.comp.Calc.LpsolveSolver"_ustr);
-}
-#endif
-
#ifdef ENABLE_COINMP
void LpSolverTest::testCoinMPSolver()
{
@@ -78,7 +62,7 @@ void LpSolverTest::testCoinMPSolver()
}
#endif
-#if defined(ENABLE_LPSOLVE) || defined(ENABLE_COINMP)
+#ifdef ENABLE_COINMP
void LpSolverTest::testSolver(OUString const & rName)
{
uno::Reference xSolver(m_xContext->getServiceManager()->
diff --git a/sccomp/source/solver/LpsolveSolver.cxx b/sccomp/source/solver/LpsolveSolver.cxx
deleted file mode 100644
index cda134a3d383..000000000000
--- a/sccomp/source/solver/LpsolveSolver.cxx
+++ /dev/null
@@ -1,452 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- *
- * for a copy of the LGPLv3 License.
- *
- * 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 .
- *
- ************************************************************************/
-
-#include
-#include
-
-#undef LANGUAGE_NONE
-#if defined _WIN32
-#define WINAPI __stdcall
-#endif
-#define LoadInverseLib FALSE
-#define LoadLanguageLib FALSE
-#ifdef SYSTEM_LPSOLVE
-#include
-#else
-#include
-#endif
-#undef LANGUAGE_NONE
-
-#include "SolverComponent.hxx"
-#include
-
-#include
-#include
-#include
-#include
-#include
-#include
-
-namespace com::sun::star::uno { class XComponentContext; }
-
-using namespace com::sun::star;
-
-namespace {
-
-class LpsolveSolver : public SolverComponent
-{
-public:
- LpsolveSolver() {}
-
-private:
- virtual void SAL_CALL solve() override;
- virtual OUString SAL_CALL getImplementationName() override
- {
- return u"com.sun.star.comp.Calc.LpsolveSolver"_ustr;
- }
- virtual OUString SAL_CALL getComponentDescription() override
- {
- return SolverComponent::GetResourceString( RID_SOLVER_COMPONENT );
- }
-};
-
-}
-
-void SAL_CALL LpsolveSolver::solve()
-{
- uno::Reference xModel( mxDoc, uno::UNO_QUERY_THROW );
-
- maStatus.clear();
- mbSuccess = false;
-
- if ( mnEpsilonLevel < EPS_TIGHT || mnEpsilonLevel > EPS_BAGGY )
- {
- maStatus = SolverComponent::GetResourceString( RID_ERROR_EPSILONLEVEL );
- return;
- }
-
- xModel->lockControllers();
-
- // collect variables in vector (?)
-
- const auto & aVariableCells = maVariables;
- size_t nVariables = aVariableCells.size();
- size_t nVar = 0;
-
- // Store all RHS values
- sal_uInt32 nConstraints = maConstraints.size();
- m_aConstrRHS.realloc(nConstraints);
-
- // collect all dependent cells
-
- ScSolverCellHashMap aCellsHash;
- aCellsHash[maObjective].reserve( nVariables + 1 ); // objective function
-
- for (const auto& rConstr : maConstraints)
- {
- table::CellAddress aCellAddr = rConstr.Left;
- aCellsHash[aCellAddr].reserve( nVariables + 1 ); // constraints: left hand side
-
- if ( rConstr.Right >>= aCellAddr )
- aCellsHash[aCellAddr].reserve( nVariables + 1 ); // constraints: right hand side
- }
-
- // set all variables to zero
- //! store old values?
- //! use old values as initial values?
- for ( const auto& rVarCell : aVariableCells )
- {
- SolverComponent::SetValue( mxDoc, rVarCell, 0.0 );
- }
-
- // read initial values from all dependent cells
- for ( auto& rEntry : aCellsHash )
- {
- double fValue = SolverComponent::GetValue( mxDoc, rEntry.first );
- rEntry.second.push_back( fValue ); // store as first element, as-is
- }
-
- // loop through variables
- for ( const auto& rVarCell : aVariableCells )
- {
- SolverComponent::SetValue( mxDoc, rVarCell, 1.0 ); // set to 1 to examine influence
-
- // read value change from all dependent cells
- for ( auto& rEntry : aCellsHash )
- {
- double fChanged = SolverComponent::GetValue( mxDoc, rEntry.first );
- double fInitial = rEntry.second.front();
- rEntry.second.push_back( fChanged - fInitial );
- }
-
- SolverComponent::SetValue( mxDoc, rVarCell, 2.0 ); // minimal test for linearity
-
- for ( const auto& rEntry : aCellsHash )
- {
- double fInitial = rEntry.second.front();
- double fCoeff = rEntry.second.back(); // last appended: coefficient for this variable
- double fTwo = SolverComponent::GetValue( mxDoc, rEntry.first );
-
- bool bLinear = rtl::math::approxEqual( fTwo, fInitial + 2.0 * fCoeff ) ||
- rtl::math::approxEqual( fInitial, fTwo - 2.0 * fCoeff );
- // second comparison is needed in case fTwo is zero
- if ( !bLinear )
- maStatus = SolverComponent::GetResourceString( RID_ERROR_NONLINEAR );
- }
-
- SolverComponent::SetValue( mxDoc, rVarCell, 0.0 ); // set back to zero for examining next variable
- }
-
- xModel->unlockControllers();
-
- if ( !maStatus.isEmpty() )
- return;
-
-
- // build lp_solve model
-
-
- lprec* lp = make_lp( 0, nVariables );
- if ( !lp )
- return;
-
- set_outputfile( lp, const_cast( "" ) ); // no output
-
- // set objective function
-
- const std::vector& rObjCoeff = aCellsHash[maObjective];
- std::unique_ptr pObjVal(new REAL[nVariables+1]);
- pObjVal[0] = 0.0; // ignored
- for (nVar=0; nVar>= aRightAddr )
- bRightCell = true; // cell specified as right-hand side
- else
- rRightAny >>= fDirectValue; // constant value
-
- table::CellAddress aLeftAddr = rConstr.Left;
-
- const std::vector& rLeftCoeff = aCellsHash[aLeftAddr];
- std::unique_ptr pValues(new REAL[nVariables+1] );
- pValues[0] = 0.0; // ignored?
- for (nVar=0; nVar& rRightCoeff = aCellsHash[aRightAddr];
- // modify pValues with rhs coefficients
- for (nVar=0; nVar(is_infinite(lp, pObjFrom[i])))
- pObjDecrease[i] = get_infinite(lp);
- else
- pObjDecrease[i] = rObjCoeff[i + 1] - pObjFrom[i];
-
- // Allowed increase
- if (static_cast(is_infinite(lp, pObjTill[i])))
- pObjIncrease[i] = get_infinite(lp);
- else
- pObjIncrease[i] = pObjTill[i] - rObjCoeff[i + 1];
- }
-
- // Save objective coefficients for the sensitivity report
- double* pObjCoefficients(new double[nVariables]);
- for (size_t i = 0; i < nVariables; i++)
- pObjCoefficients[i] = rObjCoeff[i + 1];
- m_aObjCoefficients.realloc(nVariables);
- std::copy_n(pObjCoefficients, nVariables, m_aObjCoefficients.getArray());
-
- // The reduced costs are in pConstrDual after the constraints
- double* pObjRedCost(new double[nVariables]);
- for (size_t i = 0; i < nVariables; i++)
- pObjRedCost[i] = pConstrDual[nConstraints + i];
- m_aObjRedCost.realloc(nVariables);
- std::copy_n(pObjRedCost, nVariables, m_aObjRedCost.getArray());
-
- // Final value of constraints
- get_ptr_constraints(lp, &pConstrValue);
- m_aConstrValue.realloc(nConstraints);
- std::copy_n(pConstrValue, nConstraints, m_aConstrValue.getArray());
-
- // The RHS contains information for each constraint
- m_aConstrDual.realloc(nConstraints);
- m_aConstrDecrease.realloc(nConstraints);
- m_aConstrIncrease.realloc(nConstraints);
- std::copy_n(pConstrDual, nConstraints, m_aConstrDual.getArray());
- double* pConstrDecrease = m_aConstrDecrease.getArray();
- double* pConstrIncrease = m_aConstrIncrease.getArray();
-
- for (sal_uInt32 i = 0; i < nConstraints; i++)
- {
- // Allowed decrease
- pConstrDecrease[i] = m_aConstrRHS[i] - pConstrFrom[i];
- if (static_cast(is_infinite(lp, pConstrFrom[i]))
- && maConstraints[i].Operator == sheet::SolverConstraintOperator_LESS_EQUAL)
- pConstrDecrease[i] = m_aConstrRHS[i] - m_aConstrValue[i];
-
- // Allowed increase
- pConstrIncrease[i] = pConstrTill[i] - m_aConstrRHS[i];
- if (static_cast(is_infinite(lp, pConstrTill[i]))
- && maConstraints[i].Operator == sheet::SolverConstraintOperator_GREATER_EQUAL)
- pConstrIncrease[i] = m_aConstrValue[i] - m_aConstrRHS[i];
- }
-
- // Set all values of the SensitivityReport object
- m_aSensitivityReport.ObjCoefficients = m_aObjCoefficients;
- m_aSensitivityReport.ObjReducedCosts = m_aObjRedCost;
- m_aSensitivityReport.ObjAllowableDecreases = m_aObjDecrease;
- m_aSensitivityReport.ObjAllowableIncreases = m_aObjIncrease;
- m_aSensitivityReport.ConstrValues = m_aConstrValue;
- m_aSensitivityReport.ConstrRHS = m_aConstrRHS;
- m_aSensitivityReport.ConstrShadowPrices = m_aConstrDual;
- m_aSensitivityReport.ConstrAllowableDecreases = m_aConstrDecrease;
- m_aSensitivityReport.ConstrAllowableIncreases = m_aConstrIncrease;
- }
- }
- }
- else if ( nResult == INFEASIBLE )
- maStatus = SolverComponent::GetResourceString( RID_ERROR_INFEASIBLE );
- else if ( nResult == UNBOUNDED )
- maStatus = SolverComponent::GetResourceString( RID_ERROR_UNBOUNDED );
- else if ( nResult == TIMEOUT || nResult == SUBOPTIMAL )
- maStatus = SolverComponent::GetResourceString( RID_ERROR_TIMEOUT );
- // SUBOPTIMAL is assumed to be caused by a timeout, and reported as an error
-
- delete_lp( lp );
-}
-
-extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface *
-com_sun_star_comp_Calc_LpsolveSolver_get_implementation(
- css::uno::XComponentContext *,
- css::uno::Sequence const &)
-{
- return cppu::acquire(new LpsolveSolver());
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sccomp/source/solver/solver.component b/sccomp/source/solver/solver.component
index 496be6628486..2993ecabb8e5 100644
--- a/sccomp/source/solver/solver.component
+++ b/sccomp/source/solver/solver.component
@@ -13,11 +13,6 @@
-
-
-
-
diff --git a/sccomp/source/solver/solver.component.lpsolve b/sccomp/source/solver/solver.component.lpsolve
deleted file mode 100644
index 3b571fbc324d..000000000000
--- a/sccomp/source/solver/solver.component.lpsolve
+++ /dev/null
@@ -1,7 +0,0 @@
-# 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/.
-
-com.sun.star.comp.Calc.LpsolveSolver
diff --git a/scp2/InstallModule_calc.mk b/scp2/InstallModule_calc.mk
index 0484fac3174e..f9bbce84e2ac 100644
--- a/scp2/InstallModule_calc.mk
+++ b/scp2/InstallModule_calc.mk
@@ -18,7 +18,7 @@ $(eval $(call gb_InstallModule_define_if_set,scp2/calc,\
ENABLE_MACOSX_SANDBOX \
))
-ifneq (,$(ENABLE_COINMP)$(ENABLE_LPSOLVE))
+ifneq (,$(ENABLE_COINMP))
$(eval $(call gb_InstallModule_add_defs,scp2/calc,\
-DWITH_LPSOLVER \
))
diff --git a/scp2/source/calc/module_calc.scp b/scp2/source/calc/module_calc.scp
index dd31007bb5ca..7adc68575d3d 100644
--- a/scp2/source/calc/module_calc.scp
+++ b/scp2/source/calc/module_calc.scp
@@ -36,8 +36,7 @@ Module gid_Module_Prg_Calc_Bin
Default = YES;
Styles = (HIDDEN_ROOT);
Files = (auto_calc_ALL,
- gid_File_Share_Registry_Calc_Xcd,
- gid_File_Lib_Lpsolve);
+ gid_File_Share_Registry_Calc_Xcd);
End
Module gid_Module_Prg_Calc_Addins
diff --git a/solenv/bin/make-raspbian-root-tarball b/solenv/bin/make-raspbian-root-tarball
index 71054095715b..b9b3b3b3b356 100755
--- a/solenv/bin/make-raspbian-root-tarball
+++ b/solenv/bin/make-raspbian-root-tarball
@@ -45,7 +45,6 @@ STAGINGDIR=`mktemp -d`
find lib/*.so* \
lib/arm-linux-gnueabihf \
usr/include \
- usr/lib/liblpsolve*.a \
usr/lib/*.so* \
usr/lib/arm-linux-gnueabihf \
usr/lib/jvm/java-6-openjdk-armhf/include \
diff --git a/solenv/flatpak-external-tarballs.json.in b/solenv/flatpak-external-tarballs.json.in
index ece877c14872..6c3e938ddb36 100644
--- a/solenv/flatpak-external-tarballs.json.in
+++ b/solenv/flatpak-external-tarballs.json.in
@@ -279,13 +279,6 @@
"dest": "external/tarballs",
"dest-filename": "@ZMF_TARBALL@"
},
- {
- "url": "https://dev-www.libreoffice.org/src/@LPSOLVE_TARBALL@",
- "sha256": "@LPSOLVE_SHA256SUM@",
- "type": "file",
- "dest": "external/tarballs",
- "dest-filename": "@LPSOLVE_TARBALL@"
- },
{
"url": "https://dev-www.libreoffice.org/src/@MARIADB_CONNECTOR_C_TARBALL@",
"sha256": "@MARIADB_CONNECTOR_C_SHA256SUM@",