freebsd-ports/devel/pcre/Makefile
Adam Weinberger 740c95c715 Update to 8.39. Introduce a "MAN3" option, to control installation of
~100 API manpages. Remove the bits about preventing coredumps on package
clusters during regression tests, because I'm not clear why the package
clusters would be running the regression tests. Rewrite the pkg-descr
using current text from pcre.org.

While here, clean up and reorganize the Makefile for simplicity and
clarity.
2016-06-27 22:15:04 +00:00

102 lines
3.1 KiB
Makefile

# Created by: dom
# $FreeBSD$
PORTNAME= pcre
PORTVERSION= 8.39
CATEGORIES= devel
MASTER_SITES= SF \
ftp://ftp.csx.cam.ac.uk/pub/software/programming/${PORTNAME}/ \
ftp://ftp.fu-berlin.de/unix/misc/${PORTNAME}/ \
ftp://ftp.tin.org/pub/libs/${PORTNAME}/
MAINTAINER= adamw@FreeBSD.org
COMMENT= Perl Compatible Regular Expressions library
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENCE
USES= libtool pathfix tar:bzip2
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-utf --enable-unicode-properties \
--enable-pcre8 --enable-pcre16 --enable-pcre32
INSTALL_TARGET= install-strip
TEST_TARGET= check
PORTDOCS= *
OPTIONS_DEFINE= DOCS MAN3 STACK_RECURSION
OPTIONS_DEFAULT= MAN3 STACK_RECURSION
OPTIONS_SUB= yes
OPTIONS_RADIO= CLI
OPTIONS_RADIO_CLI= LIBEDIT READLINE
MAN3_DESC= Install API manpages (section 3)
STACK_RECURSION_DESC= Use the stack for recursion during matching
LIBEDIT_USES= libedit
LIBEDIT_CONFIGURE_ENABLE= pcretest-libedit
READLINE_USES= readline
READLINE_CONFIGURE_ENABLE= pcretest-libreadline
.include <bsd.port.options.mk>
# Using the heap rather than the stack for recursion is slower but less
# prone to segfaults from stack exhaustion when matching certain patterns
.if !${PORT_OPTIONS:MSTACK_RECURSION}
CONFIGURE_ARGS+= --disable-stack-for-recursion
.endif
# Optional knobs that accept positive integer parameters (see pcrebuild(3)):
# Allow the use of very large patterns (> 64K) with the 8- and 16-bit
# libraries, at the expense of longer load times (possible values:
# 2 (default), 3, and 4):
.if defined(WITH_LINK_SIZE)
CONFIGURE_ARGS+= --with-link-size=${WITH_LINK_SIZE}
.endif
# Control PCRE resource use by limiting the default number of times pcre_exec()
# can call match() during a single operation (default: 10 million):
.if defined(WITH_MATCH_LIMIT)
CONFIGURE_ARGS+= --with-match-limit=${WITH_MATCH_LIMIT}
.endif
# Control PCRE resource use by limiting the default number of times pcre_exec()
# can call match() recursively during a single operation (default: 10 million):
.if defined(WITH_MATCH_LIMIT_RECURSION)
CONFIGURE_ARGS+= --with-match-limit-recursion=${WITH_MATCH_LIMIT_RECURSION}
.endif
# Control PCRE resource use by limiting the nesting depth of parentheses in
# patterns compiled with pcre_compile() (default: 250):
.if defined(WITH_PARENS_NEST_LIMIT)
CONFIGURE_ARGS+= --with-parens-nest-limit=${WITH_PARENS_NEST_LIMIT}
.endif
# Adjust the default maximum number of substrings that will be stored on the stack
# when the 8-bit library is called via the POSIX interface (default: 10):
.if defined(WITH_POSIX_MALLOC_THRESHOLD)
CONFIGURE_ARGS+= --with-posix-malloc-threshold=${WITH_POSIX_MALLOC_THRESHOLD}
.endif
.include <bsd.port.pre.mk>
.if ${ARCH} != "sparc64" && ${ARCH} != "ia64" && ${ARCH:Mmips64*} == ""
CONFIGURE_ARGS+= --enable-jit
.else
CONFIGURE_ARGS+= --disable-jit
.endif
post-patch:
@${REINPLACE_CMD} -e "/^\.rs/d" ${WRKSRC}/doc/*.3 ${WRKSRC}/doc/*.1
@${REINPLACE_CMD} -e "s/£//g" ${WRKSRC}/doc/pcre_compile2.3
post-stage:
${LN} -s libpcre.so.1 ${STAGEDIR}${PREFIX}/lib/libpcre.so.3
.include <bsd.port.post.mk>