1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-29 05:38:00 +00:00
freebsd-ports/lang/dragonegg46-33/Makefile
Gerald Pfeifer 3be3e90f93 Update to libmpc version 1.0.1 which brings the following fixes:
- Switched to automake 1.11.6, see CVE-2012-3386.
 - #14669: Fixed extraction of CC from gmp.h.
 - Fixed case of intermediate zero real or imaginary part in mpc_fma,
   found by hydra with GMP_CHECK_RANDOMIZE=1346362345.

This is on top of the following changes from version 1.0

 - Licence change towards LGPLv3+ for the code and GFDLv1.3+ (with no
   invariant sections) for the documentation.
 - 100% of all lines are covered by tests
 - Renamed functions
   . mpc_mul_2exp to mpc_mul_2ui
   . mpc_div_2exp to mpc_div_2ui
 - 0^0, which returned (NaN,NaN) previously, now returns (1,+0).
 - Removed compatibility with K&R compilers, which was untestable due
   to lack of such compilers.
 - New functions
   . mpc_log10
   . mpc_mul_2si, mpc_div_2si
 - Speed-ups
   . mpc_fma
 - Bug fixes
   . mpc_div and mpc_norm now return a value indicating the effective
     rounding direction, as the other functions.
   . mpc_mul, mpc_sqr and mpc_norm now return correct results even if
     there are over- or underflows during the computation.
   . mpc_asin, mpc_proj, mpc_sqr: Wrong result when input variable has
     infinite part and equals output variable is corrected.
   . mpc_fr_sub: Wrong return value for imaginary part is corrected.

Convert to the new LIB_DEPENDS standard and remove hard-coded
.so versions from a couple of dependent ports.

Bump PORTREVISIONS of all dependent ports.

PR:		183141
Approved by:	portmgr (bdrewery)
2013-10-26 00:52:33 +00:00

75 lines
1.9 KiB
Makefile

# $FreeBSD$
PORTNAME= dragonegg
PORTVERSION= 3.3
PORTREVISION= 3
CATEGORIES= lang devel
MASTER_SITES= http://llvm.org/releases/${PORTVERSION}/
PKGNAMESUFFIX= ${USE_GCC:S/.//g}-${LLVM_SUFFIX}
DISTNAME= dragonegg-${PORTVERSION}.src
MAINTAINER= brooks@FreeBSD.org
COMMENT= GCC plugin to use the LLVM backend
CONFLICTS= dragonegg46-devel-3.3*
BUILD_DEPENDS+= llvm-config${LLVM_SUFFIX}:${PORTSDIR}/devel/llvm${LLVM_SUFFIX}
RUN_DEPENDS+= llvm-config${LLVM_SUFFIX}:${PORTSDIR}/devel/llvm${LLVM_SUFFIX}
LLVM_SUFFIX= ${PORTVERSION:S/.//g}
OPTIONS_DEFINE= DOCS
USES= compiler:features gmake
USE_GCC?= 4.6
USE_LDCONFIG= yes
DOCSDIR= ${PREFIX}/share/doc/${UNIQUENAME}
UNIQUENAME= ${PORTNAME}${PKGNAMESUFFIX}
DRAGONEGG_RELEASE= ${PORTVERSION:C/\.r[0-9]*//}
DRAGONEGG_SO= dragonegg-${DRAGONEGG_RELEASE}.so
DRAGONEGG_PATH= ${GCC_LIBDIR}/${DRAGONEGG_SO}
GCC_LIBDIR= lib/${CC}
ALL_TARGET=
MAKE_ARGS= GCC=${LOCALBASE}/bin/${CC} LLVM_CONFIG=llvm-config${LLVM_SUFFIX}
PLIST_FILES= ${GCC_LIBDIR}/${DRAGONEGG_SO}
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MDOCS}
PORTDOCS= README
.endif
.include <bsd.port.pre.mk>
.if ${COMPILER_FEATURES:Mlibc++}
IGNORE= "Dragonegg can't work if LLVM was built with libc++"
.endif
post-patch:
${REINPLACE_CMD} -e 's/%%CC%%/${CC}/' \
-e 's#%%PLUGINPATH%%#${LOCALBASE}/${DRAGONEGG_PATH}#' \
-e 's/arg-dragonegg/arg-dragonegg-${DRAGONEGG_RELEASE}/' \
${WRKSRC}/README
do-install:
${MKDIR} ${STAGEDIR}${LOCALBASE}/${GCC_LIBDIR}
${INSTALL_LIB} ${WRKSRC}/dragonegg.so \
${STAGEDIR}${LOCALBASE}/${GCC_LIBDIR}/${DRAGONEGG_SO}
.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
.endif
test:
${CC} -fplugin=${PREFIX}/${DRAGONEGG_PATH} ${FILESDIR}/hello.c \
-o ${WRKDIR}/hello
if [ "`${WRKDIR}/hello`" != "hello" ]; then \
${ECHO_CMD} wrong answer from ${WRKDIR}/test/hello ;\
${FALSE} ;\
fi
.include <bsd.port.post.mk>