[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: reduced link interface: some link breakage possible
From:       Matthew Woehlke <mw_triad () users ! sourceforge ! net>
Date:       2008-12-15 23:22:05
Message-ID: gi6oqu$r5g$1 () ger ! gmane ! org
[Download RAW message or body]

Richard Moore wrote:
> On Mon, Dec 15, 2008 at 10:20 PM, Alexander Neundorf <neundorf@kde.org> wrote:
>>  2.) You are probably using symbols from some library which you don't link to
>> directly, but which was dragged in via one of the other libraries you link
>> to, and these "dragged in" libraries have now been mostly removed.
>> In this case, add these missing libraries explicitely to the
>> TARGET_LINK_LIBRARIES() command.
>> (because: less dependencies for packages, faster startup, some advantages in
>> keeping binary compatiblity).
> 
> How does this affect binary compatibility? It sounds like this might break it.

Why would it affect BC? As I understand, this means that:

- libfoo links with libbar
- libcow links with libfoo and uses functions from libbar
- this used to work, now it won't

Previously this would work because telling cmake you wanted libfoo would 
know that libfoo needs libbar, and would therefor implicitly link libcow 
with both libfoo and libbar. Now you need to specify that you are using 
libbar.

The only "some advantages in keeping BC" I can come up with is that 
libcow would previously expect libbar regardless if it used it or not, 
which means that if libfoo is rebuilt without libbar and libbar is 
dropped, you have a problem. In which case, this change doesn't break 
BC, and reduces the chances of a future library removal causing a BC break.

That said, it's entirely possible I missed something ;-).

-- 
Matthew
Please do not quote my e-mail address unobfuscated in message bodies.
-- 
Me: wtf?? "#warning This is temporary since Dec 2000". Seven-year 
"temporary" code?
Mathieu Chouinard: Sounds like the correct definition of temporary :)

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic