freebsd-ports/devel/valgrind/Makefile
Dimitry Andric 02b7825abf devel/valgrind(-devel): Fix compiler version detection hopefully forever
Every time a compiler major version is bumped, we run into this exact
same error:

===>  Configuring for valgrind-3.10.1.20160113_7,1
...
checking for a supported version of gcc... no (10.0.0)
configure: error: please use gcc >= 3.0 or clang >= 2.9

Attempt to fix this for all versions in the future.

Other fix included: don't use undefined behavior to implement offsetof,
just use the official builtin function instead.

Approved by:	zeising (maintainer)
MFH:		2020Q1
2020-02-21 06:58:07 +00:00

98 lines
2.4 KiB
Makefile

# Created by: Simon Barner <barner@gmx.de>
# $FreeBSD$
PORTNAME= valgrind
PORTVERSION= 3.10.1.20160113
DISTVERSIONPREFIX= freebsd-
PORTREVISION= 8
PORTEPOCH= 1
CATEGORIES= devel
MASTER_SITES= https://bitbucket.org/${BB_ACCOUNT}/${BB_PROJECT}/get/${BB_COMMIT}.tar.gz?dummy=/ \
http://mirror.shatow.net/freebsd/${PORTNAME}/
MAINTAINER= zeising@FreeBSD.org
COMMENT= Memory debugging and profiling tool
BB_COMMIT= ce1acb28953f
BB_ACCOUNT= stass
BB_PROJECT= valgrind-freebsd
LICENSE= GPLv2
CONFLICTS= valgrind-devel-[0-9]*
ONLY_FOR_ARCHS= i386 amd64
LIB32_PATH?= ${DESTDIR}/usr/lib32/libc.so
OPTIONS_DEFINE= DOCS MANPAGES MPI
OPTIONS_DEFINE_amd64= 32BIT
OPTIONS_DEFAULT= MANPAGES
.if exists(${LIB32_PATH})
OPTIONS_DEFAULT_amd64= 32BIT
.endif
32BIT_DESC= Enable debugging of 32-bit programs (requires lib32)
MPI_DESC= Enable build of MPI wrappers
DOCS_BUILD_DEPENDS= docbook-xsl>=0:textproc/docbook-xsl \
xsltproc:textproc/libxslt
MANPAGES_BUILD_DEPENDS= docbook-xsl>=0:textproc/docbook-xsl \
xsltproc:textproc/libxslt
MPI_LIB_DEPENDS= libmpich.so:net/mpich
OPTIONS_SUB= yes
USES= pathfix pkgconfig gmake perl5 shebangfix autoreconf
USE_PERL5= build
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
SHEBANG_FILES= callgrind/callgrind_annotate.in callgrind/callgrind_control.in
EXTRA_PATCHES= \
${FILESDIR}/accept4_syscall.patch:-p1 \
${FILESDIR}/jail_syscalls.patch:-p1 \
${FILESDIR}/kldload_syscalls.patch:-p1 \
${FILESDIR}/missing_fcntls.patch:-p1
PORTDOCS= html
WRKSRC= ${WRKDIR}/${BB_ACCOUNT}-${BB_PROJECT}-${BB_COMMIT}
CONFIGURE_ENV+= ac_cv_path_PERL=${PERL}
.include <bsd.port.options.mk>
.if ${OSVERSION} > 1200030
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-ino64:-p1
.endif
.if ${ARCH} == "amd64"
PLIST_SUB+= AMD64="" ARCH=amd64
. if !${PORT_OPTIONS:M32BIT}
CONFIGURE_ARGS+= --enable-only64bit
PLIST_SUB+= X86="@comment "
. else
. if !exists(${LIB32_PATH})
IGNORE=The lib32 distribution was not found. Please install the lib32\
distribution or run 'make config' and uncheck 32BIT option
. endif
PLIST_SUB+= X86=""
. endif
.else
PLIST_SUB+= X86="" ARCH=x86
PLIST_SUB+= AMD64="@comment "
.endif
.if !${PORT_OPTIONS:MDOCS}
post-patch:
@${RM} -r ${WRKSRC}/docs/html
.endif
post-build:
.if ${PORT_OPTIONS:MMANPAGES}
cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} man-pages
.endif
.if ${PORT_OPTIONS:MDOCS}
cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} html-docs
.endif
.include <bsd.port.mk>