aboutsummaryrefslogtreecommitdiff
path: root/CHANGES
diff options
context:
space:
mode:
authorTijl Coosemans <tijl@FreeBSD.org>2014-04-23 13:25:16 +0000
committerTijl Coosemans <tijl@FreeBSD.org>2014-04-23 13:25:16 +0000
commitaad09bc5e23eb75a7a865a8b0002fbc6e13d4659 (patch)
tree69c07cdc4812f0f8be0cc44c38513f540c058778 /CHANGES
parent5c818b158c5b9479669f8322b4da8c48f5c30ef9 (diff)
downloadports-aad09bc5e23eb75a7a865a8b0002fbc6e13d4659.tar.gz
ports-aad09bc5e23eb75a7a865a8b0002fbc6e13d4659.zip
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 'CHANGES')
-rw-r--r--CHANGES12
1 files changed, 12 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index a5a284175208..0740914744e2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,18 @@ in the release notes and/or placed into UPDATING.
All ports committers are allowed to commit to this file.
+20140423:
+AUTHOR: tijl@FreeBSD.org
+
+ The semantics of USES=libtool have changed. It now deletes .la libraries
+ from the staging area to reduce overlinking. USES=libtool:keepla can be
+ used in case they need to be kept. This form still modifies .la libraries
+ to remove references to other libraries to reduce overlinking.
+
+ Note that .la libraries have to kept around as long as there are .la
+ libraries from other ports that refer to them. Those ports need to use
+ some form of USES=libtool first such that those references are removed.
+
20140419:
AUTHOR: bdrewery@FreeBSD.org