mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-22 00:35:15 +00:00
aad09bc5e2
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)
78 lines
2.3 KiB
Makefile
78 lines
2.3 KiB
Makefile
# Created by: Joe Marcus Clarke <marcus@FreeBSD.org>
|
|
# $FreeBSD$
|
|
# $MCom: ports/trunk/devel/libsoup/Makefile 19016 2014-03-08 09:05:27Z kwm $
|
|
|
|
PORTNAME= libsoup
|
|
PORTVERSION= 2.40.3
|
|
PORTREVISION?= 4
|
|
CATEGORIES= devel gnome
|
|
MASTER_SITES= GNOME
|
|
DIST_SUBDIR= gnome2
|
|
|
|
MAINTAINER= gnome@FreeBSD.org
|
|
COMMENT= SOAP (Simple Object Access Protocol) implementation in C
|
|
|
|
BUILD_DEPENDS= glib-networking>=2.29.18:${PORTSDIR}/net/glib-networking
|
|
LIB_DEPENDS= libgcrypt.so:${PORTSDIR}/security/libgcrypt
|
|
RUN_DEPENDS= glib-networking>=2.29.18:${PORTSDIR}/net/glib-networking
|
|
|
|
USE_XZ= yes
|
|
|
|
.if !defined(REFERENCE_PORT)
|
|
|
|
USES= gettext gmake libtool:keepla pathfix pkgconfig
|
|
USE_GNOME= gnomehier glib20 libxml2 referencehack intltool
|
|
USE_SQLITE= 3
|
|
USE_LDCONFIG= yes
|
|
GNU_CONFIGURE= yes
|
|
USE_PYTHON_BUILD= 2
|
|
CONFIGURE_ARGS= --disable-more-warnings
|
|
CPPFLAGS+= -I${LOCALBASE}/include
|
|
LDFLAGS+= -L${LOCALBASE}/lib
|
|
|
|
LIBVERSION= 1.5.0
|
|
PLIST_SUB= VERSION="2.4" LIBVERSION=${LIBVERSION}
|
|
|
|
.if defined(SOUP_SLAVE)
|
|
USE_SQLITE= 3
|
|
LIB_DEPENDS+= libsoup-2.4.so:${PORTSDIR}/devel/libsoup \
|
|
libgnome-keyring.so:${PORTSDIR}/security/libgnome-keyring
|
|
CONFIGURE_ARGS+=--with-gnome
|
|
.else
|
|
USE_GNOME+= introspection:build
|
|
CONFIGURE_ARGS+=--without-gnome
|
|
.endif
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's|-Wmissing-include-dirs||g' \
|
|
${WRKSRC}/configure
|
|
@${REINPLACE_CMD} -e 's|env python|env ${PYTHON_VERSION}|g' \
|
|
${WRKSRC}/libsoup/tld-parser.py
|
|
|
|
.if defined(SOUP_SLAVE)
|
|
do-build:
|
|
cd ${WRKSRC}/libsoup && ${GMAKE} libsoup-gnome-2.4.la
|
|
|
|
do-install:
|
|
${INSTALL_DATA} ${WRKSRC}/libsoup/.libs/libsoup-gnome-2.4.la ${STAGEDIR}${PREFIX}/lib/
|
|
${INSTALL_PROGRAM} ${WRKSRC}/libsoup/.libs/libsoup-gnome-2.4.so ${STAGEDIR}${PREFIX}/lib/
|
|
${INSTALL_PROGRAM} ${WRKSRC}/libsoup/.libs/libsoup-gnome-2.4.so.1 ${STAGEDIR}${PREFIX}/lib/
|
|
${INSTALL_PROGRAM} ${WRKSRC}/libsoup/.libs/libsoup-gnome-2.4.so.${LIBVERSION} ${STAGEDIR}${PREFIX}/lib/
|
|
cd ${WRKSRC}/libsoup && DESTDIR=${STAGEDIR} ${GMAKE} install-libsoupgnomeincludeHEADERS
|
|
.endif
|
|
|
|
post-install:
|
|
.if defined(SOUP_SLAVE)
|
|
@${MKDIR} ${STAGEDIR}${PREFIX}/libdata/pkgconfig
|
|
${INSTALL_DATA} ${WRKSRC}/libsoup-gnome-2.4.pc \
|
|
${STAGEDIR}${PREFIX}/libdata/pkgconfig/
|
|
.else
|
|
${INSTALL_DATA} ${WRKSRC}/libsoup/soup-connection.h \
|
|
${STAGEDIR}${PREFIX}/include/libsoup-2.4/libsoup/soup-connection.h
|
|
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libsoup*.so*
|
|
.endif
|
|
|
|
.include <bsd.port.mk>
|
|
|
|
.endif
|