freebsd-ports/x11-toolkits/vdk/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

38 lines
1.1 KiB
Makefile

# Created by: Yukihiro Nakai <nakai@FreeBSD.org>
# $FreeBSD$
PORTNAME= vdk
PORTVERSION= 2.5.1
PORTREVISION= 3
CATEGORIES= x11-toolkits
MASTER_SITES= SF/${PORTNAME}lib/VDK%20for%20both%20Linux%20and%20Windows%20%28this%20is%20the%20new%20version%29/VDKLIB%20%28C%2B%2B%20wrapper%20for%20GTK%2B%29
MAINTAINER= ports@FreeBSD.org
COMMENT= C++ wrapper for GTK+ toolkit
LICENSE= LGPL20
LICENSE_FILE= ${WRKSRC}/COPYING
USES= libtool:keepla pathfix pkgconfig
USE_GNOME= gtk20
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-opt=no --enable-doc-html=no --enable-testvdk=no
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
CPPFLAGS+= -I${LOCALBASE}/include ${PTHREAD_CFLAGS}
LDFLAGS+= -L${LOCALBASE}/lib -lgnuregex ${PTHREAD_LIBS}
post-patch:
@${REINPLACE_CMD} -e 's|CXXFLAGS="-s"|CXXFLAGS="$$CXXFLAGS"|g ; \
s|uname -rmpo|uname -rmp|g' ${WRKSRC}/configure
.for file in vdk-config.in vdk.pc.in
@${REINPLACE_CMD} -e 's|-lpthread|${LDFLAGS}|g' ${WRKSRC}/${file}
.endfor
.for file in FileDialog.h gtksourcebuffer.h gtksourcetag.h
@${REINPLACE_CMD} -e \
's|<.*regex\.h>|<gnu/regex.h>|g' ${WRKSRC}/include/vdk/${file}
.endfor
.include <bsd.port.mk>