1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-27 00:57:50 +00:00
freebsd-ports/net-mgmt/cflowd/Makefile
Tijl Coosemans aad09bc5e2 When linking a library libA with a library libB using libtool, if libB.la
exists, libtool will add all libraries libB.la refers to (dependency_libs
field) to the linker command line and store them in the dependency_libs
field of libA.la.  So everything that subsequently links with libA will also
link to these extra libraries.  This causes too much overlinking.

This commit modifies Mk/Uses/libtool.mk so it empties the dependency_libs
field in .la libraries during staging.  However, because .la libraries have
very limited use when dependency_libs is empty it makes sense to completely
remove them during staging.

So with this commit USES=libtool is modified to remove .la libraries and a
new form (USES=libtool:keepla) is introduced in case they need to be kept
(dependency_libs is still emptied).

PORTREVISION is bumped on all ports with USES=libtool that install .la
libraries.  Most ports are also changed to add :keepla because .la
libraries have to be kept around as long as there are dependent ports with
.la libraries that refer to them in their dependency_libs field.  In most
cases :keepla can be removed again as soon as all dependent ports that
install .la libraries have some form of USES=libtool added to their
Makefile.

PR:		ports/188759
Exp-run:	bdrewery
Approved by:	portmgr (bdrewery)
2014-04-23 13:25:16 +00:00

54 lines
1.4 KiB
Makefile

# Created by: Andreas Klemm <andreas@klemm.gtn.com>
# $FreeBSD$
PORTNAME= cflowd
PORTVERSION= 2.1.b1
PORTREVISION= 12
PORTEPOCH= 1
CATEGORIES= net-mgmt
MASTER_SITES= http://www.caida.org/tools/measurement/cflowd/download/
DISTNAME= ${PORTNAME}-${PORTVERSION:S|.|-|g}
MAINTAINER= ports@FreeBSD.org
COMMENT= Flow analysis tool used for analyzing Cisco's NetFlow switching
LIB_DEPENDS= Arts:${PORTSDIR}/net-mgmt/arts++
GNU_CONFIGURE= yes
USES= bison gmake libtool:keepla
USE_LDCONFIG= yes
CONFIGURE_ARGS= --enable-shared --with-artspp=${LOCALBASE}
MANL= cfdases.l cfdifmatrix.l cfdnets.l cfdnexthops.l \
cfdportmatrix.l cfdprotos.l cfdtos.l flowdump.l flowwatch.l
OPTIONS_DEFINE= FLOWSCAN
FLOWSCAN_DESC= FlowScan patch
NO_STAGE= yes
.include <bsd.port.options.mk>
.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1000000
BROKEN= Fails with recent flex/clang/libc++, try net-mgmt/flow-tools
.endif
.if ${PORT_OPTIONS:MFLOWSCAN}
PATCH_SITES+= http://net.doit.wisc.edu/~plonka/cflowd/
PATCHFILES+= cflowd-${PORTVERSION:S|.|-|g}-djp.patch
.endif
post-extract:
${CHMOD} -R u+w ${WRKSRC}
post-patch:
@${FIND} ${WRKSRC} -type f | ${XARGS} ${REINPLACE_CMD} \
-e 's|fstream\.h|fstream|' -e 's|iomanip\.h|iomanip|' \
-e 's|iostream\.h|iostream|' -e 's|strstream\.h|strstream|'
post-install:
${INSTALL_SCRIPT} ${FILESDIR}/cflowd.sh \
${PREFIX}/etc/rc.d/cflowd-base.sh.sample
.include <bsd.port.mk>