mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-04 01:48:54 +00:00
69f79551f5
a warning was printed. A mounted procfs is a runtime dependency of valgrind, but since the implementation of automatic suppression file generation the valgrind binary is run in the post-install stage. - An exception needs to be made for the ports cluster: The machine compiling the list of IGNOREd ports does not have a mounted /proc, so the check (and the generation of supression files is disabled there). Users who want to suppress false positives in valgrinds output should build the port instead of installing the package (so the rules can be customized to their specific installation). Reported by: Paul Ledbetter III <aeacides@gmail.com> Approved by: portmgr (kris)
109 lines
2.9 KiB
Makefile
109 lines
2.9 KiB
Makefile
# Ports collection makefile for: valgrind
|
|
# Date created: April 15 2004
|
|
# Whom: Simon Barner <barner@gmx.de>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= valgrind
|
|
PORTVERSION= 352
|
|
PORTREVISION= 3
|
|
CATEGORIES= devel
|
|
MASTER_SITES= http://www.rabson.org/
|
|
DISTNAME= ${PORTNAME}-stable-${PORTVERSION}
|
|
|
|
MAINTAINER= barner@FreeBSD.org
|
|
COMMENT= A (memory) debugging and profiling tool
|
|
|
|
ONLY_FOR_ARCHS= i386
|
|
CONFLICTS= valgrind-snapshot-[0-9]*
|
|
WRKSRC= ${WRKDIR}/${DISTNAME}
|
|
USE_GMAKE= yes
|
|
USE_GNOME= pkgconfig
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
|
|
CONFIGURE_ARGS+=--enable-maintainer-mode
|
|
USE_REINPLACE= yes
|
|
USE_PERL5_BUILD=yes
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${OSVERSION} >= 500000
|
|
PLIST_SUB+= RELENG_5=""
|
|
PLIST_SUB+= RELENG_4="@comment "
|
|
.else
|
|
PLIST_SUB+= RELENG_4=""
|
|
PLIST_SUB+= RELENG_5="@comment "
|
|
.endif
|
|
|
|
.if ${PERL_LEVEL} < 500601
|
|
IGNORE= "can\'t be built. Your Perl version is too old. Please use lang/perl5.8 port to upgrade your Perl"
|
|
.endif
|
|
|
|
PROCFS!= /sbin/mount | ${GREP} '^procfs' | ${AWK} '{print $1}'
|
|
|
|
pre-everything::
|
|
|
|
.if ${PROCFS}
|
|
@${ECHO_CMD} ""
|
|
@${ECHO_CMD} "Check if procfs is running: YES"
|
|
.else
|
|
#
|
|
# /proc is not mounted on the machine in the package building cluster that
|
|
# that builds the list of IGNOREd ports (but it is on the build machines),
|
|
# so we need to make an exception here.
|
|
#
|
|
.ifndef (PACKAGE_BUILDING)
|
|
ECHO_MSG=/usr/bin/printf
|
|
IGNORE= needs a running procfs, which is not\n\
|
|
\ \ \ \ \ activated on your system. Please read the procfs\(5\)\n\
|
|
\ \ \ \ \ man page and add the following line to /etc/fstab:\n\
|
|
\n\
|
|
\ \ \ \ \ proc /proc procfs rw 0 0\n\
|
|
\n\n
|
|
.endif
|
|
.endif
|
|
|
|
pre-patch:
|
|
.ifdef(NOPORTDOCS)
|
|
${FIND} ${WRKSRC} -name "Makefile.in" -exec \
|
|
${REINPLACE_CMD} -e "s/docs//g" {} \;
|
|
.endif
|
|
|
|
post-install:
|
|
@${INSTALL_DATA} ${WRKSRC}/coregrind/vg_unistd.h \
|
|
${PREFIX}/include/valgrind
|
|
|
|
# Check if kernel is built with USER_LDT option (FreeBSD 4 only)
|
|
.if ${OSVERSION} < 500000
|
|
@${PREFIX}/bin/valgrind --tool=memcheck true 2> ${WRKDIR}/ldt.test
|
|
@${GREP} i386_set_ldt ${WRKDIR}/ldt.test >/dev/null &&\
|
|
${ECHO_CMD} !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! && \
|
|
${ECHO_CMD} Please rebuild your kernel with ``options USER_LDT''! && \
|
|
${ECHO_CMD} Otherwise, valgrind will not be able to perform pointer analysis! && \
|
|
${ECHO_CMD} !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! || true
|
|
.endif
|
|
|
|
.ifndef (PACKAGE_BUILDING)
|
|
@yes | ${PREFIX}/bin/valgrind --tool=memcheck --gen-suppressions=yes true 2>&1 \
|
|
| ${SED} -e 's,.*{$$,{,' \
|
|
| ${GREP} -v '^=' \
|
|
> ${WRKDIR}/freebsd-default.supp || \
|
|
${RM} ${WRKDIR}/freebsd-default.supp
|
|
.endif
|
|
|
|
@${ECHO} ""
|
|
@${ECHO} ""
|
|
@${CAT} ${PKGMESSAGE} | ${SED} -e 's,%%PREFIX%%,${PREFIX},g'
|
|
@${ECHO} ""
|
|
|
|
.if exists(${WRKDIR}/freebsd-default.supp)
|
|
@${INSTALL_DATA} ${WRKDIR}/freebsd-default.supp \
|
|
${PREFIX}/lib/valgrind
|
|
PLIST_SUB+= VALGRIND_SUPPFILE=""
|
|
.else
|
|
PLIST_SUB+= VALGRIND_SUPPFILE="@comment "
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|