freebsd-ports/devel/google-perftools/Makefile

80 lines
2.1 KiB
Makefile
Raw Normal View History

# Created by: Yuri Victorovich <yuri@rawbw.com>
# $FreeBSD$
PORTNAME= google-perftools
PORTVERSION= 2.5
CATEGORIES= devel
MASTER_SITES= https://github.com/gperftools/gperftools/releases/download/gperftools-${PORTVERSION}/
DISTNAME= gperftools-${PORTVERSION}
MAINTAINER= yuri@rawbw.com
COMMENT= Fast, multi-threaded malloc() and nifty performance analysis tools
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
2016-04-21 18:43:14 +02:00
BROKEN_powerpc64= Does not build
LIB_DEPENDS= libunwind.so:devel/libunwind
WRKSRC= ${WRKDIR}/gperftools-${PORTVERSION}
DOCSDIR= ${PREFIX}/share/doc/gperftools
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
2014-08-05 08:40:46 +02:00
USES= compiler execinfo libtool
CPPFLAGS+= -I${LOCALBASE}/include
Support LIBS like LDFLAGS. - Add LIBS="${LIBS}" to MAKE_ENV and CONFIGURE_ENV. - Add an option helper for LIBS. - Adjust all ports that already use LIBS. Also remove references to PTHREAD_CFLAGS and PTHREAD_LIBS while here. - Some ports did not support having a LIBS environment variable and required additional patches. Somewhat simplified a linker command line looks like: ${CC} ${src_LDFLAGS} ${LDFLAGS} ${src_LIBS} ${LIBS} where src_LDFLAGS and src_LIBS are controlled by upstream and LDFLAGS and LIBS can be controlled by us. If possible -L and -l flags need to be added to LIBS to make sure they appear after any -L and -l flags set by upstream. Many ports currently add -L${LOCALBASE}/lib to LDFLAGS but this may appear too early on the command line causing installed libraries to be linked in instead of freshly built ones. Additional changes: benchmarks/netio: Replace WITH_IPV6 with an IPV6 option. comms/gnokii: Replace some patches with USES=pathfix. Also remove -fPIC. graphics/gimageview: USES=libtool and install desktop file in DESKTOPDIR. graphics/visionworkbench: Remove FreeBSD 7 support. multimedia/libmovtar: New LIB_DEPENDS syntax. multimedia/opencinematools: Use standard do-build. net/siproxd: USES=libtool:keepla (port actually needs .la files for plugins) net-mgmt/nagios: Remove -fPIC. net-mgmt/nagios4: Remove -fPIC. print/cups-base: Only add -lssp_nonshared on i386 and OSVERSION < 1000036. security/p11-kit: Replace PTHREAD_LIBS in CONFIGURE_ENV with ac_cv_func_pthread_mutexattr_init=no in CONFIGURE_ARGS. This skips a test in configure that falsely detects pthread_mutexattr_init in our libc. sysutils/dar: Fix iconv detection. x11/rxvt-unicode: Remove -lstdc++ and patch configure to remove a FreeBSD hack and use $CXX as linker as on other platforms. PR: 190592 Exp-run by: antoine Approved by: portmgr (antoine)
2014-06-11 16:49:59 +02:00
LIBS+= -L${LOCALBASE}/lib -lexecinfo
OPTIONS_DEFINE= DOCS
.include <bsd.port.pre.mk>
.if ${COMPILER_TYPE} == "clang" && !defined(USE_GCC)
# clang cannot disable builtins individually
CXXFLAGS+= -fno-builtin
.endif
.if ${ARCH} == "amd64"
CONFIGURE_ARGS+=--enable-frame-pointers
.endif
.if ${ARCH} == "ia64" || ${ARCH} == "powerpc" || ${ARCH} == "sparc64"
BROKEN= Does not build, assembly not supported, see PR#94: http://code.google.com/p/google-perftools/issues/detail?id=94&can=1
.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:
@${ECHO}
@${ECHO} "Please run 'make check' (requires bash)."
@${ECHO} "Two testcases are known to fail. Testsuite is known to be"
@${ECHO} "unreliable and give false positives and negatives (PR#661)."
@${ECHO}
post-install:
${MKDIR} ${STAGEDIR}${PREFIX}/libdata
${MV} ${STAGEDIR}${PREFIX}/lib/pkgconfig ${STAGEDIR}${PREFIX}/libdata
${MV} ${STAGEDIR}${PREFIX}/bin/pprof ${STAGEDIR}${PREFIX}/bin/perftools-pprof
post-stage:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib*.so.*
# Two of the tests are known to fail on FreeBSD 10, uncomment this as soon as this is fixed
#regression-test: check
check: build
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} check
.include <bsd.port.post.mk>