pkgsrc/math/lp_solve/Makefile
richard 166437f176 Update to lp_solve_5.5.2.3 and indicate a 64-bit platform for aarch64
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.
2016-09-08 05:12:39 +00:00

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"