diff options
author | Tijl Coosemans <tijl@FreeBSD.org> | 2014-04-23 13:25:16 +0000 |
---|---|---|
committer | Tijl Coosemans <tijl@FreeBSD.org> | 2014-04-23 13:25:16 +0000 |
commit | aad09bc5e23eb75a7a865a8b0002fbc6e13d4659 (patch) | |
tree | 69c07cdc4812f0f8be0cc44c38513f540c058778 /devel/varconf/Makefile | |
parent | 5c818b158c5b9479669f8322b4da8c48f5c30ef9 (diff) |
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)
Notes
Notes:
svn path=/head/; revision=351936
Diffstat (limited to 'devel/varconf/Makefile')
-rw-r--r-- | devel/varconf/Makefile | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/devel/varconf/Makefile b/devel/varconf/Makefile index f04f728408b4..6ba495efdd5b 100644 --- a/devel/varconf/Makefile +++ b/devel/varconf/Makefile @@ -3,7 +3,7 @@ PORTNAME= varconf PORTVERSION= 1.0.1 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel MASTER_SITES= SF/worldforge/${PORTNAME}%20%28config%20lib%29/${PORTVERSION} @@ -16,7 +16,7 @@ OPTIONS_DEFINE= DOCS GNU_CONFIGURE= yes USE_BZIP2= yes -USES= libtool pathfix pkgconfig compiler:c++11-lib +USES= compiler:c++11-lib libtool:keepla pathfix pkgconfig USE_LDCONFIG= yes INSTALL_TARGET= install-strip |