Changeset View
Changeset View
Standalone View
Standalone View
head/devel/google-perftools/Makefile
# Created by: Yuri Victorovich <yuri@rawbw.com> | # Created by: Yuri Victorovich <yuri@rawbw.com> | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= google-perftools | PORTNAME= google-perftools | ||||
PORTVERSION= 2.6.1 | DISTVERSIONPREFIX= gperftools- | ||||
PORTREVISION= 1 | DISTVERSION= 2.6.3 | ||||
CATEGORIES= devel | CATEGORIES= devel | ||||
MASTER_SITES= https://github.com/gperftools/gperftools/releases/download/gperftools-${PORTVERSION}/ | MASTER_SITES= https://github.com/gperftools/gperftools/releases/download/gperftools-${PORTVERSION}/ | ||||
DISTNAME= gperftools-${PORTVERSION} | DISTNAME= gperftools-${PORTVERSION} | ||||
MAINTAINER= yuri@rawbw.com | MAINTAINER= yuri@FreeBSD.org | ||||
COMMENT= Fast, multi-threaded malloc() and nifty performance analysis tools | COMMENT= Fast, multi-threaded malloc() and nifty performance analysis tools | ||||
LICENSE= BSD3CLAUSE | LICENSE= BSD3CLAUSE | ||||
LICENSE_FILE= ${WRKSRC}/COPYING | LICENSE_FILE= ${WRKSRC}/COPYING | ||||
BROKEN_powerpc= fails to build: assembly not supported, see PR#94: http://code.google.com/p/google-perftools/issues/detail?id=94&can=1 | BROKEN_powerpc= fails to build: assembly not supported, see PR#94: http://code.google.com/p/google-perftools/issues/detail?id=94&can=1 | ||||
BROKEN_powerpc64= fails to build: assembly not supported, see PR#94: http://code.google.com/p/google-perftools/issues/detail?id=94&can=1 | BROKEN_powerpc64= fails to build: assembly not supported, see PR#94: http://code.google.com/p/google-perftools/issues/detail?id=94&can=1 | ||||
BROKEN_sparc64= fails to build: assembly not supported, see PR#94: http://code.google.com/p/google-perftools/issues/detail?id=94&can=1 | BROKEN_sparc64= fails to build: assembly not supported, see PR#94: http://code.google.com/p/google-perftools/issues/detail?id=94&can=1 | ||||
LIB_DEPENDS= libunwind.so:devel/libunwind | LIB_DEPENDS= libunwind.so:devel/libunwind | ||||
WRKSRC= ${WRKDIR}/gperftools-${PORTVERSION} | |||||
DOCSDIR= ${PREFIX}/share/doc/gperftools | DOCSDIR= ${PREFIX}/share/doc/gperftools | ||||
GNU_CONFIGURE= yes | |||||
USES= compiler gmake libtool | USES= compiler gmake libtool | ||||
GNU_CONFIGURE= yes | |||||
USE_LDCONFIG= yes | USE_LDCONFIG= yes | ||||
TEST_TARGET= check | TEST_TARGET= check | ||||
LIBS+= -lexecinfo | LIBS+= -lexecinfo | ||||
PLIST_SUB= SHL3=4.5.1 SHL1=4 | |||||
OPTIONS_DEFINE= DOCS | OPTIONS_DEFINE= DOCS | ||||
OPTIONS_DEFAULT=PAGE8K ALIGN16 | |||||
OPTIONS_SINGLE= PAGESIZE ALIGN | OPTIONS_SINGLE= PAGESIZE ALIGN | ||||
OPTIONS_SINGLE_ALIGN= ALIGN8 ALIGN16 | OPTIONS_SINGLE_ALIGN= ALIGN8 ALIGN16 | ||||
OPTIONS_SINGLE_PAGESIZE=PAGE8K PAGE32K PAGE64K | OPTIONS_SINGLE_PAGESIZE= PAGE8K PAGE32K PAGE64K | ||||
OPTIONS_DEFAULT= PAGE8K ALIGN16 | |||||
ALIGN_DESC= The tcmalloc allocation alignment | ALIGN_DESC= The tcmalloc allocation alignment | ||||
ALIGN8_DESC= 8 bytes allocation alignment | ALIGN8_DESC= 8 bytes allocation alignment | ||||
ALIGN16_DESC= 16 bytes allocation alignment | ALIGN16_DESC= 16 bytes allocation alignment | ||||
PAGESIZE_DESC= The tcmalloc internal page size | PAGESIZE_DESC= The tcmalloc internal page size | ||||
PAGE8K_DESC= 8K page size | PAGE8K_DESC= 8K page size | ||||
PAGE32K_DESC= 32K page size | PAGE32K_DESC= 32K page size | ||||
PAGE64K_DESC= 64K page size | PAGE64K_DESC= 64K page size | ||||
ALIGN8_CONFIGURE_ON= --with-tcmalloc-alignment=8 | ALIGN8_CONFIGURE_ON= --with-tcmalloc-alignment=8 | ||||
ALIGN16_CONFIGURE_ON= --with-tcmalloc-alignment=16 | ALIGN16_CONFIGURE_ON= --with-tcmalloc-alignment=16 | ||||
PAGE8K_CONFIGURE_ON= --with-tcmalloc-pagesize=8 | PAGE8K_CONFIGURE_ON= --with-tcmalloc-pagesize=8 | ||||
PAGE32K_CONFIGURE_ON= --with-tcmalloc-pagesize=32 | PAGE32K_CONFIGURE_ON= --with-tcmalloc-pagesize=32 | ||||
PAGE64K_CONFIGURE_ON= --with-tcmalloc-pagesize=64 | PAGE64K_CONFIGURE_ON= --with-tcmalloc-pagesize=64 | ||||
PORTDOCS= * | |||||
.include <bsd.port.pre.mk> | .include <bsd.port.pre.mk> | ||||
.if ${COMPILER_TYPE} == "clang" && !defined(USE_GCC) | .if ${COMPILER_TYPE} == "clang" && !defined(USE_GCC) | ||||
# clang cannot disable builtins individually | # clang cannot disable builtins individually | ||||
CXXFLAGS+= -fno-builtin | CXXFLAGS+= -fno-builtin | ||||
.endif | .endif | ||||
.if ${ARCH} == "amd64" | .if ${ARCH} == "amd64" | ||||
CONFIGURE_ARGS+=--enable-frame-pointers | CONFIGURE_ARGS+=--enable-frame-pointers | ||||
.endif | .endif | ||||
post-patch: | |||||
.if ${COMPILER_TYPE} == "clang" && !defined(USE_GCC) | |||||
@${REINPLACE_CMD} -Ee \ | |||||
's|-fno-builtin-[a-z_]+||g' \ | |||||
${WRKSRC}/Makefile.in | |||||
.endif | |||||
post-patch-DOCS-off: | |||||
@${REINPLACE_CMD} -e \ | |||||
'/^install-data-am:/ s|install-dist_docDATA||' \ | |||||
${WRKSRC}/Makefile.in | |||||
post-build: | post-build: | ||||
@${ECHO} | @${ECHO} | ||||
@${ECHO} "Please run 'make check' (requires bash)." | @${ECHO} "Please run 'make check' (requires bash)." | ||||
@${ECHO} "Two testcases are known to fail. Testsuite is known to be" | @${ECHO} "Two testcases are known to fail. Testsuite is known to be" | ||||
@${ECHO} "unreliable and give false positives and negatives (PR#661)." | @${ECHO} "unreliable and give false positives and negatives (PR#661)." | ||||
@${ECHO} | @${ECHO} | ||||
post-install: | post-install: | ||||
${MV} ${STAGEDIR}${PREFIX}/bin/pprof ${STAGEDIR}${PREFIX}/bin/perftools-pprof | ${MV} ${STAGEDIR}${PREFIX}/bin/pprof ${STAGEDIR}${PREFIX}/bin/perftools-pprof | ||||
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib*.so.* | @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib*.so.* | ||||
.include <bsd.port.post.mk> | .include <bsd.port.post.mk> |