freebsd-ports/textproc/sablotron/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

63 lines
1.6 KiB
Makefile

# Created by: Sergey Skvortsov <skv@protey.ru>
# $FreeBSD$
PORTNAME= Sablot
PORTVERSION= 1.0.3
PORTREVISION= 2
CATEGORIES= textproc
MASTER_SITES= SF/sablotron/sablotron-${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= XML toolkit implementing XSLT 1.0, XPath 1.0 and DOM Level2
LICENSE= GPLv2
LIB_DEPENDS= libexpat.so:${PORTSDIR}/textproc/expat2
OPTIONS_DEFINE= DEBUGGER DISABLE_META DOCS DOCUMENT_ERRORS DOM
DEBUGGER_DESC= Enable debugger
DISABLE_META_DESC= Do not output the META html tag
DOCUMENT_ERRORS_DESC= Allow document errors
DOM_DESC= Use DOM
OPTIONS_DEFAULT= DOM DOCUMENT_ERRORS
DEBUGGER_CONFIGURE_ENABLE= debugger
DISABLE_META_CONFIGURE_ON= --disable-adding-meta
DOCS_BUILD_DEPENDS= p5-XML-Parser>=0:${PORTSDIR}/textproc/p5-XML-Parser
DOCS_CONFIGURE_ON= --with-html-dir=${DOCSDIR}
DOCS_USES= perl5
DOCS_USE= PERL5=build
DOM_CONFIGURE_ENABLE= dom
DOCUMENT_ERRORS_CONFIGURE_ENABLE= document-errors
GNU_CONFIGURE= yes
USES= gmake iconv libtool:keepla
USE_LDCONFIG= yes
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib -lexpat ${ICONV_LIB}
PORTDOCS= *
DOCSRCDIR1= ${WRKSRC}
DOC_FILES1= README README_JS RELEASE
DOCSRCDIR2= ${WRKSRC}/doc/misc
DOCSDIR2= ${DOCSDIR}/doc/misc
DOC_FILES2= DEBUGGER NOTES
.include <bsd.port.options.mk>
post-patch:
.if ! ${PORT_OPTIONS:MDOCS}
@${REINPLACE_CMD} -e '/^SUBDIRS =/s/apidoc//' ${WRKSRC}/doc/Makefile.in
.endif
post-install:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${DOC_FILES1:S|^|${DOCSRCDIR1}/|} ${STAGEDIR}${DOCSDIR}
@${MKDIR} ${STAGEDIR}${DOCSDIR2}
${INSTALL_DATA} ${DOC_FILES2:S|^|${DOCSRCDIR2}/|} ${STAGEDIR}${DOCSDIR2}
.include <bsd.port.mk>