1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-25 00:51:21 +00:00
freebsd-ports/devel/glibmm/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

41 lines
844 B
Makefile

# Created by: Adam Weinberger <adamw@FreeBSD.org>
# $FreeBSD$
# $MCom: ports/trunk/devel/glibmm/Makefile 18634 2013-07-26 10:42:35Z kwm $
PORTNAME= glibmm
PORTVERSION= 2.36.2
PORTREVISION?= 1
PORTEPOCH= 1
CATEGORIES= devel
MASTER_SITES= GNOME
DIST_SUBDIR= gnome2
MAINTAINER= gnome@FreeBSD.org
COMMENT= C++ interfaces for glib2
USE_XZ= yes
PLIST_SUB= VERSION="2.4" API_VERSION="2.4"
.if !defined(REFERENCE_PORT)
BUILD_DEPENDS= gm4:${PORTSDIR}/devel/m4
USES= gettext gmake libtool:keepla pathfix perl5 pkgconfig
USE_GNOME= glib20 libsigc++20
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
CONFIGURE_ARGS= --disable-documentation
post-patch:
.for d in docs examples tests
@${REINPLACE_CMD} -e '/^SUBDIRS = /s/${d}//' ${WRKSRC}/Makefile.in
.endfor
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib*.so.*
.include <bsd.port.mk>
.endif