Install coinmp and lpsolve linear solvers in parallel.
Change-Id: If07d94a2f646c8377b76fdf645e85f9491e4f061
This commit is contained in:
@@ -150,14 +150,15 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,base, \
|
||||
$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,calc, \
|
||||
analysis \
|
||||
calc \
|
||||
$(if $(ENABLE_COINMP),coinmpsolver) \
|
||||
date \
|
||||
pricing \
|
||||
sc \
|
||||
scd \
|
||||
scfilt \
|
||||
scui \
|
||||
$(if $(MPL_SUBSET),,$(if $(ENABLE_LPSOLVE),solver)) \
|
||||
$(if $(ENABLE_OPENCL),scopencl) \
|
||||
$(if $(ENABLE_LPSOLVE),solver) \
|
||||
$(if $(DISABLE_SCRIPTING),,vbaobj) \
|
||||
$(if $(ENABLE_TELEPATHY),tubes) \
|
||||
))
|
||||
|
@@ -108,6 +108,7 @@ export EBOOK_LIBS=$(gb_SPACE)@EBOOK_LIBS@
|
||||
export ENABLE_AVAHI=@ENABLE_AVAHI@
|
||||
export ENABLE_CAIRO_CANVAS=@ENABLE_CAIRO_CANVAS@
|
||||
export ENABLE_CMIS=@ENABLE_CMIS@
|
||||
export ENABLE_COINMP=@ENABLE_COINMP@
|
||||
export ENABLE_CRASHDUMP=@ENABLE_CRASHDUMP@
|
||||
export ENABLE_CUPS=@ENABLE_CUPS@
|
||||
export ENABLE_CURL=@ENABLE_CURL@
|
||||
|
15
configure.ac
15
configure.ac
@@ -654,6 +654,7 @@ linux-android*)
|
||||
enable_lotuswordpro=no
|
||||
enable_mpl_subset=yes
|
||||
enable_opengl=no
|
||||
enable_coinmp=no
|
||||
enable_lpsolve=no
|
||||
enable_report_builder=no
|
||||
with_theme="tango"
|
||||
@@ -7323,6 +7324,7 @@ if test $_os = iOS; then
|
||||
enable_mpl_subset=yes
|
||||
enable_opengl=no
|
||||
enable_lotuswordpro=no
|
||||
enable_coinmp=no
|
||||
enable_lpsolve=no
|
||||
enable_postgresql_sdbc=no
|
||||
enable_lotuswordpro=no
|
||||
@@ -9408,8 +9410,17 @@ dnl ===================================================================
|
||||
dnl How should we build the linear programming solver ?
|
||||
dnl ===================================================================
|
||||
|
||||
# Should we check for system CoinMP ? How to do that ?
|
||||
BUILD_TYPE="$BUILD_TYPE COINMP"
|
||||
ENABLE_COINMP=
|
||||
AC_MSG_CHECKING([whether to build with CoinMP])
|
||||
if test "$enable_coinmp" != "no"; then
|
||||
ENABLE_COINMP=TRUE
|
||||
AC_MSG_RESULT([yes])
|
||||
# Should we check for system CoinMP ? How to do that ?
|
||||
BUILD_TYPE="$BUILD_TYPE COINMP"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
AC_SUBST(ENABLE_COINMP)
|
||||
|
||||
ENABLE_LPSOLVE=
|
||||
AC_MSG_CHECKING([whether to build with lpsolve])
|
||||
|
@@ -109,6 +109,9 @@ $(eval $(call gb_Rdb_add_components,services,\
|
||||
xmlscript/util/xmlscript \
|
||||
xmlsecurity/util/xmlsecurity \
|
||||
xmlsecurity/util/xsec_fw \
|
||||
$(if $(ENABLE_COINMP), \
|
||||
sccomp/source/solver/coinmpsolver \
|
||||
) \
|
||||
$(if $(ENABLE_LPSOLVE), \
|
||||
sccomp/source/solver/solver \
|
||||
) \
|
||||
|
34
sccomp/Library_coinmpsolver.mk
Normal file
34
sccomp/Library_coinmpsolver.mk
Normal file
@@ -0,0 +1,34 @@
|
||||
# -*- 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_Library_Library,coinmpsolver))
|
||||
|
||||
$(eval $(call gb_Library_set_componentfile,coinmpsolver,sccomp/source/solver/coinmpsolver))
|
||||
|
||||
$(eval $(call gb_Library_use_sdk_api,coinmpsolver))
|
||||
|
||||
$(eval $(call gb_Library_use_libraries,coinmpsolver,\
|
||||
comphelper \
|
||||
cppu \
|
||||
cppuhelper \
|
||||
sal \
|
||||
tl \
|
||||
i18nlangtag \
|
||||
$(gb_UWINAPI) \
|
||||
))
|
||||
|
||||
$(eval $(call gb_Library_use_externals,coinmpsolver,\
|
||||
boost_headers \
|
||||
coinmp \
|
||||
))
|
||||
|
||||
$(eval $(call gb_Library_add_exception_objects,coinmpsolver,\
|
||||
sccomp/source/solver/solver \
|
||||
))
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
@@ -19,16 +19,13 @@
|
||||
|
||||
$(eval $(call gb_Module_Module,sccomp))
|
||||
|
||||
ifeq ($(ENABLE_LPSOLVE),TRUE)
|
||||
|
||||
$(eval $(call gb_Module_add_targets,sccomp,\
|
||||
Library_solver \
|
||||
$(if $(ENABLE_COINMP), Library_coinmpsolver) \
|
||||
$(if $(ENABLE_LPSOLVE), Library_solver) \
|
||||
))
|
||||
|
||||
$(eval $(call gb_Module_add_l10n_targets,sccomp,\
|
||||
AllLangResTarget_solver \
|
||||
$(if $(ENABLE_COINMP)$(ENABLE_LPSOLVE), AllLangResTarget_solver) \
|
||||
))
|
||||
|
||||
endif
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
||||
|
15
sccomp/source/solver/coinmpsolver.component
Normal file
15
sccomp/source/solver/coinmpsolver.component
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
* 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/.
|
||||
-->
|
||||
|
||||
<component loader="com.sun.star.loader.SharedLibrary" prefix="coinmp"
|
||||
xmlns="http://openoffice.org/2010/uno-components">
|
||||
<implementation name="com.sun.star.comp.Calc.CoinMPSolver">
|
||||
<service name="com.sun.star.sheet.Solver"/>
|
||||
</implementation>
|
||||
</component>
|
@@ -177,7 +177,7 @@ uno::Reference<beans::XPropertySetInfo> SAL_CALL SolverComponent::getPropertySet
|
||||
|
||||
OUString SAL_CALL SolverComponent::getComponentDescription() throw (uno::RuntimeException, std::exception)
|
||||
{
|
||||
return lcl_GetResourceString( RID_SOLVER_COMPONENT );
|
||||
return lcl_GetResourceString( RID_COINMP_SOLVER_COMPONENT );
|
||||
}
|
||||
|
||||
OUString SAL_CALL SolverComponent::getStatusDescription() throw (uno::RuntimeException, std::exception)
|
||||
@@ -589,7 +589,7 @@ uno::Sequence< OUString > SolverComponent_getSupportedServiceNames()
|
||||
|
||||
OUString SolverComponent_getImplementationName()
|
||||
{
|
||||
return OUString::createFromAscii( "com.sun.star.comp.Calc.Solver" );
|
||||
return OUString::createFromAscii( "com.sun.star.comp.Calc.CoinMPSolver" );
|
||||
}
|
||||
|
||||
OUString SAL_CALL SolverComponent::getImplementationName() throw(uno::RuntimeException, std::exception)
|
||||
@@ -615,7 +615,7 @@ uno::Reference<uno::XInterface> SolverComponent_createInstance( const uno::Refer
|
||||
|
||||
extern "C"
|
||||
{
|
||||
SAL_DLLPUBLIC_EXPORT void* SAL_CALL solver_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
|
||||
SAL_DLLPUBLIC_EXPORT void* SAL_CALL coinmp_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
|
||||
{
|
||||
OUString aImplName( OUString::createFromAscii( pImplName ) );
|
||||
void* pRet = 0;
|
||||
|
@@ -32,6 +32,7 @@
|
||||
#define RID_ERROR_INFEASIBLE (SOLVER_RESOURCE_START + 8)
|
||||
#define RID_ERROR_UNBOUNDED (SOLVER_RESOURCE_START + 9)
|
||||
#define RID_ERROR_TIMEOUT (SOLVER_RESOURCE_START + 10)
|
||||
#define RID_COINMP_SOLVER_COMPONENT (SOLVER_RESOURCE_START + 11)
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -24,6 +24,11 @@ String RID_SOLVER_COMPONENT
|
||||
Text [ en-US ] = "%PRODUCTNAME Linear Solver";
|
||||
};
|
||||
|
||||
String RID_COINMP_SOLVER_COMPONENT
|
||||
{
|
||||
Text [ en-US ] = "%PRODUCTNAME CoinMP Linear Solver";
|
||||
};
|
||||
|
||||
String RID_PROPERTY_NONNEGATIVE
|
||||
{
|
||||
Text [ en-US ] = "Assume variables as non-negative";
|
||||
|
Reference in New Issue
Block a user