1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-05 01:55:52 +00:00
freebsd-ports/math/cocoalib/Makefile
2022-02-14 09:10:26 -08:00

113 lines
3.6 KiB
Makefile

PORTNAME= cocoalib
DISTVERSION= 0.99717
CATEGORIES= math
MASTER_SITES= http://cocoa.dima.unige.it/cocoalib/tgz/
DISTNAME= CoCoALib-${DISTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= C++ library for doing Computations in Commutative Algebra
LICENSE= GPLv3+ GFDL PD
LICENSE_COMB= multi
LICENSE_FILE_GPLv3+ = ${WRKSRC}/COPYING-GPLv3
LICENSE_FILE_GFDL= ${WRKSRC}/doc/COPYING
BUILD_DEPENDS= bash:shells/bash
LIB_DEPENDS= libgmp.so:math/gmp
USES= compiler:c++11-lang shebangfix tar:tgz
USE_LDCONFIG= yes
SHEBANG_GLOB= *.sh
CXXFLAGS+= -I${WRKSRC}/include \
-I${WRKSRC}/src/AlgebraicCore/TmpFactorDir \
-I${WRKSRC}/src/AlgebraicCore/TmpFactorDir/multivariate \
-I${WRKSRC}/src/AlgebraicCore/TmpFactorDir/linalg \
-I${LOCALBASE}/include \
-DCoCoA_ULONG2LONG=1 -fPIC
LDFLAGS+= -L${LOCALBASE}/lib -L${BUILD_WRKSRC} -lcocoa -lgmp
BUILD_WRKSRC= ${WRKSRC}/src/AlgebraicCore
TEST_TARGET= all
TEST_WRKSRC= ${WRKSRC}/src/tests
PREPROCESSOR_DEFNS= ${WRKSRC}/include/CoCoA/PREPROCESSOR_DEFNS.H
OPTIONS_DEFINE= BOOST DOCS EXAMPLES FROBBY GFAN \
GSL NORMALIZ SMALLDEG TEST
FROBBY_DESC= Link with libfrobby.a
GFAN_DESC= Link with libgfan.a
GSL_DESC= Link with libgsl.a
NORMALIZ_DESC= Link with libnormaliz.a (might cause circular dependency)
SMALLDEG_DESC= Optimization for small degree polynomials
BOOST_BUILD_DEPENDS= ${LOCALBASE}/include/boost/thread.hpp:devel/boost-libs
BOOST_CXXFLAGS= -pthread
FROBBY_BUILD_DEPENDS= ${LOCALBASE}/lib/libfrobby.a:math/frobby
GFAN_BUILD_DEPENDS= ${LOCALBASE}/lib/libgfan.a:math/gfanlib
GSL_BUILD_DEPENDS= ${LOCALBASE}/lib/libgsl.a:math/gsl
NORMALIZ_BUILD_DEPENDS= ${LOCALBASE}/lib/libnormaliz.a:math/libnormaliz
SMALLDEG_EXTRA_PATCHES= ${FILESDIR}/extra-patch-include-CoCoA_config.H
pre-configure:
${REINPLACE_CMD} "s,%%DISTVERSION%%,${DISTVERSION},g" ${BUILD_WRKSRC}/Makefile
do-configure-BOOST-on:
${ECHO_CMD} "#define COCOA_WITH_BOOST" >> ${PREPROCESSOR_DEFNS}
do-configure-BOOST-off:
${ECHO_CMD} "#undef COCOA_WITH_BOOST" >> ${PREPROCESSOR_DEFNS}
do-configure-FROBBY-on:
${ECHO_CMD} "#define COCOA_WITH_FROBBY" >> ${PREPROCESSOR_DEFNS}
do-configure-FROBBY-off:
${ECHO_CMD} "#undef COCOA_WITH_FROBBY" >> ${PREPROCESSOR_DEFNS}
do-configure-GFAN-on:
${ECHO_CMD} "#define COCOA_WITH_GFAN" >> ${PREPROCESSOR_DEFNS}
do-configure-GFAN-off:
${ECHO_CMD} "#undef COCOA_WITH_GFAN" >> ${PREPROCESSOR_DEFNS}
do-configure-GSL-on:
${ECHO_CMD} "#define COCOA_WITH_GSL" >> ${PREPROCESSOR_DEFNS}
do-configure-GSL-off:
${ECHO_CMD} "#undef COCOA_WITH_GSL" >> ${PREPROCESSOR_DEFNS}
do-configure-NORMALIZ-on:
${ECHO_CMD} "#define COCOA_WITH_NORMALIZ" >> ${PREPROCESSOR_DEFNS}
do-configure-NORMALIZ-off:
${ECHO_CMD} "#undef COCOA_WITH_NORMALIZ" >> ${PREPROCESSOR_DEFNS}
pre-build:
cd ${WRKSRC}/include/CoCoA && ./MakeUnifiedHeader.sh --check
post-build-TEST-on: do-test
do-install:
${INSTALL_DATA} ${BUILD_WRKSRC}/libcocoa.a ${STAGEDIR}${PREFIX}/lib
${INSTALL_LIB} ${BUILD_WRKSRC}/libcocoa.so.0 ${STAGEDIR}${PREFIX}/lib
cd ${STAGEDIR}${PREFIX}/lib && \
${LN} -sf libcocoa.so.0 ${STAGEDIR}${PREFIX}/lib/libcocoa.so
${MKDIR} ${STAGEDIR}${PREFIX}/include/CoCoA
cd ${WRKSRC}/include/CoCoA && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/CoCoA '-name *\.H -a ! -name \._*'
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${MKDIR} ${STAGEDIR}${DOCSDIR}/html
${INSTALL_MAN} ${WRKSRC}/doc/CoCoALib.pdf ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC}/doc/html && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/html '! -name \._*'
post-install-EXAMPLES-on:
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_MAN} ${WRKSRC}/examples/index.html ${STAGEDIR}${EXAMPLESDIR}
cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} '-name ex-*\.C'
.include <bsd.port.mk>