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, \
|
$(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,calc, \
|
||||||
analysis \
|
analysis \
|
||||||
calc \
|
calc \
|
||||||
|
$(if $(ENABLE_COINMP),coinmpsolver) \
|
||||||
date \
|
date \
|
||||||
pricing \
|
pricing \
|
||||||
sc \
|
sc \
|
||||||
scd \
|
scd \
|
||||||
scfilt \
|
scfilt \
|
||||||
scui \
|
scui \
|
||||||
$(if $(MPL_SUBSET),,$(if $(ENABLE_LPSOLVE),solver)) \
|
|
||||||
$(if $(ENABLE_OPENCL),scopencl) \
|
$(if $(ENABLE_OPENCL),scopencl) \
|
||||||
|
$(if $(ENABLE_LPSOLVE),solver) \
|
||||||
$(if $(DISABLE_SCRIPTING),,vbaobj) \
|
$(if $(DISABLE_SCRIPTING),,vbaobj) \
|
||||||
$(if $(ENABLE_TELEPATHY),tubes) \
|
$(if $(ENABLE_TELEPATHY),tubes) \
|
||||||
))
|
))
|
||||||
|
@@ -108,6 +108,7 @@ export EBOOK_LIBS=$(gb_SPACE)@EBOOK_LIBS@
|
|||||||
export ENABLE_AVAHI=@ENABLE_AVAHI@
|
export ENABLE_AVAHI=@ENABLE_AVAHI@
|
||||||
export ENABLE_CAIRO_CANVAS=@ENABLE_CAIRO_CANVAS@
|
export ENABLE_CAIRO_CANVAS=@ENABLE_CAIRO_CANVAS@
|
||||||
export ENABLE_CMIS=@ENABLE_CMIS@
|
export ENABLE_CMIS=@ENABLE_CMIS@
|
||||||
|
export ENABLE_COINMP=@ENABLE_COINMP@
|
||||||
export ENABLE_CRASHDUMP=@ENABLE_CRASHDUMP@
|
export ENABLE_CRASHDUMP=@ENABLE_CRASHDUMP@
|
||||||
export ENABLE_CUPS=@ENABLE_CUPS@
|
export ENABLE_CUPS=@ENABLE_CUPS@
|
||||||
export ENABLE_CURL=@ENABLE_CURL@
|
export ENABLE_CURL=@ENABLE_CURL@
|
||||||
|
15
configure.ac
15
configure.ac
@@ -654,6 +654,7 @@ linux-android*)
|
|||||||
enable_lotuswordpro=no
|
enable_lotuswordpro=no
|
||||||
enable_mpl_subset=yes
|
enable_mpl_subset=yes
|
||||||
enable_opengl=no
|
enable_opengl=no
|
||||||
|
enable_coinmp=no
|
||||||
enable_lpsolve=no
|
enable_lpsolve=no
|
||||||
enable_report_builder=no
|
enable_report_builder=no
|
||||||
with_theme="tango"
|
with_theme="tango"
|
||||||
@@ -7323,6 +7324,7 @@ if test $_os = iOS; then
|
|||||||
enable_mpl_subset=yes
|
enable_mpl_subset=yes
|
||||||
enable_opengl=no
|
enable_opengl=no
|
||||||
enable_lotuswordpro=no
|
enable_lotuswordpro=no
|
||||||
|
enable_coinmp=no
|
||||||
enable_lpsolve=no
|
enable_lpsolve=no
|
||||||
enable_postgresql_sdbc=no
|
enable_postgresql_sdbc=no
|
||||||
enable_lotuswordpro=no
|
enable_lotuswordpro=no
|
||||||
@@ -9408,8 +9410,17 @@ dnl ===================================================================
|
|||||||
dnl How should we build the linear programming solver ?
|
dnl How should we build the linear programming solver ?
|
||||||
dnl ===================================================================
|
dnl ===================================================================
|
||||||
|
|
||||||
# Should we check for system CoinMP ? How to do that ?
|
ENABLE_COINMP=
|
||||||
BUILD_TYPE="$BUILD_TYPE 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=
|
ENABLE_LPSOLVE=
|
||||||
AC_MSG_CHECKING([whether to build with lpsolve])
|
AC_MSG_CHECKING([whether to build with lpsolve])
|
||||||
|
@@ -109,6 +109,9 @@ $(eval $(call gb_Rdb_add_components,services,\
|
|||||||
xmlscript/util/xmlscript \
|
xmlscript/util/xmlscript \
|
||||||
xmlsecurity/util/xmlsecurity \
|
xmlsecurity/util/xmlsecurity \
|
||||||
xmlsecurity/util/xsec_fw \
|
xmlsecurity/util/xsec_fw \
|
||||||
|
$(if $(ENABLE_COINMP), \
|
||||||
|
sccomp/source/solver/coinmpsolver \
|
||||||
|
) \
|
||||||
$(if $(ENABLE_LPSOLVE), \
|
$(if $(ENABLE_LPSOLVE), \
|
||||||
sccomp/source/solver/solver \
|
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))
|
$(eval $(call gb_Module_Module,sccomp))
|
||||||
|
|
||||||
ifeq ($(ENABLE_LPSOLVE),TRUE)
|
|
||||||
|
|
||||||
$(eval $(call gb_Module_add_targets,sccomp,\
|
$(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,\
|
$(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:
|
# 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)
|
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)
|
OUString SAL_CALL SolverComponent::getStatusDescription() throw (uno::RuntimeException, std::exception)
|
||||||
@@ -589,7 +589,7 @@ uno::Sequence< OUString > SolverComponent_getSupportedServiceNames()
|
|||||||
|
|
||||||
OUString SolverComponent_getImplementationName()
|
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)
|
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"
|
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 ) );
|
OUString aImplName( OUString::createFromAscii( pImplName ) );
|
||||||
void* pRet = 0;
|
void* pRet = 0;
|
||||||
|
@@ -32,6 +32,7 @@
|
|||||||
#define RID_ERROR_INFEASIBLE (SOLVER_RESOURCE_START + 8)
|
#define RID_ERROR_INFEASIBLE (SOLVER_RESOURCE_START + 8)
|
||||||
#define RID_ERROR_UNBOUNDED (SOLVER_RESOURCE_START + 9)
|
#define RID_ERROR_UNBOUNDED (SOLVER_RESOURCE_START + 9)
|
||||||
#define RID_ERROR_TIMEOUT (SOLVER_RESOURCE_START + 10)
|
#define RID_ERROR_TIMEOUT (SOLVER_RESOURCE_START + 10)
|
||||||
|
#define RID_COINMP_SOLVER_COMPONENT (SOLVER_RESOURCE_START + 11)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -24,6 +24,11 @@ String RID_SOLVER_COMPONENT
|
|||||||
Text [ en-US ] = "%PRODUCTNAME Linear Solver";
|
Text [ en-US ] = "%PRODUCTNAME Linear Solver";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
String RID_COINMP_SOLVER_COMPONENT
|
||||||
|
{
|
||||||
|
Text [ en-US ] = "%PRODUCTNAME CoinMP Linear Solver";
|
||||||
|
};
|
||||||
|
|
||||||
String RID_PROPERTY_NONNEGATIVE
|
String RID_PROPERTY_NONNEGATIVE
|
||||||
{
|
{
|
||||||
Text [ en-US ] = "Assume variables as non-negative";
|
Text [ en-US ] = "Assume variables as non-negative";
|
||||||
|
Reference in New Issue
Block a user