freebsd-ports/www/trafficserver/Makefile
Tijl Coosemans a374acb969 By default libtool replaces -export-symbols <file> with -retain-symbols-file
<file> on ELF systems, but this doesn't really do what -export-symbols is
meant to do.  On GNU ELF systems it converts <file> to a simple version
script first and then uses -version-script instead of -retain-symbols-file.
Let USES=libtool patch libtool scripts to do this on all systems with GNU
ld(1).

Bump PORTREVISION on all ports where the build log contains -export-symbols.

audio/calf: This port builds a module that now exports only one function,
but it also builds a number of executables that link to this module and
expect to see other functions.  Because it's already a bit dodgy to link to
a module (libtool warns about this) let the module continue to export only
one function and instead build an ordinary library from the same source that
the executables can link to.  Fix a number of other issues in the same
Makefile.am and clean up the port Makefile.

japanese/scim-honoka: Tries to hide all symbols that start with an
underscore, but because this library is written in C++ all symbols start
with _Z so it ends up hiding everything.  Just don't hide anything at all
like the textproc/scim configure script does.

multimedia/schroedinger: Apply an upstream patch.

textproc/scim-input-pad: Same as japanese/scim-honoka.

PR:		201922
Approved by:	portmgr (antoine)
Exp-run by:	antoine
2015-08-02 15:03:19 +00:00

103 lines
2.7 KiB
Makefile

# Created by: Jui-Nan Lin <jnlin@csie.nctu.edu.tw>
# $FreeBSD$
PORTNAME= trafficserver
PORTVERSION= 5.3.1
PORTREVISION= 1
CATEGORIES= www
MASTER_SITES= APACHE/${PORTNAME}
MAINTAINER= gaod@hychen.org
COMMENT= Fast, scalable and extensible HTTP proxy server
LICENSE= APACHE20
LIB_DEPENDS= libboost_system.so:${PORTSDIR}/devel/boost-libs \
libcurl.so:${PORTSDIR}/ftp/curl \
libhwloc.so:${PORTSDIR}/devel/hwloc \
libpcre.so:${PORTSDIR}/devel/pcre \
libxml2.so:${PORTSDIR}/textproc/libxml2
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
USES= cpe execinfo gmake libtool perl5 pkgconfig tar:bzip2 tcl
CPE_VENDOR= apache
CPE_PRODUCT= traffic_server
USE_PERL5= build run
USE_LDCONFIG= yes
USE_OPENSSL= yes
USE_RC_SUBR= ${PORTNAME}
USE_SQLITE= yes
ONLY_FOR_ARCHS= i386 amd64
USERS= ${WWWOWN}
GROUPS= ${WWWGRP}
PLIST_SUB= WWWOWN="${WWWOWN}" WWWGRP="${WWWGRP}" PORTVERSION="${PORTVERSION}"
LIBS+= -L${LOCALBASE}/lib
CONFIGURE_ARGS= --with-libxml2=${LOCALBASE} \
--with-pcre=${LOCALBASE} \
--with-openssl=${OPENSSLBASE} \
--with-xml=libxml2 \
--with-tcl=${TCL_LIBDIR} \
--disable-silent-rules \
--enable-cppapi \
--enable-luajit \
--localstatedir=/var \
--with-user=${USERS} \
--with-group=${GROUPS}
OPTIONS_DEFINE= DOCS INTERIM WCCP SPDY
OPTIONS_RADIO= MEMMAN
OPTIONS_RADIO_MEMMAN= ALLOCATORS FREELISTS RECLAIM
OPTIONS_DEFAULT= FREELISTS
WCCP_DESC= Enable WCCPv2 protocol
INTERIM_DESC= Enable interim cache (SSD)
ALLOCATORS_DESC= Manage memory with allocators
FREELISTS_DESC= Manage memory with freelists
RECLAIM_DESC= Reclaim unused memory in freelists
SPDY_DESC= Enable SPDY
WCCP_CONFIGURE_ENABLE= wccp
INTERIM_CONFIGURE_ENABLE= interim-cache
SPDY_CONFIGURE_ENABLE= spdy
SPDY_LIB_DEPENDS= libspdylay.so:${PORTSDIR}/www/spdylay
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MRECLAIM}
CONFIGURE_ARGS+= --enable-reclaimable-freelist --enable-freelist
.elif ${PORT_OPTIONS:MFREELISTS}
CONFIGURE_ARGS+= --enable-freelist
.elif ${PORT_OPTIONS:MALLOCATORS}
CONFIGURE_ARGS+= --disable-freelist
.else
IGNORE= no allocation strategy selected
.endif
.if ${OSVERSION} >= 900033 && exists(/usr/bin/clang)
CC= clang
CXX= clang++
.endif
.if ! exists(/var/cache)
# FreeBSD 8.x
PLIST_DIRS+= /var/cache
.endif
post-patch:
@${REINPLACE_CMD} \
-e '/cachedir:/s,$${localstatedir}+,$${localstatedir}/cache+,' \
-e '/runtimedir:/s,$${localstatedir}+,$${localstatedir}/run+,' \
${WRKSRC}/config.layout
@${REINPLACE_CMD} '/^LUA_LDFLAGS =/s/$$/ @LDFLAGS@/' \
${WRKSRC}/lib/Makefile.in
post-install:
@${RMDIR} ${STAGEDIR}${DATADIR}
@${MKDIR} ${STAGEDIR}${ETCDIR}/snapshots
(cd ${STAGEDIR}${ETCDIR} && for f in *.config *.config.xml; do ${MV} $$f $$f.sample; done)
.include <bsd.port.mk>