Fix isnan() checks to declare main() returning 'int' and use floating argument to isnan() avoiding recent (gcc 5) compiler noise. Since last update: ../../.. version 5.5.2.1 - fixed a small error in new and improved MIP_stepOF function to find integer solutions. ../../.. version 5.5.2.2 - For integer models with semi-cont variables it happened sometimes that a message "fillbranches_BB: Inconsistent equal-valued bounds for ..." occured and that the semi-cont condition was not respected. - New functions added: get_accuracy to get the numeric accuracy after solve. - New functions added: set_break_numeric_accuracy, get_break_numeric_accuracy to let lp_solve return ACCURACYERROR instead of FEASIBLE when numerical accuracy if worse then the provided values. In the past, lp_solve only returned a non-optimal status in case of very severe numerical instability. Now it will return already ACCURACYERROR when it finds a relative inaccuracy of 5e-7 - When reading a model from the lp-format and important issues are detected such as already bounds on variables being overruled later with for example a bin keyword, this is now reported in the default verbose level such that this is seen easier. 08/05/16 version 5.5.2.3 - For some models with integer variables, lp_solve did not find the most optimal solution.
60 lines
1.7 KiB
Makefile
60 lines
1.7 KiB
Makefile
# $NetBSD: Makefile,v 1.10 2016/09/08 05:12:39 richard Exp $
|
|
#
|
|
|
|
DISTNAME= lp_solve_5.5.2.3_source
|
|
PKGNAME= ${DISTNAME:S/_source//:S/_5/-5/}
|
|
CATEGORIES= math devel
|
|
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=lpsolve/}
|
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= http://lpsolve.sourceforge.net/
|
|
COMMENT= Mixed Integer Linear Programming (MILP) solver
|
|
#LICENSE= LGPL, unclear which version (see lp_lib.h)
|
|
|
|
USE_GCC_RUNTIME= yes
|
|
|
|
WRKSRC= ${WRKDIR}/lp_solve_5.5
|
|
|
|
SUBST_CLASSES+= dl
|
|
SUBST_STAGE.dl= pre-build
|
|
SUBST_SED.dl+= -e s,-ldl,${DL_LIBS:Q},g
|
|
SUBST_SED.dl+= -e s,^opts=.*,opts=\'${CFLAGS:Q}\',g
|
|
SUBST_SED.dl+= -e s,-fpic,-fPIC,g
|
|
SUBST_FILES.dl+= lp_solve/ccc
|
|
SUBST_FILES.dl+= lpsolve55/ccc
|
|
SUBST_FILES.dl+= demo/ccc
|
|
|
|
.include "../../mk/bsd.fast.prefs.mk"
|
|
|
|
.if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "sparc64" || \
|
|
${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "aarch64"
|
|
LPSOLVE_ARCH= ux64
|
|
.else
|
|
LPSOLVE_ARCH= ux32
|
|
.endif
|
|
|
|
INSTALLATION_DIRS= bin include/lpsolve lib
|
|
|
|
MAKE_ENV+= DL_LDADD=${BUILDLINK_LDADD.dl:Q}
|
|
|
|
do-build:
|
|
.for dir in lp_solve lpsolve55 demo
|
|
${RUN}${_ULIMIT_CMD} \
|
|
cd ${WRKSRC}/${dir} && \
|
|
${SETENV} ${MAKE_ENV} ${SH} ccc
|
|
.endfor
|
|
|
|
do-install:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/lp_solve/bin/${LPSOLVE_ARCH}/lp_solve \
|
|
${DESTDIR}${PREFIX}/bin
|
|
.for i in declare.h fortify.h ini.h lp_*.h lpkit.h lpsolve.h ufortify.h yacc_read.h
|
|
${INSTALL_DATA} ${WRKSRC}/${i} ${DESTDIR}${PREFIX}/include/lpsolve
|
|
.endfor
|
|
.for i in liblpsolve55.a liblpsolve55.so
|
|
${INSTALL_LIB} ${WRKSRC}/lpsolve55/bin/${LPSOLVE_ARCH}/${i} \
|
|
${DESTDIR}${PREFIX}/lib
|
|
.endfor
|
|
${LN} -sf liblpsolve55.so ${DESTDIR}${PREFIX}/lib/liblpsolve55.so.1
|
|
|
|
.include "../../mk/dlopen.buildlink3.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|